From ec2e3cd3c43fd5886c7635c9c14fd08512d43572 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 15 Apr 2025 19:27:17 +0100 Subject: [PATCH] Alpha Release: 0.9.0 (#849) Signed-off-by: Pyritie Signed-off-by: TomPlop Co-authored-by: Xikaro Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com> Co-authored-by: Redeix Co-authored-by: TomPlop Co-authored-by: aidie8 Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com> Co-authored-by: Zleub --- .github/CONTRIBUTING.md | 13 +- .gitignore | 3 +- .gitmodules | 2 +- CHANGELOG.md | 13 + config/Advancedperipherals/general.toml | 6 + config/Advancedperipherals/peripherals.toml | 16 + config/Advancedperipherals/world.toml | 2 + config/InventoryHUD/curios.json | 2 +- config/additionalplacements-client.toml | 200 + config/additionalplacements-common.toml | 62 +- config/additionalplacements-startup.toml | 132 + config/advanced_ae-common.toml | 68 + config/ae2/common.json | 8 +- config/alekiships-client.toml | 4 + config/alltheleaks.json | 5 + config/badoptimizations.txt | 73 + config/betterfoliage-client.toml | 2 +- config/chalk-client.toml | 20 + config/chalk-common.toml | 33 + config/chunky/config.json | 8 + config/comforts-server.toml | 39 + config/craftpresence.json | 8 +- config/create-client.toml | 3 + config/create_connected-common.toml | 23 +- config/createaddition-common.toml | 18 +- config/decay_2012-client.toml | 21 + config/defaultoptions/keybindings.txt | 6 +- config/embeddium-fingerprint.json | 1 - config/embeddium-options.json | 5 +- config/emi.css | 29 +- config/endermanoverhaul.jsonc | 29 + config/entityculling.json | 7 +- config/everycomp-hazardous.properties | 3 +- config/expatternprovider-common.toml | 7 + .../singularities/aluminum.json | 10 - .../singularities/bronze.json | 10 - .../extendedcrafting/singularities/coal.json | 10 - .../singularities/copper.json | 10 - .../singularities/diamond.json | 10 - .../singularities/electrum.json | 10 - .../singularities/emerald.json | 10 - .../singularities/glowstone.json | 10 - .../extendedcrafting/singularities/gold.json | 10 - .../extendedcrafting/singularities/invar.json | 10 - .../extendedcrafting/singularities/iron.json | 10 - .../singularities/lapis_lazuli.json | 10 - .../extendedcrafting/singularities/lead.json | 10 - .../singularities/nickel.json | 10 - .../singularities/platinum.json | 10 - .../singularities/redstone.json | 10 - .../singularities/silver.json | 10 - .../extendedcrafting/singularities/steel.json | 10 - .../extendedcrafting/singularities/tin.json | 10 - config/fallingtrees_common.json | 198 +- .../fancymenu/customization/gui_main_menu.txt | 805 +- config/fancymenu/options.txt | 7 +- config/fastbench.cfg | 19 + config/flywheel-client.toml | 2 +- config/forgivingworld.json | 65 + config/freecam.toml | 46 + config/ftbquests/chapter_groups.snbt | 3 + config/ftbquests/data.snbt | 21 + config/ftbquests/quests/chapter_groups.snbt | 8 +- config/ftbquests/quests/chapters/ae2.snbt | 4 +- config/ftbquests/quests/chapters/cc.snbt | 4 +- config/ftbquests/quests/chapters/create.snbt | 588 -- .../quests/chapters/ev__extreme_voltage.snbt | 4 +- .../quests/chapters/hv__high_voltage.snbt | 4 +- .../quests/chapters/iv__insane_voltage.snbt | 4 +- .../chapters/luv__ludicrous_voltage.snbt | 6 +- .../quests/chapters/lv__low_voltage.snbt | 1822 ++--- .../quests/chapters/multiblock_dilemma.snbt | 18 +- .../quests/chapters/mv__medium_voltage.snbt | 6 +- .../quests/chapters/primitive_age.snbt | 5371 ------------- .../quests/chapters/progression.snbt | 56 +- .../quests/chapters/questsmetallurgy.snbt | 1320 ++++ .../quests/chapters/questssteam_age.snbt | 1645 ++++ .../quests/chapters/questsstoneage.snbt | 2230 ++++++ .../quests/chapters/queststfc_tips.snbt | 4531 +++++++++++ .../ftbquests/quests/chapters/queststfg.snbt | 119 + .../ftbquests/quests/chapters/steam_age.snbt | 845 --- .../quests/chapters/uv__ultimate_voltage.snbt | 4 +- .../chapters/zpm__zero_point_module.snbt | 4 +- config/ftbquests/quests/data.snbt | 2 +- .../quests/reward_tables/bronze_age.snbt | 10 - .../quests/reward_tables/coke_oven.snbt | 11 - .../quests/reward_tables/lv_lootbox.snbt | 19 - config/gcyr.yaml | 69 - config/gtceu.yaml | 313 +- config/hangglider-server.toml | 10 +- config/immediatelyfast.json | 2 - config/jade/plugins.json | 34 +- config/jade/sort-order.json | 26 + config/jei/jei-client.ini | 163 +- config/jei/jei-colors.ini | 2 +- config/jei/jei-debug.ini | 19 +- config/jei/jei-mod-id-format.ini | 2 +- config/jei/recipe-category-sort-order.ini | 230 +- config/lmft.json | 3 + config/lootr-client.toml | 5 + config/lootr-common.toml | 85 + config/measurements-client.toml | 19 + config/modernfix-mixins.properties | 7 +- config/packetfixer.properties | 5 +- config/particle_core_config.toml | 7 + .../particle_core_disabled_optimizations.json | 12 + config/particular-common.toml | 103 + config/playerrevive.json | 6 +- config/sodiumdynamiclights-client.toml | 20 + config/sodiumextras-client.toml | 131 + config/sophisticatedcore-common.toml | 2 +- .../allowed_sounds.properties | 1868 +++++ .../occlusion.properties | 219 + .../reflectivity.properties | 213 + .../soundphysics.properties | 94 + config/tfcambiental-common.toml | 3 + config/tfcdesirepaths-common.toml | 24 - config/tfcgenviewer.toml | 24 + config/vintageimprovements-client.toml | 54 + config/visual_workbench.json | 276 + config/visualworkbench-client.toml | 7 + config/xaerominimap.txt | 133 + config/xaerominimap_entities.json | 212 + config/xaeroworldmap.txt | 55 + defaultconfigs/create-server.toml | 132 +- defaultconfigs/create_connected-server.toml | 54 + defaultconfigs/createhorsepower-server.toml | 34 + defaultconfigs/greate-server.toml | 399 + .../openpartiesandclaims-server.toml | 2 +- .../vintageimprovements-server.toml | 126 + icon.png | Bin 0 -> 2441 bytes kubejs/.README IF TRANSLATING | 9 + .../assets/afc/textures/block/syrup_tap.png | Bin 0 -> 4696 bytes kubejs/assets/afc/textures/item/tree_tap.png | Bin 0 -> 4384 bytes kubejs/assets/beneath/lang/en_us.json | 15 + .../beneath/textures/block/hellbricks.png | Bin 0 -> 1659 bytes .../textures/block/nether_cursecoal.png | Bin 0 -> 1813 bytes .../assets/beneath/textures/block/sulfur0.png | Bin 0 -> 1855 bytes .../assets/beneath/textures/block/sulfur1.png | Bin 0 -> 1834 bytes .../assets/beneath/textures/block/sulfur2.png | Bin 0 -> 1929 bytes .../assets/beneath/textures/block/sulfur3.png | Bin 0 -> 1822 bytes .../assets/constructionwand/lang/en_us.json | 7 + .../textures/item/diamond_wand.png | Bin 0 -> 364 bytes .../textures/item/infinity_wand.png | Bin 0 -> 406 bytes .../textures/item/iron_wand.png | Bin 0 -> 376 bytes .../textures/item/stone_wand.png | Bin 0 -> 374 bytes kubejs/assets/create/lang/en_us.json | 107 +- kubejs/assets/create/lang/ru_ru.json | 40 +- kubejs/assets/create/lang/uk_ua.json | 40 +- .../textures/block/netherite_backtank.png | Bin 0 -> 1179 bytes .../textures/item/netherite_diving_boots.png | Bin 0 -> 354 bytes .../textures/item/netherite_diving_helmet.png | Bin 0 -> 397 bytes .../models/armor/netherite_diving_arm.png | Bin 0 -> 794 bytes .../models/armor/netherite_diving_layer_1.png | Bin 0 -> 1667 bytes .../models/armor/netherite_diving_layer_2.png | Bin 0 -> 989 bytes kubejs/assets/createdeco/lang/en_us.json | 70 + .../block/netherite_coinstack_bottom.png | Bin 0 -> 206 bytes .../block/netherite_coinstack_side.png | Bin 0 -> 308 bytes .../block/netherite_coinstack_top.png | Bin 0 -> 343 bytes .../textures/item/netherite_coin.png | Bin 0 -> 304 bytes .../textures/item/netherite_coinstack.png | Bin 0 -> 343 bytes .../category/properties/ae2_attunement.json | 1 + .../category/properties/ae2_condenser.json | 1 + .../emi/category/properties/ae2_entropy.json | 1 + .../properties/ae2_item_transformation.json | 1 + .../category/properties/create_deploying.json | 1 + .../category/properties/create_draining.json | 1 + .../properties/create_item_application.json | 1 + .../create_mechanical_crafting.json | 1 + .../properties/create_sequenced_assembly.json | 1 + .../properties/create_spout_filling.json | 1 + .../properties/createaddition_rolling.json | 1 + .../domum_ornamentum_architects_cutter.json | 1 + .../emi/category/properties/emi_info.json | 1 + .../emi/category/properties/emi_tag.json | 1 + .../exposure_photograph_printing.json | 1 + .../exposure_photograph_stacking.json | 1 + .../properties/firmalife_bowl_pot.json | 1 + .../category/properties/firmalife_drying.json | 1 + .../properties/firmalife_mixing_bowl.json | 1 + .../category/properties/firmalife_oven.json | 1 + .../properties/firmalife_smoking.json | 1 + .../properties/firmalife_stomping.json | 1 + .../category/properties/firmalife_vat.json | 1 + .../properties/framedblocks_framing_saw.json | 1 + .../category/properties/ftbquests_quest.json | 1 + .../properties/greate_block_cutting.json | 1 + .../category/properties/greate_crushing.json | 1 + .../properties/greate_fan_washing.json | 1 + .../category/properties/greate_milling.json | 1 + .../category/properties/greate_mixing.json | 1 + .../category/properties/greate_packing.json | 1 + .../category/properties/greate_sawing.json | 1 + .../properties/gtceu_air_scrubber.json | 1 + .../properties/gtceu_alloy_blast_smelter.json | 1 + .../properties/gtceu_alloy_smelter.json | 1 + .../properties/gtceu_arc_furnace.json | 1 + .../gtceu_arc_furnace_recycling.json | 1 + .../category/properties/gtceu_assembler.json | 1 + .../properties/gtceu_assembly_line.json | 1 + .../category/properties/gtceu_autoclave.json | 1 + .../gtceu_bedrock_fluid_diagram.json | 1 + .../emi/category/properties/gtceu_bender.json | 1 + .../category/properties/gtceu_brewery.json | 1 + .../emi/category/properties/gtceu_canner.json | 1 + .../category/properties/gtceu_centrifuge.json | 1 + .../category/properties/gtceu_chem_dyes.json | 1 + .../properties/gtceu_chemical_bath.json | 1 + .../properties/gtceu_chemical_reactor.json | 1 + .../properties/gtceu_circuit_assembler.json | 1 + .../category/properties/gtceu_coke_oven.json | 1 + .../gtceu_combustion_generator.json | 1 + .../category/properties/gtceu_compressor.json | 1 + .../category/properties/gtceu_cracker.json | 1 + .../emi/category/properties/gtceu_cutter.json | 1 + .../properties/gtceu_distillation_tower.json | 1 + .../category/properties/gtceu_distillery.json | 1 + .../gtceu_electric_blast_furnace.json | 1 + .../properties/gtceu_electrolyzer.json | 1 + .../gtceu_electromagnetic_separator.json | 1 + .../category/properties/gtceu_end_dome.json | 1 + .../category/properties/gtceu_ender_dome.json | 1 + .../properties/gtceu_evaporation.json | 1 + .../category/properties/gtceu_extractor.json | 1 + .../properties/gtceu_extractor_recycling.json | 1 + .../category/properties/gtceu_extruder.json | 1 + .../category/properties/gtceu_fermenter.json | 1 + .../properties/gtceu_fluid_heater.json | 1 + .../properties/gtceu_fluid_solidifer.json | 1 + .../properties/gtceu_fluid_solidifier.json | 1 + .../properties/gtceu_forge_hammer.json | 1 + .../properties/gtceu_forming_press.json | 1 + .../properties/gtceu_fusion_reactor.json | 1 + .../properties/gtceu_gas_collector.json | 1 + .../properties/gtceu_gas_turbine.json | 1 + .../category/properties/gtceu_greenhouse.json | 1 + .../gtceu_implosion_compressor.json | 1 + .../properties/gtceu_ingot_molding.json | 1 + .../properties/gtceu_large_boiler.json | 1 + .../gtceu_large_chemical_reactor.json | 1 + .../properties/gtceu_laser_engraver.json | 1 + .../emi/category/properties/gtceu_lathe.json | 1 + .../category/properties/gtceu_macerator.json | 1 + .../properties/gtceu_macerator_recycling.json | 1 + .../emi/category/properties/gtceu_mixer.json | 1 + .../properties/gtceu_multiblock_info.json | 1 + .../properties/gtceu_nether_dome.json | 1 + .../properties/gtceu_ore_bathing.json | 1 + .../properties/gtceu_ore_crushing.json | 1 + .../properties/gtceu_ore_forging.json | 1 + .../gtceu_ore_processing_diagram.json | 1 + .../category/properties/gtceu_ore_washer.json | 1 + .../emi/category/properties/gtceu_packer.json | 1 + .../properties/gtceu_plasma_generator.json | 1 + .../category/properties/gtceu_polarizer.json | 1 + .../properties/gtceu_programmed_circuit.json | 1 + .../properties/gtceu_pyrolyse_oven.json | 1 + .../properties/gtceu_pyrolyze_oven.json | 1 + .../properties/gtceu_research_station.json | 1 + .../properties/gtceu_rock_breaker.json | 1 + .../category/properties/gtceu_scanner.json | 1 + .../emi/category/properties/gtceu_sifter.json | 1 + .../properties/gtceu_steam_bloomery.json | 1 + .../properties/gtceu_steam_boiler.json | 1 + .../properties/gtceu_steam_turbine.json | 1 + .../properties/gtceu_thermal_centrifuge.json | 1 + .../properties/gtceu_vacuum_freezer.json | 1 + .../properties/gtceu_wire_coating.json | 1 + .../category/properties/gtceu_wiremill.json | 1 + .../properties/minecraft_crafting.json | 1 + .../properties/minecraft_furnace.json | 1 + .../properties/minecraft_smelting.json | 1 + .../properties/minecraft_smithing.json | 1 + .../category/properties/rnr_block_mod.json | 1 + .../emi/category/properties/rnr_mattock.json | 1 + .../emi/category/properties/tfc_alloying.json | 1 + .../emi/category/properties/tfc_anvil.json | 1 + .../properties/tfc_blast_furnace.json | 1 + .../emi/category/properties/tfc_bloomery.json | 1 + .../emi/category/properties/tfc_casting.json | 1 + .../emi/category/properties/tfc_chisel.json | 1 + .../properties/tfc_clay_knapping.json | 1 + .../properties/tfc_fire_clay_knapping.json | 1 + .../category/properties/tfc_glassworking.json | 1 + .../properties/tfc_goat_horn_knapping.json | 1 + .../emi/category/properties/tfc_heating.json | 1 + .../properties/tfc_instant_barrel.json | 1 + .../properties/tfc_instant_fluid_barrel.json | 1 + .../emi/category/properties/tfc_jam_pot.json | 1 + .../properties/tfc_leather_knapping.json | 1 + .../emi/category/properties/tfc_loom.json | 1 + .../properties/tfc_pumpkin_knapping.json | 1 + .../emi/category/properties/tfc_quern.json | 1 + .../properties/tfc_raw_hide_knapping.json | 1 + .../properties/tfc_rock_knapping.json | 1 + .../emi/category/properties/tfc_scraping.json | 1 + .../properties/tfc_sealed_barrel.json | 1 + .../emi/category/properties/tfc_sewing.json | 1 + .../category/properties/tfc_simple_pot.json | 1 + .../emi/category/properties/tfc_soup_pot.json | 1 + .../emi/category/properties/tfc_welding.json | 1 + .../vintageimprovements_centrifugation.json | 1 + .../vintageimprovements_coiling.json | 1 + .../vintageimprovements_curving.json | 1 + .../vintageimprovements_hammering.json | 1 + .../vintageimprovements_laser_cutting.json | 1 + .../vintageimprovements_pressurizing.json | 1 + .../vintageimprovements_turning.json | 1 + .../vintageimprovements_vacuumizing.json | 1 + .../vintageimprovements_vibrating.json | 1 + kubejs/assets/emi/index/stacks/hidden.json | 5 + .../assets/emi/recipe/filters/categories.json | 36 + .../assets/endermanoverhaul/lang/en_us.json | 25 + .../entity/dark_oak/dark_oak_enderman.png | Bin 0 -> 2746 bytes kubejs/assets/firmaciv/lang/en_us.json | 4 + .../firmaciv/textures/item/copper_bolt.png | Bin 0 -> 243 bytes kubejs/assets/firmalife/lang/en_us.json | 40 +- kubejs/assets/firmalife/lang/ru_ru.json | 22 +- kubejs/assets/greate/lang/en_us.json | 45 + kubejs/assets/gtceu/lang/en_us.json | 151 +- kubejs/assets/gtceu/lang/ru_ru.json | 51 +- .../material_sets/bright/ingot_double.json | 8 + .../material_sets/diamond/poor_raw_ore.json | 7 + .../item/material_sets/diamond/raw_ore.json | 7 + .../material_sets/diamond/rich_raw_ore.json | 7 + .../item/material_sets/dull/ingot_double.json | 8 + .../item/material_sets/dull/poor_raw_ore.json | 7 + .../item/material_sets/dull/raw_ore.json | 7 + .../item/material_sets/dull/rich_raw_ore.json | 7 + .../material_sets/dull/tool_head_axe.json | 6 + .../dull/tool_head_butchery_knife.json | 6 + .../material_sets/dull/tool_head_chisel.json | 6 + .../material_sets/dull/tool_head_file.json | 6 + .../material_sets/dull/tool_head_hammer.json | 6 + .../material_sets/dull/tool_head_hoe.json | 6 + .../material_sets/dull/tool_head_javelin.json | 6 + .../material_sets/dull/tool_head_knife.json | 6 + .../material_sets/dull/tool_head_mace.json | 6 + .../dull/tool_head_mining_hammer.json | 6 + .../material_sets/dull/tool_head_pickaxe.json | 6 + .../material_sets/dull/tool_head_propick.json | 6 + .../material_sets/dull/tool_head_saw.json | 6 + .../material_sets/dull/tool_head_scythe.json | 6 + .../material_sets/dull/tool_head_shovel.json | 6 + .../material_sets/dull/tool_head_spade.json | 6 + .../material_sets/dull/tool_head_sword.json | 6 + .../item/material_sets/fine/poor_raw_ore.json | 7 + .../item/material_sets/fine/raw_ore.json | 7 + .../item/material_sets/fine/rich_raw_ore.json | 7 + .../material_sets/metallic/ingot_double.json | 8 + .../material_sets/metallic/poor_raw_ore.json | 7 + .../item/material_sets/metallic/raw_ore.json | 7 + .../material_sets/metallic/rich_raw_ore.json | 7 + .../item/material_sets/ruby/poor_raw_ore.json | 7 + .../item/material_sets/ruby/raw_ore.json | 7 + .../item/material_sets/ruby/rich_raw_ore.json | 7 + .../material_sets/shiny/ingot_double.json | 8 + .../material_sets/shiny/poor_raw_ore.json | 7 + .../item/material_sets/shiny/raw_ore.json | 7 + .../material_sets/shiny/rich_raw_ore.json | 7 + .../block/material_sets/diamond/ore.png | Bin 0 -> 241 bytes .../material_sets/diamond/ore_emissive.png | Bin 0 -> 241 bytes .../diamond/ore_emissive_layer2.png | Bin 0 -> 222 bytes .../material_sets/diamond/ore_layer2.png | Bin 0 -> 222 bytes .../textures/block/material_sets/dull/ore.png | Bin 0 -> 249 bytes .../block/material_sets/dull/ore_emissive.png | Bin 0 -> 249 bytes .../dull/ore_emissive_layer2.png | Bin 0 -> 417 bytes .../block/material_sets/dull/ore_layer2.png | Bin 0 -> 417 bytes .../dull/raw_ore_block_secondary.png | Bin 0 -> 731 bytes .../textures/block/material_sets/fine/ore.png | Bin 0 -> 256 bytes .../block/material_sets/fine/ore_emissive.png | Bin 0 -> 256 bytes .../fine/ore_emissive_layer2.png | Bin 0 -> 380 bytes .../block/material_sets/fine/ore_layer2.png | Bin 0 -> 380 bytes .../block/material_sets/flint/ore.png | Bin 0 -> 463 bytes .../material_sets/flint/ore_emissive.png | Bin 0 -> 463 bytes .../flint/ore_emissive_layer2.png | Bin 0 -> 384 bytes .../block/material_sets/flint/ore_layer2.png | Bin 0 -> 384 bytes .../block/material_sets/lapis/ore.png | Bin 0 -> 227 bytes .../material_sets/lapis/ore_emissive.png | Bin 0 -> 227 bytes .../lapis/ore_emissive_layer2.png | Bin 0 -> 300 bytes .../block/material_sets/lapis/ore_layer2.png | Bin 0 -> 300 bytes .../block/material_sets/lignite/ore.png | Bin 0 -> 432 bytes .../material_sets/lignite/ore_emissive.png | Bin 0 -> 432 bytes .../lignite/ore_emissive_layer2.png | Bin 0 -> 354 bytes .../material_sets/lignite/ore_layer2.png | Bin 0 -> 354 bytes .../lignite/raw_ore_block_secondary.png | Bin 0 -> 922 bytes .../metallic/raw_ore_block_secondary.png | Bin 0 -> 595 bytes .../block/material_sets/nether_quartz/ore.png | Bin 0 -> 225 bytes .../nether_quartz/ore_emissive.png | Bin 0 -> 225 bytes .../nether_quartz/ore_emissive_layer2.png | Bin 0 -> 242 bytes .../nether_quartz/ore_layer2.png | Bin 0 -> 242 bytes .../block/material_sets/quartz/ore.png | Bin 0 -> 330 bytes .../material_sets/quartz/ore_emissive.png | Bin 0 -> 330 bytes .../quartz/ore_emissive_layer2.png | Bin 0 -> 263 bytes .../block/material_sets/quartz/ore_layer2.png | Bin 0 -> 263 bytes .../block/material_sets/rough/ore.png | Bin 0 -> 470 bytes .../material_sets/rough/ore_emissive.png | Bin 0 -> 470 bytes .../rough/ore_emissive_layer2.png | Bin 0 -> 382 bytes .../block/material_sets/rough/ore_layer2.png | Bin 0 -> 382 bytes .../rough/raw_ore_block_secondary.png | Bin 0 -> 1033 bytes .../textures/block/material_sets/ruby/ore.png | Bin 0 -> 448 bytes .../block/material_sets/ruby/ore_emissive.png | Bin 0 -> 448 bytes .../ruby/ore_emissive_layer2.png | Bin 0 -> 353 bytes .../block/material_sets/ruby/ore_layer2.png | Bin 0 -> 353 bytes .../block/material_sets/tfc_amethyst/ore.png | Bin 0 -> 286 bytes .../tfc_amethyst/ore_emissive.png | Bin 0 -> 286 bytes .../tfc_amethyst/ore_emissive_layer2.png | Bin 0 -> 272 bytes .../material_sets/tfc_amethyst/ore_layer2.png | Bin 0 -> 272 bytes .../block/material_sets/tfc_bismuth/ore.png | Bin 0 -> 1821 bytes .../tfc_bismuth/ore_emissive.png | Bin 0 -> 1821 bytes .../tfc_bismuth/ore_emissive_layer2.png | Bin 0 -> 439 bytes .../material_sets/tfc_bismuth/ore_layer2.png | Bin 0 -> 439 bytes .../block/material_sets/tfc_borax/ore.png | Bin 0 -> 1657 bytes .../material_sets/tfc_borax/ore_emissive.png | Bin 0 -> 1657 bytes .../tfc_borax/ore_emissive_layer2.png | Bin 0 -> 267 bytes .../material_sets/tfc_borax/ore_layer2.png | Bin 0 -> 267 bytes .../material_sets/tfc_cassiterite/ore.png | Bin 0 -> 1816 bytes .../tfc_cassiterite/ore_emissive.png | Bin 0 -> 1816 bytes .../tfc_cassiterite/ore_emissive_layer2.png | Bin 0 -> 436 bytes .../tfc_cassiterite/ore_layer2.png | Bin 0 -> 436 bytes .../block/material_sets/tfc_chromite/ore.png | Bin 0 -> 2582 bytes .../tfc_chromite/ore_emissive.png | Bin 0 -> 2582 bytes .../tfc_chromite/ore_emissive_layer2.png | Bin 0 -> 303 bytes .../material_sets/tfc_chromite/ore_layer2.png | Bin 0 -> 303 bytes .../block/material_sets/tfc_copper/ore.png | Bin 0 -> 1776 bytes .../material_sets/tfc_copper/ore_emissive.png | Bin 0 -> 1776 bytes .../tfc_copper/ore_emissive_layer2.png | Bin 0 -> 401 bytes .../material_sets/tfc_copper/ore_layer2.png | Bin 0 -> 401 bytes .../block/material_sets/tfc_diamond/ore.png | Bin 0 -> 1681 bytes .../tfc_diamond/ore_emissive.png | Bin 0 -> 1681 bytes .../tfc_diamond/ore_emissive_layer2.png | Bin 0 -> 205 bytes .../material_sets/tfc_diamond/ore_layer2.png | Bin 0 -> 205 bytes .../block/material_sets/tfc_emerald/ore.png | Bin 0 -> 1550 bytes .../tfc_emerald/ore_emissive.png | Bin 0 -> 1550 bytes .../tfc_emerald/ore_emissive_layer2.png | Bin 0 -> 241 bytes .../material_sets/tfc_emerald/ore_layer2.png | Bin 0 -> 241 bytes .../material_sets/tfc_garnierite/ore.png | Bin 0 -> 1689 bytes .../tfc_garnierite/ore_emissive.png | Bin 0 -> 1689 bytes .../tfc_garnierite/ore_emissive_layer2.png | Bin 0 -> 396 bytes .../tfc_garnierite/ore_layer2.png | Bin 0 -> 396 bytes .../block/material_sets/tfc_gold/ore.png | Bin 0 -> 2050 bytes .../material_sets/tfc_gold/ore_emissive.png | Bin 0 -> 2050 bytes .../tfc_gold/ore_emissive_layer2.png | Bin 0 -> 414 bytes .../material_sets/tfc_gold/ore_layer2.png | Bin 0 -> 414 bytes .../block/material_sets/tfc_graphite/ore.png | Bin 0 -> 1728 bytes .../tfc_graphite/ore_emissive.png | Bin 0 -> 1728 bytes .../tfc_graphite/ore_emissive_layer2.png | Bin 0 -> 314 bytes .../material_sets/tfc_graphite/ore_layer2.png | Bin 0 -> 314 bytes .../block/material_sets/tfc_gypsum/ore.png | Bin 0 -> 1674 bytes .../material_sets/tfc_gypsum/ore_emissive.png | Bin 0 -> 1674 bytes .../tfc_gypsum/ore_emissive_layer2.png | Bin 0 -> 351 bytes .../material_sets/tfc_gypsum/ore_layer2.png | Bin 0 -> 351 bytes .../block/material_sets/tfc_hematite/ore.png | Bin 0 -> 2006 bytes .../tfc_hematite/ore_emissive.png | Bin 0 -> 2006 bytes .../tfc_hematite/ore_emissive_layer2.png | Bin 0 -> 446 bytes .../material_sets/tfc_hematite/ore_layer2.png | Bin 0 -> 446 bytes .../block/material_sets/tfc_lapis/ore.png | Bin 0 -> 2583 bytes .../material_sets/tfc_lapis/ore_emissive.png | Bin 0 -> 2583 bytes .../tfc_lapis/ore_emissive_layer2.png | Bin 0 -> 340 bytes .../material_sets/tfc_lapis/ore_layer2.png | Bin 0 -> 340 bytes .../block/material_sets/tfc_limonite/ore.png | Bin 0 -> 1772 bytes .../tfc_limonite/ore_emissive.png | Bin 0 -> 1772 bytes .../tfc_limonite/ore_emissive_layer2.png | Bin 0 -> 380 bytes .../material_sets/tfc_limonite/ore_layer2.png | Bin 0 -> 380 bytes .../block/material_sets/tfc_magnetite/ore.png | Bin 0 -> 1927 bytes .../tfc_magnetite/ore_emissive.png | Bin 0 -> 1927 bytes .../tfc_magnetite/ore_emissive_layer2.png | Bin 0 -> 436 bytes .../tfc_magnetite/ore_layer2.png | Bin 0 -> 436 bytes .../block/material_sets/tfc_malachite/ore.png | Bin 0 -> 597 bytes .../tfc_malachite/ore_emissive.png | Bin 0 -> 597 bytes .../tfc_malachite/ore_emissive_layer2.png | Bin 0 -> 437 bytes .../tfc_malachite/ore_layer2.png | Bin 0 -> 437 bytes .../block/material_sets/tfc_opal/ore.png | Bin 0 -> 452 bytes .../material_sets/tfc_opal/ore_emissive.png | Bin 0 -> 452 bytes .../tfc_opal/ore_emissive_layer2.png | Bin 0 -> 371 bytes .../material_sets/tfc_opal/ore_layer2.png | Bin 0 -> 371 bytes .../block/material_sets/tfc_pyrite/ore.png | Bin 0 -> 603 bytes .../material_sets/tfc_pyrite/ore_emissive.png | Bin 0 -> 603 bytes .../tfc_pyrite/ore_emissive_layer2.png | Bin 0 -> 492 bytes .../material_sets/tfc_pyrite/ore_layer2.png | Bin 0 -> 492 bytes .../block/material_sets/tfc_redstone/ore.png | Bin 0 -> 279 bytes .../tfc_redstone/ore_emissive.png | Bin 0 -> 279 bytes .../tfc_redstone/ore_emissive_layer2.png | Bin 0 -> 301 bytes .../material_sets/tfc_redstone/ore_layer2.png | Bin 0 -> 301 bytes .../block/material_sets/tfc_ruby/ore.png | Bin 0 -> 426 bytes .../material_sets/tfc_ruby/ore_emissive.png | Bin 0 -> 426 bytes .../tfc_ruby/ore_emissive_layer2.png | Bin 0 -> 369 bytes .../material_sets/tfc_ruby/ore_layer2.png | Bin 0 -> 369 bytes .../block/material_sets/tfc_saltpeter/ore.png | Bin 0 -> 1668 bytes .../tfc_saltpeter/ore_emissive.png | Bin 0 -> 1668 bytes .../tfc_saltpeter/ore_emissive_layer2.png | Bin 0 -> 401 bytes .../tfc_saltpeter/ore_layer2.png | Bin 0 -> 401 bytes .../block/material_sets/tfc_sapphire/ore.png | Bin 0 -> 173 bytes .../tfc_sapphire/ore_emissive.png | Bin 0 -> 173 bytes .../tfc_sapphire/ore_emissive_layer2.png | Bin 0 -> 164 bytes .../material_sets/tfc_sapphire/ore_layer2.png | Bin 0 -> 164 bytes .../block/material_sets/tfc_silver/ore.png | Bin 0 -> 382 bytes .../material_sets/tfc_silver/ore_emissive.png | Bin 0 -> 382 bytes .../tfc_silver/ore_emissive_layer2.png | Bin 0 -> 345 bytes .../material_sets/tfc_silver/ore_layer2.png | Bin 0 -> 345 bytes .../material_sets/tfc_sphalerite/ore.png | Bin 0 -> 1842 bytes .../tfc_sphalerite/ore_emissive.png | Bin 0 -> 1842 bytes .../tfc_sphalerite/ore_emissive_layer2.png | Bin 0 -> 469 bytes .../tfc_sphalerite/ore_layer2.png | Bin 0 -> 469 bytes .../block/material_sets/tfc_sulfur/ore.png | Bin 0 -> 295 bytes .../material_sets/tfc_sulfur/ore_emissive.png | Bin 0 -> 295 bytes .../tfc_sulfur/ore_emissive_layer2.png | Bin 0 -> 243 bytes .../material_sets/tfc_sulfur/ore_layer2.png | Bin 0 -> 243 bytes .../material_sets/tfc_tetrahedrite/ore.png | Bin 0 -> 2032 bytes .../tfc_tetrahedrite/ore_emissive.png | Bin 0 -> 2032 bytes .../tfc_tetrahedrite/ore_emissive_layer2.png | Bin 0 -> 462 bytes .../tfc_tetrahedrite/ore_layer2.png | Bin 0 -> 462 bytes .../block/material_sets/tfc_topaz/ore.png | Bin 0 -> 290 bytes .../material_sets/tfc_topaz/ore_emissive.png | Bin 0 -> 290 bytes .../tfc_topaz/ore_emissive_layer2.png | Bin 0 -> 262 bytes .../material_sets/tfc_topaz/ore_layer2.png | Bin 0 -> 262 bytes .../material_sets/diamond/poor_raw_ore.png | Bin 0 -> 2423 bytes .../diamond/poor_raw_ore_secondary.png | Bin 0 -> 348 bytes .../item/material_sets/diamond/raw_ore.png | Bin 0 -> 2460 bytes .../diamond/raw_ore_secondary.png | Bin 0 -> 414 bytes .../material_sets/diamond/rich_raw_ore.png | Bin 0 -> 553 bytes .../diamond/rich_raw_ore_secondary.png | Bin 0 -> 412 bytes .../item/material_sets/dull/poor_raw_ore.png | Bin 0 -> 2378 bytes .../dull/poor_raw_ore_secondary.png | Bin 0 -> 294 bytes .../item/material_sets/dull/raw_ore.png | Bin 0 -> 2402 bytes .../material_sets/dull/raw_ore_secondary.png | Bin 0 -> 323 bytes .../item/material_sets/dull/rich_raw_ore.png | Bin 0 -> 2420 bytes .../dull/rich_raw_ore_secondary.png | Bin 0 -> 353 bytes .../item/material_sets/dull/tool_head_axe.png | Bin 0 -> 1976 bytes .../dull/tool_head_butchery_knife.png | Bin 0 -> 234 bytes .../material_sets/dull/tool_head_chisel.png | Bin 0 -> 2658 bytes .../material_sets/dull/tool_head_file.png | Bin 0 -> 2015 bytes .../material_sets/dull/tool_head_hammer.png | Bin 0 -> 2030 bytes .../item/material_sets/dull/tool_head_hoe.png | Bin 0 -> 1958 bytes .../material_sets/dull/tool_head_javelin.png | Bin 0 -> 2683 bytes .../material_sets/dull/tool_head_knife.png | Bin 0 -> 175 bytes .../material_sets/dull/tool_head_mace.png | Bin 0 -> 2654 bytes .../dull/tool_head_mining_hammer.png | Bin 0 -> 247 bytes .../material_sets/dull/tool_head_pickaxe.png | Bin 0 -> 1974 bytes .../material_sets/dull/tool_head_propick.png | Bin 0 -> 2640 bytes .../item/material_sets/dull/tool_head_saw.png | Bin 0 -> 1976 bytes .../material_sets/dull/tool_head_scythe.png | Bin 0 -> 1987 bytes .../material_sets/dull/tool_head_shovel.png | Bin 0 -> 1952 bytes .../material_sets/dull/tool_head_spade.png | Bin 0 -> 195 bytes .../material_sets/dull/tool_head_sword.png | Bin 0 -> 233 bytes .../item/material_sets/fine/poor_raw_ore.png | Bin 0 -> 2380 bytes .../fine/poor_raw_ore_secondary.png | Bin 0 -> 295 bytes .../item/material_sets/fine/raw_ore.png | Bin 0 -> 2425 bytes .../material_sets/fine/raw_ore_secondary.png | Bin 0 -> 351 bytes .../item/material_sets/fine/rich_raw_ore.png | Bin 0 -> 2446 bytes .../fine/rich_raw_ore_secondary.png | Bin 0 -> 385 bytes .../material_sets/metallic/poor_raw_ore.png | Bin 0 -> 2406 bytes .../metallic/poor_raw_ore_secondary.png | Bin 0 -> 325 bytes .../item/material_sets/metallic/raw_ore.png | Bin 0 -> 2421 bytes .../metallic/raw_ore_secondary.png | Bin 0 -> 355 bytes .../material_sets/metallic/rich_raw_ore.png | Bin 0 -> 2483 bytes .../metallic/rich_raw_ore_secondary.png | Bin 0 -> 436 bytes .../item/material_sets/ruby/poor_raw_ore.png | Bin 0 -> 1827 bytes .../ruby/poor_raw_ore_secondary.png | Bin 0 -> 440 bytes .../item/material_sets/ruby/raw_ore.png | Bin 0 -> 615 bytes .../material_sets/ruby/raw_ore_secondary.png | Bin 0 -> 464 bytes .../item/material_sets/ruby/rich_raw_ore.png | Bin 0 -> 1932 bytes .../ruby/rich_raw_ore_secondary.png | Bin 0 -> 458 bytes .../item/material_sets/shiny/poor_raw_ore.png | Bin 0 -> 2376 bytes .../shiny/poor_raw_ore_secondary.png | Bin 0 -> 287 bytes .../item/material_sets/shiny/raw_ore.png | Bin 0 -> 2401 bytes .../material_sets/shiny/raw_ore_secondary.png | Bin 0 -> 318 bytes .../item/material_sets/shiny/rich_raw_ore.png | Bin 0 -> 2407 bytes .../shiny/rich_raw_ore_secondary.png | Bin 0 -> 340 bytes .../gtceu/textures/item/transparent.png | Bin 0 -> 143 bytes .../assets/immersive_aircraft/lang/en_us.json | 8 + .../textures/item/enhanced_propeller.png | Bin 0 -> 587 bytes .../textures/item/hull_reinforcement.png | Bin 0 -> 626 bytes .../textures/item/improved_landing_gear.png | Bin 0 -> 487 bytes .../textures/item/nether_engine.png | Bin 0 -> 785 bytes kubejs/assets/minecraft/lang/en_us.json | 51 + .../minecraft/textures/block/iron_block.png | Bin 0 -> 235 bytes .../minecraft/textures/block/lantern.png | Bin 0 -> 650 bytes .../textures/block/lantern.png.mcmeta | 5 + .../assets/minecraft/textures/block/magma.png | Bin 0 -> 2325 bytes .../minecraft/textures/block/magma.png.mcmeta | 11 + .../minecraft/textures/item/iron_ingot.png | Bin 0 -> 1927 bytes .../textures/item/iron_nugget.png} | Bin 1524 -> 1494 bytes .../textures/item/netherite_leggings.png | Bin 0 -> 387 bytes .../models/armor/netherite_layer_2.png | Bin 0 -> 748 bytes kubejs/assets/railways/lang/en_us.json | 10 +- kubejs/assets/railways/lang/ru_ru.json | 10 +- kubejs/assets/shimmer/shimmer.json | 201 +- .../sophisticatedbackpacks/lang/en_us.json | 18 +- .../sophisticatedbackpacks/lang/ru_ru.json | 18 +- .../textures/block/diamond_clips.png | Bin 0 -> 378 bytes .../textures/block/gold_clips.png | Bin 0 -> 379 bytes .../textures/block/iron_clips.png | Bin 0 -> 377 bytes .../textures/block/netherite_clips.png | Bin 0 -> 379 bytes .../textures/entity/backpack.png | Bin 0 -> 2702 bytes kubejs/assets/tfc/lang/en_us.json | 357 +- kubejs/assets/tfc/lang/ru_ru.json | 4 +- .../models/block/metal/smooth_pattern.json | 6 + .../field_guide/en_us/categories/beneath.json | 6 + .../en_us/categories/tfg_ores.json | 10 +- .../en_us/categories/tfg_tips.json | 12 +- .../arborfirmacraft/making_rubber.json | 43 + .../arborfirmacraft/tapping_index.json | 143 + .../entries/arborfirmacraft/tree_tapping.json | 34 + .../en_us/entries/beneath/beneath.json | 23 + .../en_us/entries/beneath/biomes.json | 75 + .../en_us/entries/beneath/burpflower.json | 16 + .../en_us/entries/beneath/cooling.json | 49 + .../en_us/entries/beneath/curious_blocks.json | 23 + .../en_us/entries/beneath/hellforge.json | 50 + .../entries/beneath/ores_and_minerals.json | 70 + .../en_us/entries/beneath/piglins.json | 34 + .../en_us/entries/beneath/unposter.json | 16 + .../en_us/entries/beneath/water.json | 21 + .../entries/firmalife/stainless_steel.json | 14 - .../entries/getting_started/introduction.json | 168 + .../mechanics/glassworking_applications.json | 3 +- .../tfg_ores/deep_garnet_amethyst.json | 112 +- .../entries/tfg_ores/deep_garnet_opal.json | 112 +- .../en_us/entries/tfg_ores/deep_gold.json | 110 +- .../en_us/entries/tfg_ores/deep_hematite.json | 132 +- .../en_us/entries/tfg_ores/deep_limonite.json | 110 +- .../entries/tfg_ores/deep_magnetite.json | 132 +- .../entries/tfg_ores/deep_molybdenum.json | 110 +- .../en_us/entries/tfg_ores/deep_naquadah.json | 66 +- .../entries/tfg_ores/deep_pitchblende.json | 66 +- .../en_us/entries/tfg_ores/deep_sapphire.json | 116 +- .../entries/tfg_ores/deep_scheelite.json | 90 +- .../entries/tfg_ores/deep_sheldonite.json | 110 +- .../en_us/entries/tfg_ores/deep_topaz.json | 110 +- .../en_us/entries/tfg_ores/hazards.json | 13 +- .../en_us/entries/tfg_ores/index.json | 88 +- .../entries/tfg_ores/normal_apatite.json | 88 +- .../tfg_ores/normal_basaltic_sands.json | 110 +- .../entries/tfg_ores/normal_bauxite.json | 90 +- .../entries/tfg_ores/normal_beryllium.json | 88 +- .../entries/tfg_ores/normal_bismuth.json | 88 +- .../entries/tfg_ores/normal_cassiterite.json | 66 +- .../en_us/entries/tfg_ores/normal_coal.json | 44 +- .../en_us/entries/tfg_ores/normal_copper.json | 110 +- .../entries/tfg_ores/normal_garnet_tin.json | 110 +- .../entries/tfg_ores/normal_garnierite.json | 132 +- .../en_us/entries/tfg_ores/normal_gold.json | 110 +- .../entries/tfg_ores/normal_graphite.json | 88 +- .../entries/tfg_ores/normal_hematite.json | 110 +- .../en_us/entries/tfg_ores/normal_lapis.json | 110 +- .../entries/tfg_ores/normal_limonite.json | 110 +- .../entries/tfg_ores/normal_lubricant.json | 132 +- .../entries/tfg_ores/normal_magnetite.json | 88 +- .../entries/tfg_ores/normal_manganese.json | 110 +- .../en_us/entries/tfg_ores/normal_mica.json | 110 +- .../entries/tfg_ores/normal_monazite.json | 88 +- .../entries/tfg_ores/normal_oilsands.json | 44 +- .../entries/tfg_ores/normal_olivine.json | 110 +- .../en_us/entries/tfg_ores/normal_quartz.json | 112 +- .../entries/tfg_ores/normal_redstone.json | 88 +- .../en_us/entries/tfg_ores/normal_salt.json | 110 +- .../entries/tfg_ores/normal_saltpeter.json | 110 +- .../en_us/entries/tfg_ores/normal_silver.json | 88 +- .../entries/tfg_ores/normal_sphalerite.json | 88 +- .../entries/tfg_ores/normal_spodumene.json | 110 +- .../en_us/entries/tfg_ores/normal_sulfur.json | 88 +- .../entries/tfg_ores/normal_tetrahedrite.json | 88 +- .../en_us/entries/tfg_ores/ore_basics.json | 118 +- .../entries/tfg_ores/surface_bismuth.json | 88 +- .../entries/tfg_ores/surface_cassiterite.json | 66 +- .../entries/tfg_ores/surface_copper.json | 118 +- .../entries/tfg_ores/surface_kaolin.json | 104 +- .../entries/tfg_ores/surface_sphalerite.json | 88 +- .../tfg_ores/surface_tetrahedrite.json | 88 +- .../basic_automation.json} | 76 +- .../entries/tfg_tips/blast_furnace_tips.json | 2 +- .../pumps.json => tfg_tips/create.json} | 78 +- .../en_us/entries/tfg_tips/faqs.json | 94 +- .../entries/tfg_tips/infinite_resources.json | 108 +- .../inventory_management.json} | 102 +- .../en_us/entries/tfg_tips/lv_machines.json | 158 +- .../entries/the_world/ores_and_minerals.json | 13 - .../{it-it => it_it}/categories/tfg.json | 0 .../{it-it => it_it}/categories/tfg_ores.json | 0 .../{it-it => it_it}/categories/tfg_tips.json | 2 +- .../entries/firmalife/stainless_steel.json | 0 .../entries/mechanics/bloomery.json | 0 .../entries/mechanics/crankshaft.json | 0 .../entries/mechanics/fire_clay.json | 0 .../entries/mechanics/glassworking.json | 0 .../mechanics/glassworking_applications.json | 0 .../entries/mechanics/mechanical_power.json | 0 .../entries/mechanics/pumps.json | 0 .../tfg_ores/deep_garnet_amethyst.json | 0 .../entries/tfg_ores/deep_garnet_opal.json | 0 .../entries/tfg_ores/deep_gold.json | 0 .../entries/tfg_ores/deep_hematite.json | 0 .../entries/tfg_ores/deep_limonite.json | 0 .../entries/tfg_ores/deep_magnetite.json | 0 .../entries/tfg_ores/deep_molybdenum.json | 0 .../entries/tfg_ores/deep_naquadah.json | 0 .../entries/tfg_ores/deep_pitchblende.json | 0 .../entries/tfg_ores/deep_sapphire.json | 0 .../entries/tfg_ores/deep_scheelite.json | 0 .../entries/tfg_ores/deep_sheldonite.json | 0 .../entries/tfg_ores/deep_topaz.json | 0 .../entries/tfg_ores/hazards.json | 0 .../entries/tfg_ores/index.json | 4 +- .../entries/tfg_ores/normal_apatite.json | 0 .../tfg_ores/normal_basaltic_sands.json | 0 .../entries/tfg_ores/normal_bauxite.json | 0 .../entries/tfg_ores/normal_beryllium.json | 0 .../entries/tfg_ores/normal_bismuth.json | 0 .../entries/tfg_ores/normal_cassiterite.json | 0 .../entries/tfg_ores/normal_coal.json | 0 .../entries/tfg_ores/normal_copper.json | 0 .../entries/tfg_ores/normal_garnet_tin.json | 0 .../entries/tfg_ores/normal_garnierite.json | 0 .../entries/tfg_ores/normal_gold.json | 0 .../entries/tfg_ores/normal_graphite.json | 0 .../entries/tfg_ores/normal_hematite.json | 0 .../entries/tfg_ores/normal_lapis.json | 0 .../entries/tfg_ores/normal_limonite.json | 0 .../entries/tfg_ores/normal_lubricant.json | 0 .../entries/tfg_ores/normal_magnetite.json | 0 .../entries/tfg_ores/normal_manganese.json | 0 .../entries/tfg_ores/normal_mica.json | 0 .../entries/tfg_ores/normal_monazite.json | 0 .../entries/tfg_ores/normal_oilsands.json | 0 .../entries/tfg_ores/normal_olivine.json | 0 .../entries/tfg_ores/normal_quartz.json | 0 .../entries/tfg_ores/normal_redstone.json | 0 .../entries/tfg_ores/normal_salt.json | 0 .../entries/tfg_ores/normal_saltpeter.json | 0 .../entries/tfg_ores/normal_silver.json | 0 .../entries/tfg_ores/normal_sphalerite.json | 0 .../entries/tfg_ores/normal_spodumene.json | 0 .../entries/tfg_ores/normal_sulfur.json | 0 .../entries/tfg_ores/normal_tetrahedrite.json | 0 .../entries/tfg_ores/ore_basics.json | 0 .../entries/tfg_ores/surface_bismuth.json | 0 .../entries/tfg_ores/surface_cassiterite.json | 0 .../entries/tfg_ores/surface_copper.json | 0 .../entries/tfg_ores/surface_kaolin.json | 0 .../entries/tfg_ores/surface_sphalerite.json | 0 .../tfg_ores/surface_tetrahedrite.json | 0 .../entries/tfg_tips/blast_furnace_tips.json | 2 +- .../entries/tfg_tips/faqs.json | 0 .../entries/tfg_tips/infinite_resources.json | 0 .../entries/tfg_tips/lv_machines.json | 0 .../entries/the_world/ores_and_minerals.json | 0 .../ru_ru/categories/tfg_ores.json | 10 +- .../entries/firmalife/stainless_steel.json | 26 +- .../entries/getting_started/introduction.json | 342 +- .../tfg_ores/deep_garnet_amethyst.json | 110 +- .../entries/tfg_ores/deep_garnet_opal.json | 110 +- .../ru_ru/entries/tfg_ores/deep_gold.json | 110 +- .../ru_ru/entries/tfg_ores/deep_hematite.json | 132 +- .../ru_ru/entries/tfg_ores/deep_limonite.json | 110 +- .../entries/tfg_ores/deep_magnetite.json | 132 +- .../entries/tfg_ores/deep_molybdenum.json | 110 +- .../ru_ru/entries/tfg_ores/deep_naquadah.json | 66 +- .../entries/tfg_ores/deep_pitchblende.json | 66 +- .../ru_ru/entries/tfg_ores/deep_sapphire.json | 116 +- .../entries/tfg_ores/deep_scheelite.json | 88 +- .../entries/tfg_ores/deep_sheldonite.json | 110 +- .../ru_ru/entries/tfg_ores/deep_topaz.json | 110 +- .../ru_ru/entries/tfg_ores/hazards.json | 12 +- .../entries/tfg_ores/normal_apatite.json | 88 +- .../tfg_ores/normal_basaltic_sands.json | 110 +- .../entries/tfg_ores/normal_bauxite.json | 88 +- .../entries/tfg_ores/normal_beryllium.json | 88 +- .../entries/tfg_ores/normal_bismuth.json | 88 +- .../entries/tfg_ores/normal_cassiterite.json | 66 +- .../ru_ru/entries/tfg_ores/normal_coal.json | 44 +- .../ru_ru/entries/tfg_ores/normal_copper.json | 110 +- .../entries/tfg_ores/normal_garnet_tin.json | 110 +- .../entries/tfg_ores/normal_garnierite.json | 132 +- .../ru_ru/entries/tfg_ores/normal_gold.json | 110 +- .../entries/tfg_ores/normal_graphite.json | 88 +- .../entries/tfg_ores/normal_hematite.json | 110 +- .../ru_ru/entries/tfg_ores/normal_lapis.json | 110 +- .../entries/tfg_ores/normal_limonite.json | 110 +- .../entries/tfg_ores/normal_lubricant.json | 132 +- .../entries/tfg_ores/normal_magnetite.json | 88 +- .../entries/tfg_ores/normal_manganese.json | 110 +- .../ru_ru/entries/tfg_ores/normal_mica.json | 110 +- .../entries/tfg_ores/normal_monazite.json | 88 +- .../entries/tfg_ores/normal_oilsands.json | 44 +- .../entries/tfg_ores/normal_olivine.json | 110 +- .../ru_ru/entries/tfg_ores/normal_quartz.json | 110 +- .../entries/tfg_ores/normal_redstone.json | 88 +- .../ru_ru/entries/tfg_ores/normal_salt.json | 110 +- .../entries/tfg_ores/normal_saltpeter.json | 110 +- .../ru_ru/entries/tfg_ores/normal_silver.json | 88 +- .../entries/tfg_ores/normal_sphalerite.json | 88 +- .../entries/tfg_ores/normal_spodumene.json | 110 +- .../ru_ru/entries/tfg_ores/normal_sulfur.json | 88 +- .../entries/tfg_ores/normal_tetrahedrite.json | 88 +- .../ru_ru/entries/tfg_ores/ore_basics.json | 58 +- .../entries/tfg_ores/surface_bismuth.json | 88 +- .../entries/tfg_ores/surface_cassiterite.json | 66 +- .../entries/tfg_ores/surface_copper.json | 110 +- .../entries/tfg_ores/surface_kaolin.json | 104 +- .../entries/tfg_ores/surface_sphalerite.json | 88 +- .../tfg_ores/surface_tetrahedrite.json | 88 +- .../uk_ua/categories/tfg_tips.json | 2 +- .../entries/getting_started/introduction.json | 168 + .../uk_ua/entries/tfg_ores/index.json | 4 +- .../entries/tfg_tips/blast_furnace_tips.json | 2 +- .../textures/block/metal/smooth_pattern.png | Bin 0 -> 1740 bytes .../textures/gui/knapping/loose/deepslate.png | Bin 0 -> 240 bytes .../textures/gui/knapping/loose/dripstone.png | Bin 0 -> 258 bytes kubejs/assets/tfg/blockstates/ash_pile.json | 28 + .../blockstates/buds/large_almandine_bud.json | 30 - .../blockstates/buds/large_andradite_bud.json | 30 - .../blockstates/buds/large_apatite_bud.json | 30 - .../buds/large_blue_topaz_bud.json | 30 - .../blockstates/buds/large_cinnabar_bud.json | 30 - .../blockstates/buds/large_diamond_bud.json | 30 - .../blockstates/buds/large_emerald_bud.json | 30 - .../buds/large_green_sapphire_bud.json | 30 - .../blockstates/buds/large_grossular_bud.json | 30 - .../tfg/blockstates/buds/large_lapis_bud.json | 30 - .../blockstates/buds/large_lazurite_bud.json | 30 - .../blockstates/buds/large_monazite_bud.json | 30 - .../buds/large_nether_quartz_bud.json | 30 - .../blockstates/buds/large_olivine_bud.json | 30 - .../tfg/blockstates/buds/large_opal_bud.json | 30 - .../blockstates/buds/large_pyrope_bud.json | 30 - .../blockstates/buds/large_quartzite_bud.json | 30 - .../blockstates/buds/large_realgar_bud.json | 30 - .../buds/large_red_garnet_bud.json | 30 - .../tfg/blockstates/buds/large_ruby_bud.json | 30 - .../blockstates/buds/large_rutile_bud.json | 30 - .../blockstates/buds/large_sapphire_bud.json | 30 - .../blockstates/buds/large_sodalite_bud.json | 30 - .../buds/large_spessartine_bud.json | 30 - .../tfg/blockstates/buds/large_topaz_bud.json | 30 - .../blockstates/buds/large_uvarovite_bud.json | 30 - .../buds/large_yellow_garnet_bud.json | 30 - .../buds/medium_almandine_bud.json | 30 - .../buds/medium_andradite_bud.json | 30 - .../blockstates/buds/medium_apatite_bud.json | 30 - .../buds/medium_blue_topaz_bud.json | 30 - .../blockstates/buds/medium_cinnabar_bud.json | 30 - .../blockstates/buds/medium_diamond_bud.json | 30 - .../blockstates/buds/medium_emerald_bud.json | 30 - .../buds/medium_green_sapphire_bud.json | 30 - .../buds/medium_grossular_bud.json | 30 - .../blockstates/buds/medium_lapis_bud.json | 30 - .../blockstates/buds/medium_lazurite_bud.json | 30 - .../blockstates/buds/medium_monazite_bud.json | 30 - .../buds/medium_nether_quartz_bud.json | 30 - .../blockstates/buds/medium_olivine_bud.json | 30 - .../tfg/blockstates/buds/medium_opal_bud.json | 30 - .../blockstates/buds/medium_pyrope_bud.json | 30 - .../buds/medium_quartzite_bud.json | 30 - .../blockstates/buds/medium_realgar_bud.json | 30 - .../buds/medium_red_garnet_bud.json | 30 - .../tfg/blockstates/buds/medium_ruby_bud.json | 30 - .../blockstates/buds/medium_rutile_bud.json | 30 - .../blockstates/buds/medium_sapphire_bud.json | 30 - .../blockstates/buds/medium_sodalite_bud.json | 30 - .../buds/medium_spessartine_bud.json | 30 - .../blockstates/buds/medium_topaz_bud.json | 30 - .../buds/medium_uvarovite_bud.json | 30 - .../buds/medium_yellow_garnet_bud.json | 30 - .../blockstates/buds/small_almandine_bud.json | 30 - .../blockstates/buds/small_andradite_bud.json | 30 - .../blockstates/buds/small_apatite_bud.json | 30 - .../buds/small_blue_topaz_bud.json | 30 - .../blockstates/buds/small_cinnabar_bud.json | 30 - .../blockstates/buds/small_diamond_bud.json | 30 - .../blockstates/buds/small_emerald_bud.json | 30 - .../buds/small_green_sapphire_bud.json | 30 - .../blockstates/buds/small_grossular_bud.json | 30 - .../tfg/blockstates/buds/small_lapis_bud.json | 30 - .../blockstates/buds/small_lazurite_bud.json | 30 - .../blockstates/buds/small_monazite_bud.json | 30 - .../buds/small_nether_quartz_bud.json | 30 - .../blockstates/buds/small_olivine_bud.json | 30 - .../tfg/blockstates/buds/small_opal_bud.json | 30 - .../blockstates/buds/small_pyrope_bud.json | 30 - .../blockstates/buds/small_quartzite_bud.json | 30 - .../blockstates/buds/small_realgar_bud.json | 30 - .../buds/small_red_garnet_bud.json | 30 - .../tfg/blockstates/buds/small_ruby_bud.json | 30 - .../blockstates/buds/small_rutile_bud.json | 30 - .../blockstates/buds/small_sapphire_bud.json | 30 - .../blockstates/buds/small_sodalite_bud.json | 30 - .../buds/small_spessartine_bud.json | 30 - .../tfg/blockstates/buds/small_topaz_bud.json | 30 - .../blockstates/buds/small_uvarovite_bud.json | 30 - .../buds/small_yellow_garnet_bud.json | 30 - .../assets/tfg/blockstates/charred_log.json | 16 + .../tfg/blockstates/loose/deepslate.json | 55 + .../tfg/blockstates/loose/dripstone.json | 55 + .../tfg/blockstates/mushroom_roots.json | 7 + .../tfg/blockstates/mushroom_sprouts.json | 7 + .../blockstates/rock/hardened_blackstone.json | 7 + .../blockstates/rock/hardened_deepslate.json | 7 + .../blockstates/rock/hardened_dripstone.json | 7 + .../blockstates/spike/blackstone_spike.json | 13 + .../blockstates/spike/deepslate_spike.json | 13 + .../blockstates/spike/dripstone_spike.json | 13 + kubejs/assets/tfg/lang/en_us.json | 2028 ++++- kubejs/assets/tfg/lang/ru_ru.json | 236 +- kubejs/assets/tfg/lang/zh_cn.json | 33 +- .../tfg/models/block/ash_pile/ash_block.json | 6 + .../models/block/ash_pile/ash_height10.json | 43 + .../models/block/ash_pile/ash_height12.json | 43 + .../models/block/ash_pile/ash_height14.json | 43 + .../models/block/ash_pile/ash_height2.json | 44 + .../models/block/ash_pile/ash_height4.json | 43 + .../models/block/ash_pile/ash_height6.json | 43 + .../models/block/ash_pile/ash_height8.json | 43 + .../tfg/models/block/bud_indicator.json | 159 + .../block/buds/large_almandine_bud.json | 7 - .../block/buds/large_andradite_bud.json | 7 - .../models/block/buds/large_apatite_bud.json | 7 - .../block/buds/large_blue_topaz_bud.json | 7 - .../models/block/buds/large_cinnabar_bud.json | 7 - .../models/block/buds/large_diamond_bud.json | 7 - .../models/block/buds/large_emerald_bud.json | 7 - .../block/buds/large_green_sapphire_bud.json | 7 - .../block/buds/large_grossular_bud.json | 7 - .../models/block/buds/large_lapis_bud.json | 7 - .../models/block/buds/large_lazurite_bud.json | 7 - .../models/block/buds/large_monazite_bud.json | 7 - .../block/buds/large_nether_quartz_bud.json | 7 - .../models/block/buds/large_olivine_bud.json | 7 - .../tfg/models/block/buds/large_opal_bud.json | 7 - .../models/block/buds/large_pyrope_bud.json | 7 - .../block/buds/large_quartzite_bud.json | 7 - .../models/block/buds/large_realgar_bud.json | 7 - .../block/buds/large_red_garnet_bud.json | 7 - .../tfg/models/block/buds/large_ruby_bud.json | 7 - .../models/block/buds/large_rutile_bud.json | 7 - .../models/block/buds/large_sapphire_bud.json | 7 - .../models/block/buds/large_sodalite_bud.json | 7 - .../block/buds/large_spessartine_bud.json | 7 - .../models/block/buds/large_topaz_bud.json | 7 - .../block/buds/large_uvarovite_bud.json | 7 - .../block/buds/large_yellow_garnet_bud.json | 7 - .../block/buds/medium_almandine_bud.json | 7 - .../block/buds/medium_andradite_bud.json | 7 - .../models/block/buds/medium_apatite_bud.json | 7 - .../block/buds/medium_blue_topaz_bud.json | 7 - .../block/buds/medium_cinnabar_bud.json | 7 - .../models/block/buds/medium_diamond_bud.json | 7 - .../models/block/buds/medium_emerald_bud.json | 7 - .../block/buds/medium_green_sapphire_bud.json | 7 - .../block/buds/medium_grossular_bud.json | 7 - .../models/block/buds/medium_lapis_bud.json | 7 - .../block/buds/medium_lazurite_bud.json | 7 - .../block/buds/medium_monazite_bud.json | 7 - .../block/buds/medium_nether_quartz_bud.json | 7 - .../models/block/buds/medium_olivine_bud.json | 7 - .../models/block/buds/medium_opal_bud.json | 7 - .../models/block/buds/medium_pyrope_bud.json | 7 - .../block/buds/medium_quartzite_bud.json | 7 - .../models/block/buds/medium_realgar_bud.json | 7 - .../block/buds/medium_red_garnet_bud.json | 7 - .../models/block/buds/medium_ruby_bud.json | 7 - .../models/block/buds/medium_rutile_bud.json | 7 - .../block/buds/medium_sapphire_bud.json | 7 - .../block/buds/medium_sodalite_bud.json | 7 - .../block/buds/medium_spessartine_bud.json | 7 - .../models/block/buds/medium_topaz_bud.json | 7 - .../block/buds/medium_uvarovite_bud.json | 7 - .../block/buds/medium_yellow_garnet_bud.json | 7 - .../block/buds/small_almandine_bud.json | 7 - .../block/buds/small_andradite_bud.json | 7 - .../models/block/buds/small_apatite_bud.json | 7 - .../block/buds/small_blue_topaz_bud.json | 7 - .../models/block/buds/small_cinnabar_bud.json | 7 - .../models/block/buds/small_diamond_bud.json | 7 - .../models/block/buds/small_emerald_bud.json | 7 - .../block/buds/small_green_sapphire_bud.json | 7 - .../block/buds/small_grossular_bud.json | 7 - .../models/block/buds/small_lapis_bud.json | 7 - .../models/block/buds/small_lazurite_bud.json | 7 - .../models/block/buds/small_monazite_bud.json | 7 - .../block/buds/small_nether_quartz_bud.json | 7 - .../models/block/buds/small_olivine_bud.json | 7 - .../tfg/models/block/buds/small_opal_bud.json | 7 - .../models/block/buds/small_pyrope_bud.json | 7 - .../block/buds/small_quartzite_bud.json | 7 - .../models/block/buds/small_realgar_bud.json | 7 - .../block/buds/small_red_garnet_bud.json | 7 - .../tfg/models/block/buds/small_ruby_bud.json | 7 - .../models/block/buds/small_rutile_bud.json | 7 - .../models/block/buds/small_sapphire_bud.json | 7 - .../models/block/buds/small_sodalite_bud.json | 7 - .../block/buds/small_spessartine_bud.json | 7 - .../models/block/buds/small_topaz_bud.json | 7 - .../block/buds/small_uvarovite_bud.json | 7 - .../block/buds/small_yellow_garnet_bud.json | 7 - .../assets/tfg/models/block/charred_log.json | 7 + .../decorative_vase/loot_vase_black.json | 502 ++ .../block/decorative_vase/loot_vase_blue.json | 503 ++ .../decorative_vase/loot_vase_brown.json | 387 + .../block/decorative_vase/loot_vase_cyan.json | 403 + .../block/decorative_vase/loot_vase_gray.json | 387 + .../decorative_vase/loot_vase_green.json | 352 + .../decorative_vase/loot_vase_light_blue.json | 403 + .../decorative_vase/loot_vase_light_gray.json | 127 + .../block/decorative_vase/loot_vase_lime.json | 352 + .../decorative_vase/loot_vase_magenta.json | 352 + .../decorative_vase/loot_vase_orange.json | 403 + .../block/decorative_vase/loot_vase_pink.json | 248 + .../decorative_vase/loot_vase_purple.json | 248 + .../block/decorative_vase/loot_vase_red.json | 502 ++ .../decorative_vase/loot_vase_white.json | 248 + .../decorative_vase/loot_vase_yellow.json | 387 + .../models/block/decorative_vase/vase.json | 126 + .../block/decorative_vase/vase_black.json | 502 ++ .../block/decorative_vase/vase_blue.json | 503 ++ .../block/decorative_vase/vase_brown.json | 387 + .../block/decorative_vase/vase_cyan.json | 403 + .../block/decorative_vase/vase_gray.json | 387 + .../block/decorative_vase/vase_green.json | 352 + .../decorative_vase/vase_light_blue.json | 403 + .../decorative_vase/vase_light_gray.json | 127 + .../block/decorative_vase/vase_lime.json | 352 + .../block/decorative_vase/vase_magenta.json | 352 + .../block/decorative_vase/vase_orange.json | 403 + .../block/decorative_vase/vase_pink.json | 248 + .../block/decorative_vase/vase_purple.json | 248 + .../block/decorative_vase/vase_red.json | 502 ++ .../block/decorative_vase/vase_unfired.json | 126 + .../decorative_vase/vase_unfired_black.json | 126 + .../decorative_vase/vase_unfired_blue.json | 126 + .../decorative_vase/vase_unfired_brown.json | 126 + .../decorative_vase/vase_unfired_cyan.json | 126 + .../decorative_vase/vase_unfired_gray.json | 126 + .../decorative_vase/vase_unfired_green.json | 126 + .../vase_unfired_light_blue.json | 126 + .../vase_unfired_light_gray.json | 126 + .../decorative_vase/vase_unfired_lime.json | 126 + .../decorative_vase/vase_unfired_magenta.json | 126 + .../decorative_vase/vase_unfired_orange.json | 126 + .../decorative_vase/vase_unfired_pink.json | 126 + .../decorative_vase/vase_unfired_purple.json | 126 + .../decorative_vase/vase_unfired_red.json | 126 + .../decorative_vase/vase_unfired_white.json | 126 + .../decorative_vase/vase_unfired_yellow.json | 126 + .../block/decorative_vase/vase_white.json | 248 + .../block/decorative_vase/vase_yellow.json | 387 + .../tfg/models/block/loose/deepslate_1.json | 6 + .../tfg/models/block/loose/deepslate_2.json | 6 + .../tfg/models/block/loose/deepslate_3.json | 6 + .../tfg/models/block/loose/dripstone_1.json | 6 + .../tfg/models/block/loose/dripstone_2.json | 6 + .../tfg/models/block/loose/dripstone_3.json | 6 + .../tfg/models/block/mushroom_roots.json | 7 + .../tfg/models/block/mushroom_sprouts.json | 7 + .../block/rock/hardened_blackstone.json | 6 + .../models/block/rock/hardened_deepslate.json | 7 + .../models/block/rock/hardened_dripstone.json | 6 + .../models/block/spike/blackstone_base.json | 7 + .../models/block/spike/blackstone_middle.json | 7 + .../models/block/spike/blackstone_tip.json | 7 + .../models/block/spike/deepslate_base.json | 7 + .../models/block/spike/deepslate_middle.json | 7 + .../tfg/models/block/spike/deepslate_tip.json | 7 + .../models/block/spike/dripstone_base.json | 7 + .../models/block/spike/dripstone_middle.json | 7 + .../tfg/models/block/spike/dripstone_tip.json | 7 + kubejs/assets/tfg/models/item/ash_pile.json | 6 + .../assets/tfg/models/item/charred_log.json | 6 + ...tile_bud.png => bud_indicator_layer_0.png} | Bin 1517 -> 1517 bytes ...png => bud_indicator_layer_0_emissive.png} | Bin 1515 -> 1517 bytes .../textures/block/bud_indicator_layer_1.png | Bin 0 -> 249 bytes .../block/bud_indicator_layer_1_emissive.png | Bin 0 -> 249 bytes .../block/buds/large_almandine_bud.png | Bin 1601 -> 0 bytes .../block/buds/large_andradite_bud.png | Bin 1580 -> 0 bytes .../textures/block/buds/large_apatite_bud.png | Bin 1581 -> 0 bytes .../block/buds/large_blue_topaz_bud.png | Bin 1578 -> 0 bytes .../block/buds/large_cinnabar_bud.png | Bin 1584 -> 0 bytes .../textures/block/buds/large_diamond_bud.png | Bin 1570 -> 0 bytes .../textures/block/buds/large_emerald_bud.png | Bin 1572 -> 0 bytes .../block/buds/large_green_sapphire_bud.png | Bin 1578 -> 0 bytes .../block/buds/large_grossular_bud.png | Bin 1580 -> 0 bytes .../textures/block/buds/large_lapis_bud.png | Bin 1576 -> 0 bytes .../block/buds/large_lazurite_bud.png | Bin 1584 -> 0 bytes .../block/buds/large_monazite_bud.png | Bin 1588 -> 0 bytes .../block/buds/large_nether_quartz_bud.png | Bin 1580 -> 0 bytes .../textures/block/buds/large_olivine_bud.png | Bin 1579 -> 0 bytes .../textures/block/buds/large_opal_bud.png | Bin 1578 -> 0 bytes .../textures/block/buds/large_pyrope_bud.png | Bin 1580 -> 0 bytes .../block/buds/large_quartzite_bud.png | Bin 1593 -> 0 bytes .../textures/block/buds/large_realgar_bud.png | Bin 1572 -> 0 bytes .../block/buds/large_red_garnet_bud.png | Bin 1978 -> 0 bytes .../textures/block/buds/large_ruby_bud.png | Bin 1597 -> 0 bytes .../textures/block/buds/large_rutile_bud.png | Bin 1575 -> 0 bytes .../block/buds/large_sapphire_bud.png | Bin 1584 -> 0 bytes .../block/buds/large_sodalite_bud.png | Bin 1570 -> 0 bytes .../block/buds/large_spessartine_bud.png | Bin 1580 -> 0 bytes .../textures/block/buds/large_topaz_bud.png | Bin 1581 -> 0 bytes .../block/buds/large_uvarovite_bud.png | Bin 1580 -> 0 bytes .../block/buds/large_yellow_garnet_bud.png | Bin 1576 -> 0 bytes .../block/buds/medium_almandine_bud.png | Bin 1519 -> 0 bytes .../block/buds/medium_andradite_bud.png | Bin 1521 -> 0 bytes .../block/buds/medium_apatite_bud.png | Bin 1520 -> 0 bytes .../block/buds/medium_blue_topaz_bud.png | Bin 1531 -> 0 bytes .../block/buds/medium_cinnabar_bud.png | Bin 1523 -> 0 bytes .../block/buds/medium_diamond_bud.png | Bin 1525 -> 0 bytes .../block/buds/medium_emerald_bud.png | Bin 1525 -> 0 bytes .../block/buds/medium_green_sapphire_bud.png | Bin 1530 -> 0 bytes .../block/buds/medium_grossular_bud.png | Bin 1521 -> 0 bytes .../textures/block/buds/medium_lapis_bud.png | Bin 1522 -> 0 bytes .../block/buds/medium_lazurite_bud.png | Bin 1530 -> 0 bytes .../block/buds/medium_monazite_bud.png | Bin 1537 -> 0 bytes .../block/buds/medium_nether_quartz_bud.png | Bin 1520 -> 0 bytes .../block/buds/medium_olivine_bud.png | Bin 1531 -> 0 bytes .../textures/block/buds/medium_opal_bud.png | Bin 1523 -> 0 bytes .../textures/block/buds/medium_pyrope_bud.png | Bin 1510 -> 0 bytes .../block/buds/medium_realgar_bud.png | Bin 1507 -> 0 bytes .../block/buds/medium_red_garnet_bud.png | Bin 1925 -> 0 bytes .../textures/block/buds/medium_ruby_bud.png | Bin 1529 -> 0 bytes .../block/buds/medium_sapphire_bud.png | Bin 1521 -> 0 bytes .../block/buds/medium_sodalite_bud.png | Bin 1524 -> 0 bytes .../block/buds/medium_spessartine_bud.png | Bin 1521 -> 0 bytes .../textures/block/buds/medium_topaz_bud.png | Bin 1533 -> 0 bytes .../block/buds/medium_yellow_garnet_bud.png | Bin 1517 -> 0 bytes .../block/buds/small_almandine_bud.png | Bin 1505 -> 0 bytes .../block/buds/small_andradite_bud.png | Bin 1504 -> 0 bytes .../textures/block/buds/small_apatite_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_blue_topaz_bud.png | Bin 1487 -> 0 bytes .../block/buds/small_cinnabar_bud.png | Bin 1504 -> 0 bytes .../textures/block/buds/small_emerald_bud.png | Bin 1505 -> 0 bytes .../block/buds/small_green_sapphire_bud.png | Bin 1494 -> 0 bytes .../block/buds/small_grossular_bud.png | Bin 1492 -> 0 bytes .../textures/block/buds/small_lapis_bud.png | Bin 1493 -> 0 bytes .../block/buds/small_lazurite_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_monazite_bud.png | Bin 1493 -> 0 bytes .../block/buds/small_nether_quartz_bud.png | Bin 1486 -> 0 bytes .../textures/block/buds/small_olivine_bud.png | Bin 1493 -> 0 bytes .../textures/block/buds/small_opal_bud.png | Bin 1486 -> 0 bytes .../textures/block/buds/small_pyrope_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_quartzite_bud.png | Bin 1486 -> 0 bytes .../textures/block/buds/small_realgar_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_red_garnet_bud.png | Bin 1909 -> 0 bytes .../textures/block/buds/small_ruby_bud.png | Bin 1504 -> 0 bytes .../textures/block/buds/small_rutile_bud.png | Bin 1505 -> 0 bytes .../block/buds/small_sapphire_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_sodalite_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_spessartine_bud.png | Bin 1494 -> 0 bytes .../textures/block/buds/small_topaz_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_uvarovite_bud.png | Bin 1504 -> 0 bytes .../block/buds/small_yellow_garnet_bud.png | Bin 1488 -> 0 bytes .../block/buds/template/large_bud.png | Bin 1561 -> 0 bytes .../block/buds/template/medium_bud.png | Bin 1521 -> 0 bytes .../block/buds/template/small_bud.png | Bin 1490 -> 0 bytes .../block/decorative_vase/loot_vase_black.png | Bin 0 -> 1032 bytes .../block/decorative_vase/loot_vase_blue.png | Bin 0 -> 988 bytes .../block/decorative_vase/loot_vase_brown.png | Bin 0 -> 1051 bytes .../block/decorative_vase/loot_vase_cyan.png | Bin 0 -> 1018 bytes .../block/decorative_vase/loot_vase_gray.png | Bin 0 -> 1264 bytes .../block/decorative_vase/loot_vase_green.png | Bin 0 -> 1418 bytes .../decorative_vase/loot_vase_light_blue.png | Bin 0 -> 902 bytes .../decorative_vase/loot_vase_light_gray.png | Bin 0 -> 1115 bytes .../block/decorative_vase/loot_vase_lime.png | Bin 0 -> 1095 bytes .../decorative_vase/loot_vase_magenta.png | Bin 0 -> 1011 bytes .../decorative_vase/loot_vase_orange.png | Bin 0 -> 1034 bytes .../block/decorative_vase/loot_vase_pink.png | Bin 0 -> 1170 bytes .../decorative_vase/loot_vase_purple.png | Bin 0 -> 1081 bytes .../block/decorative_vase/loot_vase_red.png | Bin 0 -> 1206 bytes .../block/decorative_vase/loot_vase_white.png | Bin 0 -> 860 bytes .../decorative_vase/loot_vase_yellow.png | Bin 0 -> 947 bytes .../textures/block/decorative_vase/vase.png | Bin 0 -> 912 bytes .../block/decorative_vase/vase_black.png | Bin 0 -> 987 bytes .../block/decorative_vase/vase_blue.png | Bin 0 -> 936 bytes .../block/decorative_vase/vase_brown.png | Bin 0 -> 1045 bytes .../block/decorative_vase/vase_cyan.png | Bin 0 -> 1005 bytes .../block/decorative_vase/vase_gray.png | Bin 0 -> 1247 bytes .../block/decorative_vase/vase_green.png | Bin 0 -> 1328 bytes .../block/decorative_vase/vase_light_blue.png | Bin 0 -> 914 bytes .../block/decorative_vase/vase_light_gray.png | Bin 0 -> 1121 bytes .../block/decorative_vase/vase_lime.png | Bin 0 -> 1109 bytes .../block/decorative_vase/vase_magenta.png | Bin 0 -> 1027 bytes .../block/decorative_vase/vase_orange.png | Bin 0 -> 980 bytes .../block/decorative_vase/vase_pink.png | Bin 0 -> 1203 bytes .../block/decorative_vase/vase_purple.png | Bin 0 -> 1064 bytes .../block/decorative_vase/vase_red.png | Bin 0 -> 1189 bytes .../block/decorative_vase/vase_unfired.png | Bin 0 -> 755 bytes .../decorative_vase/vase_unfired_black.png | Bin 0 -> 658 bytes .../decorative_vase/vase_unfired_blue.png | Bin 0 -> 729 bytes .../decorative_vase/vase_unfired_brown.png | Bin 0 -> 746 bytes .../decorative_vase/vase_unfired_cyan.png | Bin 0 -> 743 bytes .../decorative_vase/vase_unfired_gray.png | Bin 0 -> 673 bytes .../decorative_vase/vase_unfired_green.png | Bin 0 -> 715 bytes .../vase_unfired_light_blue.png | Bin 0 -> 748 bytes .../vase_unfired_light_gray.png | Bin 0 -> 678 bytes .../decorative_vase/vase_unfired_lime.png | Bin 0 -> 745 bytes .../decorative_vase/vase_unfired_magenta.png | Bin 0 -> 748 bytes .../decorative_vase/vase_unfired_orange.png | Bin 0 -> 745 bytes .../decorative_vase/vase_unfired_pink.png | Bin 0 -> 741 bytes .../decorative_vase/vase_unfired_purple.png | Bin 0 -> 734 bytes .../decorative_vase/vase_unfired_red.png | Bin 0 -> 737 bytes .../decorative_vase/vase_unfired_white.png | Bin 0 -> 663 bytes .../decorative_vase/vase_unfired_yellow.png | Bin 0 -> 741 bytes .../block/decorative_vase/vase_white.png | Bin 0 -> 807 bytes .../block/decorative_vase/vase_yellow.png | Bin 0 -> 920 bytes ...all_diamond_bud.png => mushroom_roots.png} | Bin 1486 -> 1456 bytes .../tfg/textures/block/mushroom_sprouts.png | Bin 0 -> 1622 bytes .../soaked_unrefined_paper.png | Bin .../block/steam_bloomery/overlay_front.png | Bin 0 -> 488 bytes .../steam_bloomery/overlay_front_active.png | Bin 0 -> 2608 bytes .../overlay_front_active.png.mcmeta | 6 + .../block/support/andesite_support.png | Bin 0 -> 3250 bytes .../textures/block/support/basalt_support.png | Bin 0 -> 3049 bytes .../textures/block/support/chalk_support.png | Bin 0 -> 3038 bytes .../textures/block/support/chert_support.png | Bin 0 -> 3032 bytes .../block/support/claystone_support.png | Bin 0 -> 609 bytes .../block/support/conglomerate_support.png | Bin 0 -> 2693 bytes .../textures/block/support/dacite_support.png | Bin 0 -> 611 bytes .../block/support/dark_concrete_support.png | Bin 0 -> 183 bytes .../block/support/diorite_support.png | Bin 0 -> 247 bytes .../block/support/dolomite_support.png | Bin 0 -> 629 bytes .../textures/block/support/gabbro_support.png | Bin 0 -> 3435 bytes .../textures/block/support/gneiss_support.png | Bin 0 -> 2632 bytes .../block/support/granite_support.png | Bin 0 -> 621 bytes .../block/support/light_concrete_support.png | Bin 0 -> 183 bytes .../block/support/limestone_support.png | Bin 0 -> 2827 bytes .../textures/block/support/marble_support.png | Bin 0 -> 958 bytes .../block/support/migmatite_support.png | Bin 0 -> 240 bytes .../block/support/phyllite_support.png | Bin 0 -> 2616 bytes .../block/support/pyroxenite_support.png | Bin 0 -> 290 bytes .../block/support/quartzite_support.png | Bin 0 -> 2638 bytes .../textures/block/support/rebar_support.png | Bin 0 -> 531 bytes .../reinforced_dark_concrete_support.png | Bin 0 -> 217 bytes .../reinforced_light_concrete_support.png | Bin 0 -> 217 bytes .../block/support/rhyolite_support.png | Bin 0 -> 609 bytes .../textures/block/support/schist_support.png | Bin 0 -> 607 bytes .../textures/block/support/shale_support.png | Bin 0 -> 620 bytes .../textures/block/support/slate_support.png | Bin 0 -> 2844 bytes .../textures/block/support/steel_support.png | Bin 0 -> 571 bytes .../block/support/travertine_support.png | Bin 0 -> 258 bytes ...thermochemically_treated_hardwood_dust.png | Bin .../gui/field_guide/nether/ash_forest.png | Bin 0 -> 75449 bytes .../gui/field_guide/nether/basalt_deltas.png | Bin 0 -> 92383 bytes .../field_guide/nether/decaying_caverns.png | Bin 0 -> 70725 bytes .../gui/field_guide/nether/deep_caves.png | Bin 0 -> 76468 bytes .../gui/field_guide/nether/lava_floes.png | Bin 0 -> 82805 bytes .../gui/field_guide/nether/lush_hollow.png | Bin 0 -> 80183 bytes .../gui/field_guide/nether/webbed_lair.png | Bin 0 -> 77083 bytes .../field_guide/tapping_index/aspen_tree.png | Bin 0 -> 67637 bytes .../field_guide/tapping_index/birch_tree.png | Bin 0 -> 69484 bytes .../tapping_index/douglas_fir_tree.png | Bin 0 -> 68151 bytes .../field_guide/tapping_index/hevea_tree.png | Bin 0 -> 75552 bytes .../field_guide/tapping_index/kapok_tree.png | Bin 0 -> 52695 bytes .../field_guide/tapping_index/maple_tree.png | Bin 0 -> 62115 bytes .../tapping_index/rubber_fig_tree.png | Bin 0 -> 48739 bytes .../field_guide/tapping_index/spruce_tree.png | Bin 0 -> 55347 bytes .../tapping_index/white_cedar_tree.png | Bin 0 -> 55479 bytes .../tree_tapping/tapping_kapok.png | Bin 0 -> 51409 bytes .../tfg/textures/item/absorption_salvo.png | Bin 0 -> 556 bytes .../tfg/textures/item/airship_balloon.png | Bin 0 -> 747 bytes .../assets/tfg/textures/item/airship_hull.png | Bin 0 -> 655 bytes .../item/aluminium_hull_reinforcement.png | Bin 0 -> 633 bytes .../textures/item/aluminium_landing_gear.png | Bin 0 -> 512 bytes .../tfg/textures/item/antipoison_pill.png | Bin 0 -> 599 bytes .../tfg/textures/item/antipoison_tablet.png | Bin 0 -> 599 bytes .../textures/item/axe_head_extruder_mold.png | Bin 0 -> 580 bytes .../tfg/textures/item/bell_casting_mold.png | Bin 0 -> 1886 bytes .../black_steel_plated_airplane_propeller.png | Bin 0 -> 595 bytes .../tfg/textures/item/brick/deepslate.png | Bin 0 -> 1946 bytes .../butchery_knife_head_extruder_mold.png | Bin 0 -> 2235 bytes .../tfg/textures/item/chain_casting_mold.png | Bin 0 -> 2083 bytes .../item/chisel_head_extruder_mold.png | Bin 0 -> 2286 bytes .../tfg/textures/item/conifer_rosin.png | Bin 0 -> 420 bytes .../assets/tfg/textures/item/deprecated.png | Bin 0 -> 234 bytes .../tfg/textures/item/enhanced_propeller.png | Bin 0 -> 587 bytes .../tfg/textures/item/ev_aircraft_engine.png | Bin 0 -> 765 bytes .../textures/item/file_head_extruder_mold.png | Bin 0 -> 2265 bytes .../textures/item/fire_resistance_salvo.png | Bin 0 -> 519 bytes .../item/hammer_head_extruder_mold.png | Bin 0 -> 563 bytes .../assets/tfg/textures/item/haste_pill.png | Bin 0 -> 612 bytes .../assets/tfg/textures/item/haste_tablet.png | Bin 0 -> 612 bytes .../textures/item/hoe_head_extruder_mold.png | Bin 0 -> 585 bytes .../tfg/textures/item/hv_aircraft_engine.png | Bin 0 -> 735 bytes .../textures/item/instant_health_salvo.png | Bin 0 -> 550 bytes .../tfg/textures/item/invisibility_salvo.png | Bin 0 -> 528 bytes .../item/javelin_head_extruder_mold.png | Bin 0 -> 2248 bytes .../item/knife_head_extruder_mold.png | Bin 0 -> 2255 bytes .../tfg/textures/item/lamp_casting_mold.png | Bin 0 -> 2070 bytes .../tfg/textures/item/latex_soaked_gloves.png | Bin 0 -> 2043 bytes .../tfg/textures/item/loose/deepslate.png | Bin 0 -> 1670 bytes .../tfg/textures/item/loose/dripstone.png | Bin 0 -> 1747 bytes .../assets/tfg/textures/item/luck_salvo.png | Bin 0 -> 552 bytes .../tfg/textures/item/lv_aircraft_engine.png | Bin 0 -> 756 bytes .../textures/item/mace_head_extruder_mold.png | Bin 0 -> 2125 bytes .../item/mattock_head_extruder_mold.png | Bin 0 -> 579 bytes .../item/mining_hammer_head_extruder_mold.png | Bin 0 -> 2235 bytes .../tfg/textures/item/mv_aircraft_engine.png | Bin 0 -> 785 bytes .../tfg/textures/item/night_vision_pill.png | Bin 0 -> 612 bytes .../tfg/textures/item/night_vision_tablet.png | Bin 0 -> 622 bytes .../assets/tfg/textures/item/paraffin_wax.png | Bin 0 -> 523 bytes .../item/pickaxe_head_extruder_mold.png | Bin 0 -> 591 bytes .../assets/tfg/textures/item/poison_pill.png | Bin 0 -> 598 bytes .../tfg/textures/item/poison_tablet.png | Bin 0 -> 587 bytes .../textures/item/prepared_leather_gloves.png | Bin 0 -> 1973 bytes .../item/propick_head_extruder_mold.png | Bin 0 -> 2069 bytes .../item/redblu_steel_hull_reinforcement.png | Bin 0 -> 623 bytes .../item/redblu_steel_landing_gear.png | Bin 0 -> 494 bytes ...redblu_steel_plated_airplane_propeller.png | Bin 0 -> 621 bytes .../tfg/textures/item/regeneration_pill.png | Bin 0 -> 639 bytes .../tfg/textures/item/regeneration_tablet.png | Bin 0 -> 641 bytes .../tfg/textures/item/resistance_salvo.png | Bin 0 -> 545 bytes .../textures/item/saw_head_extruder_mold.png | Bin 0 -> 596 bytes .../tfg/textures/item/scaffolding_frame.png | Bin 0 -> 323 bytes .../item/scythe_head_extruder_mold.png | Bin 0 -> 2260 bytes .../item/shovel_head_extruder_mold.png | Bin 0 -> 3223 bytes .../tfg/textures/item/slowness_pill.png | Bin 0 -> 608 bytes .../tfg/textures/item/slowness_tablet.png | Bin 0 -> 588 bytes .../item/spade_head_extruder_mold.png | Bin 0 -> 2083 bytes .../assets/tfg/textures/item/speed_pill.png | Bin 0 -> 621 bytes .../assets/tfg/textures/item/speed_tablet.png | Bin 0 -> 593 bytes .../stainless_steel_hull_reinforcement.png | Bin 0 -> 627 bytes .../item/stainless_steel_landing_gear.png | Bin 0 -> 490 bytes ...inless_steel_plated_airplane_propeller.png | Bin 0 -> 464 bytes .../item/sword_head_extruder_mold.png | Bin 0 -> 3223 bytes .../tfg/textures/item/terra_firma_greg.png | Bin 0 -> 79389 bytes .../item/titanium_hull_reinforcement.png | Bin 0 -> 639 bytes .../textures/item/titanium_landing_gear.png | Bin 0 -> 515 bytes .../titanium_plated_airplane_propeller.png | Bin 0 -> 581 bytes .../textures/item/trapdoor_casting_mold.png | Bin 0 -> 2034 bytes .../unfinished_basic_electronic_circuit.png | Bin 443 -> 386 bytes .../item/unfinished_electron_tube.png | Bin 0 -> 258 bytes .../textures/item/unfinished_vacuum_tube.png | Bin 1557 -> 302 bytes .../tfg/textures/item/unfired_chalk.png | Bin 0 -> 928 bytes .../textures/item/water_breathing_pill.png | Bin 0 -> 613 bytes .../textures/item/water_breathing_tablet.png | Bin 0 -> 591 bytes .../tfg/textures/item/weakness_pill.png | Bin 0 -> 591 bytes .../tfg/textures/item/weakness_tablet.png | Bin 0 -> 578 bytes .../textures/quests/alternator_multiblock.png | Bin 0 -> 103649 bytes .../assets/tfg/textures/quests/auto_coke.png | Bin 0 -> 240745 bytes kubejs/assets/tfg/textures/quests/firepit.png | Bin 0 -> 120598 bytes .../textures/quests/mining_helmet_option.png | Bin 0 -> 10519 bytes .../tfg/textures/quests/ore_deposit.png | Bin 0 -> 175363 bytes .../assets/tfg/textures/quests/raw_rock.png | Bin 0 -> 129497 bytes kubejs/assets/tfg/textures/quests/selfie.png | Bin 0 -> 268892 bytes kubejs/assets/tfg/textures/quests/sluice.png | Bin 0 -> 204965 bytes .../tfg/textures/quests/supported_mine.png | Bin 0 -> 134615 bytes kubejs/assets/tfg/textures/quests/wheezo.png | Bin 0 -> 102260 bytes kubejs/assets/tfg_excludes.zip | Bin 0 -> 32880 bytes .../vintageimprovements/lang/en_us.json | 21 + .../textures/item/aluminum_sheet.png | Bin 0 -> 339 bytes .../textures/item/cast_iron_sheet.png | Bin 0 -> 308 bytes .../textures/item/cobalt_sheet.png | Bin 0 -> 354 bytes .../textures/item/invar_sheet.png | Bin 0 -> 354 bytes .../textures/item/lead_sheet.png | Bin 0 -> 335 bytes .../textures/item/nickel_sheet.png | Bin 0 -> 332 bytes .../textures/item/osmium_sheet.png | Bin 0 -> 297 bytes .../textures/item/palladium_sheet.png | Bin 0 -> 380 bytes .../textures/item/platinum_sheet.png | Bin 0 -> 360 bytes .../textures/item/rhodium_sheet.png | Bin 0 -> 347 bytes .../textures/item/silver_sheet.png | Bin 0 -> 351 bytes kubejs/client_scripts/main_client_script.js | 4 + kubejs/client_scripts/tooltips.js | 134 +- kubejs/config/probejs.json | 15 + .../beneath/loot_tables/blocks/crackrack.json | 44 + .../beneath/loot_tables/entities/red_elk.json | 55 + .../configured_feature/burpflower_patch.json | 9 + .../configured_feature/button_patch.json | 9 + .../configured_feature/chantrelle_patch.json | 9 + .../configured_feature/death_cap_patch.json | 9 + .../worldgen/configured_feature/delta.json | 29 + .../destroying_angels_patch.json | 9 + .../fools_funnel_patch.json | 9 + .../configured_feature/gleamflower_patch.json | 9 + .../configured_feature/oyster_patch.json | 9 + .../configured_feature/parasol_patch.json | 9 + .../configured_feature/portobello_patch.json | 9 + .../configured_feature/shittake_patch.json | 9 + .../configured_feature/sulfur_patch.json | 9 + .../configured_feature/sulfur_tuft_patch.json | 9 + .../vein/crackrack_pipe.json | 51 + .../configured_feature/vein/cursecoal.json | 34 + .../configured_feature/vein/sylvite.json | 24 + .../placed_feature/glowstone_spikes.json | 48 + .../tags/items/blaze_burner_fuel/regular.json | 13 - .../tags/items/blaze_burner_fuel/special.json | 7 - .../loot_tables/entities/cave_enderman.json | 126 + .../entities/dark_oak_enderman.json | 96 + .../entities/mushroom_fields_enderman.json | 96 + .../entities/nether_wastes_enderman.json | 66 + .../loot_tables/entities/swamp_enderman.json | 66 + .../wood/watercraft_frame_angled/acacia.json | 269 - .../wood/watercraft_frame_angled/ash.json | 269 - .../wood/watercraft_frame_angled/aspen.json | 269 - .../wood/watercraft_frame_angled/birch.json | 269 - .../watercraft_frame_angled/blackwood.json | 269 - .../watercraft_frame_angled/chestnut.json | 269 - .../watercraft_frame_angled/douglas_fir.json | 269 - .../wood/watercraft_frame_angled/hickory.json | 269 - .../wood/watercraft_frame_angled/kapok.json | 269 - .../watercraft_frame_angled/mangrove.json | 269 - .../wood/watercraft_frame_angled/maple.json | 269 - .../wood/watercraft_frame_angled/oak.json | 269 - .../wood/watercraft_frame_angled/palm.json | 269 - .../wood/watercraft_frame_angled/pine.json | 269 - .../watercraft_frame_angled/rosewood.json | 269 - .../wood/watercraft_frame_angled/sequoia.json | 269 - .../wood/watercraft_frame_angled/spruce.json | 269 - .../watercraft_frame_angled/sycamore.json | 269 - .../watercraft_frame_angled/white_cedar.json | 269 - .../wood/watercraft_frame_angled/willow.json | 269 - .../wood/watercraft_frame_flat/acacia.json | 269 - .../wood/watercraft_frame_flat/ash.json | 269 - .../wood/watercraft_frame_flat/aspen.json | 269 - .../wood/watercraft_frame_flat/birch.json | 269 - .../wood/watercraft_frame_flat/blackwood.json | 269 - .../wood/watercraft_frame_flat/chestnut.json | 269 - .../watercraft_frame_flat/douglas_fir.json | 269 - .../wood/watercraft_frame_flat/hickory.json | 269 - .../wood/watercraft_frame_flat/kapok.json | 269 - .../wood/watercraft_frame_flat/mangrove.json | 269 - .../wood/watercraft_frame_flat/maple.json | 269 - .../wood/watercraft_frame_flat/oak.json | 269 - .../wood/watercraft_frame_flat/palm.json | 269 - .../wood/watercraft_frame_flat/pine.json | 269 - .../wood/watercraft_frame_flat/rosewood.json | 269 - .../wood/watercraft_frame_flat/sequoia.json | 269 - .../wood/watercraft_frame_flat/spruce.json | 269 - .../wood/watercraft_frame_flat/sycamore.json | 269 - .../watercraft_frame_flat/white_cedar.json | 269 - .../wood/watercraft_frame_flat/willow.json | 269 - .../aircraft_upgrades/enhanced_propeller.json | 3 + .../improved_landing_gear.json | 3 + .../aircraft_upgrades/steel_boiler.json | 4 + .../loot_tables/entities/golem_2.json | 25 + .../loot_tables/entities/tfc.json | 25 + .../lootr/loot_table/blocks/lootr_chest.json | 30 + .../data/minecraft/dimension/the_nether.json | 305 + .../loot_tables/blocks/blackstone.json | 44 + .../loot_tables/blocks/cobbled_deepslate.json | 38 + .../loot_tables/blocks/deepslate.json | 44 + .../loot_tables/blocks/dripstone_block.json | 44 + .../minecraft/loot_tables/blocks/fern.json | 5 + .../loot_tables/blocks/gilded_blackstone.json | 65 + .../loot_tables/blocks/gold_block.json | 21 + .../minecraft/loot_tables/blocks/lantern.json | 35 + .../loot_tables/blocks/large_fern.json | 5 + .../loot_tables/chests/bastion_bridge.json | 929 +++ .../chests/bastion_hoglin_stable.json | 929 +++ .../loot_tables/chests/bastion_other.json | 929 +++ .../loot_tables/chests/bastion_treasure.json | 561 ++ .../loot_tables/entities/enderman.json | 65 + .../loot_tables/entities/magma_cube.json | 35 + .../loot_tables/entities/phantom.json | 59 + .../loot_tables/entities/wither_skeleton.json | 65 + .../gameplay/piglin_bartering.json | 311 + .../bastion/bridge/bridge_pieces/bridge.nbt | Bin 0 -> 14679 bytes .../bastion/bridge/rampart_plates/plate_0.nbt | Bin 0 -> 1876 bytes .../bastion/bridge/ramparts/rampart_0.nbt | Bin 0 -> 11561 bytes .../bastion/bridge/ramparts/rampart_1.nbt | Bin 0 -> 18329 bytes .../bridge/starting_pieces/entrance.nbt | Bin 0 -> 37792 bytes .../bridge/starting_pieces/entrance_base.nbt | Bin 0 -> 41811 bytes .../bridge/starting_pieces/entrance_face.nbt | Bin 0 -> 2563 bytes .../hoglin_stable/large_stables/inner_0.nbt | Bin 0 -> 1793 bytes .../hoglin_stable/large_stables/inner_1.nbt | Bin 0 -> 1995 bytes .../hoglin_stable/large_stables/inner_2.nbt | Bin 0 -> 2226 bytes .../hoglin_stable/large_stables/inner_3.nbt | Bin 0 -> 2291 bytes .../hoglin_stable/large_stables/inner_4.nbt | Bin 0 -> 1998 bytes .../hoglin_stable/large_stables/outer_0.nbt | Bin 0 -> 1915 bytes .../hoglin_stable/large_stables/outer_1.nbt | Bin 0 -> 2224 bytes .../hoglin_stable/large_stables/outer_2.nbt | Bin 0 -> 2432 bytes .../hoglin_stable/large_stables/outer_3.nbt | Bin 0 -> 2305 bytes .../hoglin_stable/large_stables/outer_4.nbt | Bin 0 -> 2244 bytes .../rampart_plates/rampart_plate_1.nbt | Bin 0 -> 1985 bytes .../hoglin_stable/ramparts/ramparts_1.nbt | Bin 0 -> 18200 bytes .../hoglin_stable/ramparts/ramparts_2.nbt | Bin 0 -> 11313 bytes .../hoglin_stable/ramparts/ramparts_3.nbt | Bin 0 -> 6048 bytes .../hoglin_stable/small_stables/inner_0.nbt | Bin 0 -> 1854 bytes .../hoglin_stable/small_stables/inner_1.nbt | Bin 0 -> 1915 bytes .../hoglin_stable/small_stables/inner_2.nbt | Bin 0 -> 2146 bytes .../hoglin_stable/small_stables/inner_3.nbt | Bin 0 -> 1656 bytes .../hoglin_stable/small_stables/outer_0.nbt | Bin 0 -> 2042 bytes .../hoglin_stable/small_stables/outer_1.nbt | Bin 0 -> 1984 bytes .../hoglin_stable/small_stables/outer_2.nbt | Bin 0 -> 2074 bytes .../hoglin_stable/small_stables/outer_3.nbt | Bin 0 -> 1818 bytes .../hoglin_stable/stairs/stairs_1_0.nbt | Bin 0 -> 4134 bytes .../hoglin_stable/stairs/stairs_1_1.nbt | Bin 0 -> 4032 bytes .../hoglin_stable/stairs/stairs_1_2.nbt | Bin 0 -> 4094 bytes .../hoglin_stable/stairs/stairs_1_3.nbt | Bin 0 -> 4262 bytes .../hoglin_stable/stairs/stairs_1_4.nbt | Bin 0 -> 4181 bytes .../hoglin_stable/stairs/stairs_2_0.nbt | Bin 0 -> 4100 bytes .../hoglin_stable/stairs/stairs_2_1.nbt | Bin 0 -> 3996 bytes .../hoglin_stable/stairs/stairs_2_2.nbt | Bin 0 -> 3864 bytes .../hoglin_stable/stairs/stairs_2_3.nbt | Bin 0 -> 3155 bytes .../hoglin_stable/stairs/stairs_2_4.nbt | Bin 0 -> 4107 bytes .../hoglin_stable/stairs/stairs_3_0.nbt | Bin 0 -> 3817 bytes .../hoglin_stable/stairs/stairs_3_1.nbt | Bin 0 -> 3681 bytes .../hoglin_stable/stairs/stairs_3_2.nbt | Bin 0 -> 3975 bytes .../hoglin_stable/stairs/stairs_3_3.nbt | Bin 0 -> 4130 bytes .../hoglin_stable/stairs/stairs_3_4.nbt | Bin 0 -> 2622 bytes .../starting_pieces/stairs_0_mirrored.nbt | Bin 0 -> 4369 bytes .../starting_pieces/stairs_1_mirrored.nbt | Bin 0 -> 4367 bytes .../starting_pieces/stairs_2_mirrored.nbt | Bin 0 -> 4361 bytes .../starting_pieces/stairs_3_mirrored.nbt | Bin 0 -> 4531 bytes .../starting_pieces/stairs_4_mirrored.nbt | Bin 0 -> 4312 bytes .../starting_pieces/starting_stairs_0.nbt | Bin 0 -> 4264 bytes .../starting_pieces/starting_stairs_1.nbt | Bin 0 -> 4535 bytes .../starting_pieces/starting_stairs_2.nbt | Bin 0 -> 4494 bytes .../starting_pieces/starting_stairs_3.nbt | Bin 0 -> 4547 bytes .../starting_pieces/starting_stairs_4.nbt | Bin 0 -> 4386 bytes .../hoglin_stable/walls/side_wall_0.nbt | Bin 0 -> 15551 bytes .../hoglin_stable/walls/side_wall_1.nbt | Bin 0 -> 15807 bytes .../bastion/hoglin_stable/walls/wall_base.nbt | Bin 0 -> 15033 bytes .../structures/bastion/mobs/hoglin.nbt | Bin 0 -> 742 bytes .../treasure/bases/centers/center_0.nbt | Bin 0 -> 1014 bytes .../treasure/bases/centers/center_1.nbt | Bin 0 -> 957 bytes .../treasure/bases/centers/center_2.nbt | Bin 0 -> 1053 bytes .../treasure/bases/centers/center_3.nbt | Bin 0 -> 738 bytes .../bastion/treasure/bases/lava_basin.nbt | Bin 0 -> 6012 bytes .../treasure/corners/bottom/corner_0.nbt | Bin 0 -> 1673 bytes .../treasure/corners/bottom/corner_1.nbt | Bin 0 -> 1678 bytes .../treasure/corners/middle/corner_0.nbt | Bin 0 -> 1578 bytes .../treasure/corners/middle/corner_1.nbt | Bin 0 -> 1543 bytes .../bastion/treasure/corners/top/corner_0.nbt | Bin 0 -> 1555 bytes .../bastion/treasure/corners/top/corner_1.nbt | Bin 0 -> 1576 bytes .../bastion/treasure/extensions/fire_room.nbt | Bin 0 -> 1736 bytes .../bastion/treasure/extensions/house_0.nbt | Bin 0 -> 2024 bytes .../bastion/treasure/extensions/house_1.nbt | Bin 0 -> 2088 bytes .../treasure/extensions/large_bridge_0.nbt | Bin 0 -> 475 bytes .../treasure/extensions/large_bridge_1.nbt | Bin 0 -> 432 bytes .../treasure/extensions/large_bridge_3.nbt | Bin 0 -> 594 bytes .../treasure/extensions/small_bridge_1.nbt | Bin 0 -> 412 bytes .../treasure/extensions/small_bridge_3.nbt | Bin 0 -> 483 bytes .../treasure/ramparts/bottom_wall_0.nbt | Bin 0 -> 11855 bytes .../treasure/ramparts/mid_wall_main.nbt | Bin 0 -> 19768 bytes .../treasure/ramparts/mid_wall_side.nbt | Bin 0 -> 18513 bytes .../bastion/treasure/ramparts/top_wall.nbt | Bin 0 -> 9794 bytes .../bastion/treasure/walls/bottom/wall_0.nbt | Bin 0 -> 6136 bytes .../bastion/treasure/walls/bottom/wall_1.nbt | Bin 0 -> 6032 bytes .../bastion/treasure/walls/bottom/wall_2.nbt | Bin 0 -> 6024 bytes .../bastion/treasure/walls/bottom/wall_3.nbt | Bin 0 -> 6083 bytes .../bastion/treasure/walls/entrance_wall.nbt | Bin 0 -> 2550 bytes .../bastion/treasure/walls/mid/wall_0.nbt | Bin 0 -> 5872 bytes .../bastion/treasure/walls/mid/wall_1.nbt | Bin 0 -> 5808 bytes .../bastion/treasure/walls/mid/wall_2.nbt | Bin 0 -> 5827 bytes .../treasure/walls/top/main_entrance.nbt | Bin 0 -> 5785 bytes .../bastion/treasure/walls/top/wall_0.nbt | Bin 0 -> 5781 bytes .../bastion/treasure/walls/top/wall_1.nbt | Bin 0 -> 5847 bytes .../bastion/units/center_pieces/center_0.nbt | Bin 0 -> 2974 bytes .../bastion/units/center_pieces/center_1.nbt | Bin 0 -> 3287 bytes .../bastion/units/center_pieces/center_2.nbt | Bin 0 -> 3345 bytes .../structures/bastion/units/edges/edge_0.nbt | Bin 0 -> 2264 bytes .../bastion/units/fillers/stage_0.nbt | Bin 0 -> 2343 bytes .../bastion/units/rampart_plates/plate_0.nbt | Bin 0 -> 3342 bytes .../bastion/units/ramparts/ramparts_0.nbt | Bin 0 -> 22602 bytes .../bastion/units/ramparts/ramparts_1.nbt | Bin 0 -> 10875 bytes .../bastion/units/ramparts/ramparts_2.nbt | Bin 0 -> 6336 bytes .../bastion/units/stages/rot/stage_1_0.nbt | Bin 0 -> 2285 bytes .../bastion/units/stages/stage_0_0.nbt | Bin 0 -> 2418 bytes .../bastion/units/stages/stage_0_1.nbt | Bin 0 -> 2511 bytes .../bastion/units/stages/stage_0_2.nbt | Bin 0 -> 2622 bytes .../bastion/units/stages/stage_0_3.nbt | Bin 0 -> 2392 bytes .../bastion/units/stages/stage_1_0.nbt | Bin 0 -> 2357 bytes .../bastion/units/stages/stage_1_2.nbt | Bin 0 -> 2388 bytes .../bastion/units/stages/stage_1_3.nbt | Bin 0 -> 2374 bytes .../bastion/units/stages/stage_2_0.nbt | Bin 0 -> 2320 bytes .../bastion/units/stages/stage_2_1.nbt | Bin 0 -> 2339 bytes .../bastion/units/wall_units/edge_0_large.nbt | Bin 0 -> 2666 bytes .../bastion/units/wall_units/unit_0.nbt | Bin 0 -> 2381 bytes .../bastion/units/walls/connected_wall.nbt | Bin 0 -> 14819 bytes .../bastion/units/walls/wall_base.nbt | Bin 0 -> 15819 bytes .../tfc/tags/items/mob_mainhand_weapons.json | 51 + .../aluminium_hull_reinforcement.json | 3 + .../aluminium_landing_gear.json | 3 + ...black_steel_plated_airplane_propeller.json | 3 + .../aircraft_upgrades/ev_aircraft_engine.json | 4 + .../aircraft_upgrades/hv_aircraft_engine.json | 4 + .../aircraft_upgrades/lv_aircraft_engine.json | 4 + .../redblu_steel_hull_reinforcement.json | 3 + .../redblu_steel_landing_gear.json | 3 + ...edblu_steel_plated_airplane_propeller.json | 3 + .../stainless_steel_hull_reinforcement.json | 3 + .../stainless_steel_landing_gear.json | 3 + ...nless_steel_plated_airplane_propeller.json | 3 + .../titanium_hull_reinforcement.json | 3 + .../titanium_landing_gear.json | 3 + .../titanium_plated_airplane_propeller.json | 3 + .../data/tfg/dimension_type/the_nether.json | 19 + .../data/tfg/loot_tables/blocks/ash_pile.json | 41 + .../tfg/loot_tables/blocks/charred_log.json | 41 + .../blocks/rock/hardened_blackstone.json | 30 + .../blocks/rock/hardened_deepslate.json | 30 + .../blocks/rock/hardened_dripstone.json | 30 + .../tfg/structures/aqueduct/aqueduct_0_0.nbt | Bin 0 -> 704 bytes .../tfg/structures/aqueduct/aqueduct_0_1.nbt | Bin 0 -> 753 bytes .../aqueduct/aqueduct_connector_0_0.nbt | Bin 0 -> 873 bytes .../aqueduct/aqueduct_connector_0_1.nbt | Bin 0 -> 878 bytes .../aqueduct/aqueduct_connector_1_0.nbt | Bin 0 -> 909 bytes .../aqueduct/aqueduct_connector_1_1.nbt | Bin 0 -> 988 bytes .../aqueduct/aqueduct_connector_2_0.nbt | Bin 0 -> 814 bytes .../aqueduct/aqueduct_connector_2_1.nbt | Bin 0 -> 830 bytes .../structures/aqueduct/aqueduct_leg_0_0.nbt | Bin 0 -> 762 bytes .../structures/aqueduct/aqueduct_leg_0_1.nbt | Bin 0 -> 1103 bytes .../structures/aqueduct/aqueduct_leg_0_2.nbt | Bin 0 -> 1081 bytes .../structures/aqueduct/aqueduct_leg_0_3.nbt | Bin 0 -> 873 bytes .../structures/aqueduct/aqueduct_tank_0_0.nbt | Bin 0 -> 691 bytes .../tfg/structures/ocean/ocean_moai_0_0.nbt | Bin 0 -> 800 bytes .../tfg/structures/ocean/ocean_moai_0_1.nbt | Bin 0 -> 846 bytes .../tfg/structures/ocean/ocean_moai_0_2.nbt | Bin 0 -> 878 bytes .../tfg/structures/ocean/ocean_moai_0_3.nbt | Bin 0 -> 1021 bytes .../tfg/structures/ocean/ocean_moai_0_4.nbt | Bin 0 -> 1130 bytes .../tfg/structures/ocean/ocean_moai_0_5.nbt | Bin 0 -> 1085 bytes .../temperate/plains_temperate_house_0_0.nbt | Bin 0 -> 6452 bytes .../temperate/plains_temperate_house_0_1.nbt | Bin 0 -> 5148 bytes .../temperate/plains_temperate_house_0_2.nbt | Bin 0 -> 3384 bytes .../temperate/plains_temperate_road_0_0.nbt | Bin 0 -> 458 bytes .../temperate/plains_temperate_road_0_1.nbt | Bin 0 -> 438 bytes .../tfg/worldgen/biome/nether/ash_forest.json | 184 + .../worldgen/biome/nether/basalt_deltas.json | 147 + .../biome/nether/decaying_caverns.json | 207 + .../worldgen/biome/nether/diorite_caves.json | 205 + .../worldgen/biome/nether/gabbro_caves.json | 205 + .../worldgen/biome/nether/gneiss_caves.json | 206 + .../worldgen/biome/nether/granite_caves.json | 206 + .../tfg/worldgen/biome/nether/lava_floes.json | 176 + .../worldgen/biome/nether/lush_hollow.json | 184 + .../worldgen/biome/nether/schist_caves.json | 205 + .../worldgen/biome/nether/webbed_lair.json | 180 + .../earth/geode/amethyst.json | 108 + .../earth/geode/barite.json | 86 + .../earth/geode/calcite.json | 86 + .../earth/geode/gypsum.json | 86 + .../configured_feature/earth/geode/opal.json | 92 + .../earth/geode/pyrite.json | 86 + .../earth/geode/quartzite.json | 92 + .../earth/nether_hint_vein.json | 81 + .../earth/sulfur_patch.json | 30 + .../earth/vein/deep_garnet_amethyst.json | 493 ++ .../earth/vein/deep_garnet_opal.json | 283 + .../earth/vein/deep_gold.json | 254 + .../earth/vein/deep_hematite.json | 197 + .../earth/vein/deep_limonite.json | 119 + .../earth/vein/deep_magnetite.json | 258 + .../earth/vein/deep_molybdenum.json | 254 + .../earth/vein/deep_pitchblende.json | 236 + .../earth/vein/deep_sapphire.json | 162 + .../earth/vein/deep_scheelite.json | 114 + .../earth/vein/deep_sheldonite.json | 247 + .../earth/vein/deep_topaz.json | 248 + .../earth/vein/normal_apatite.json | 240 + .../vein/normal_basaltic_sands.json | 0 .../earth/vein/normal_bauxite.json | 166 + .../earth/vein/normal_beryllium.json | 115 + .../earth/vein/normal_bismuthinite.json | 223 + .../earth/vein/normal_cassiterite.json | 94 + .../earth/vein/normal_coal.json | 134 + .../earth/vein/normal_copper.json | 145 + .../earth/vein/normal_garnet_tin.json | 497 ++ .../earth/vein/normal_garnierite.json | 99 + .../earth/vein/normal_gold.json | 227 + .../earth/vein/normal_graphite.json | 205 + .../earth/vein/normal_hematite.json | 145 + .../earth/vein/normal_lapis.json | 175 + .../earth/vein/normal_limonite.json | 91 + .../{ => earth}/vein/normal_lubricant.json | 0 .../earth/vein/normal_magnetite.json | 226 + .../earth/vein/normal_manganese.json | 290 + .../{ => earth}/vein/normal_mica.json | 0 .../earth/vein/normal_monazite.json | 90 + .../earth/vein/normal_oilsands.json | 130 + .../earth/vein/normal_olivine.json | 198 + .../earth/vein/normal_quartz.json | 125 + .../earth/vein/normal_redstone.json | 56 + .../earth/vein/normal_salt.json | 139 + .../{ => earth}/vein/normal_saltpeter.json | 0 .../earth/vein/normal_silver.json | 79 + .../earth/vein/normal_sphalerite.json | 263 + .../earth/vein/normal_spodumene.json | 253 + .../earth/vein/normal_sulfur.json | 125 + .../earth/vein/normal_tetrahedrite.json | 171 + .../earth/vein/surface_bismuthinite.json | 223 + .../{ => earth}/vein/surface_cassiterite.json | 0 .../earth/vein/surface_copper.json | 129 + .../earth/vein/surface_sphalerite.json | 223 + .../earth/vein/surface_tetrahedrite.json | 147 + .../worldgen/configured_feature/geode.json | 18 - .../configured_feature/glow_lichen.json | 59 + .../nether/spikes/basalt_spikes.json | 8 + .../nether/spikes/blackstone_spikes.json | 8 + .../nether/spikes/deepslate_spikes.json | 8 + .../nether/spikes/diorite_spikes.json | 8 + .../nether/spikes/dripstone_spikes.json | 8 + .../nether/spikes/gabbro_spikes.json | 8 + .../nether/spikes/gneiss_spikes.json | 8 + .../nether/spikes/granite_spikes.json | 8 + .../nether/spikes/schist_spikes.json | 8 + .../nether/surface/ash_pile.json | 50 + .../nether/surface/ash_pile_small.json | 59 + .../nether/surface/beneath_mushrooms.json | 47 + .../nether/surface/big_brown_mushroom.json | 46 + .../nether/surface/big_mushrooms.json | 13 + .../nether/surface/big_red_mushroom.json | 47 + .../nether/surface/bone_patch.json | 30 + .../nether/surface/charcoal_pile.json | 57 + .../nether/surface/charred_tree.json | 82 + .../nether/surface/cobwebs.json | 11 + .../nether/surface/dead_bush_patch.json | 30 + .../nether/surface/glow_mushroom.json | 47 + .../nether/surface/green_algae_patch.json | 30 + .../nether/surface/guano_patch.json | 30 + .../nether/surface/humus_patch.json | 30 + .../nether/surface/loose_basalt.json | 22 + .../nether/surface/loose_deepslate.json | 22 + .../nether/surface/loose_diorite.json | 22 + .../nether/surface/loose_dripstone.json | 22 + .../nether/surface/loose_gabbro.json | 22 + .../nether/surface/loose_gneiss.json | 22 + .../nether/surface/loose_granite.json | 22 + .../nether/surface/loose_schist.json | 22 + .../nether/surface/mangrove_tree.json | 118 + .../nether/surface/moss_patch_big.json | 30 + .../nether/surface/moss_patch_small.json | 30 + .../nether/surface/mushroom_sprouts.json | 52 + .../nether/surface/philodendron.json | 30 + .../nether/surface/pumice_patch.json | 30 + .../nether/surface/rotten_flesh_patch.json | 30 + .../nether/surface/small_mushrooms.json | 87 + .../nether/surface/stick_patch.json | 30 + .../nether/terrain/clay_patch.json | 29 + .../nether/terrain/clay_patch_kaolin.json | 29 + .../terrain/clay_patch_kaolin_vegetation.json | 58 + .../nether/terrain/clay_patch_vegetation.json | 64 + .../nether/terrain/clay_pool.json | 29 + .../nether/terrain/dripstone_pool.json | 28 + .../nether/terrain/glowberry_vine.json | 102 + .../nether/terrain/glowstone_ceiling.json | 80 + .../nether/terrain/lava_lake.json | 20 + .../nether/terrain/liana_ceiling.json | 100 + .../nether/terrain/lush_caves_ceiling.json | 35 + .../nether/terrain/lush_caves_clay.json | 19 + .../nether/terrain/magma_blob.json | 18 + .../nether/terrain/moss_patch_floor.json | 29 + .../nether/terrain/moss_vegetation.json | 52 + .../nether/terrain/mud_pool.json | 29 + .../nether/terrain/spanish_moss_ceiling.json | 100 + .../nether/terrain/spring_lava.json | 15 + .../nether/terrain/spring_water_lake.json | 17 + .../nether/vein/nether_apatite.json | 87 + .../nether/vein/nether_basaltic_sands.json | 109 + .../nether/vein/nether_bauxite.json | 165 + .../nether/vein/nether_beryllium.json | 155 + .../nether/vein/nether_cassiterite.json | 164 + .../nether/vein/nether_copper.json | 185 + .../nether/vein/nether_garnet.json | 202 + .../nether/vein/nether_garnet_tin.json | 324 + .../nether/vein/nether_garnierite.json | 155 + .../nether/vein/nether_gold.json | 224 + .../nether/vein/nether_graphite.json | 202 + .../nether/vein/nether_hematite.json | 205 + .../nether/vein/nether_lapis.json | 149 + .../nether/vein/nether_limonite.json | 205 + .../nether/vein/nether_lubricant.json | 300 + .../nether/vein/nether_magnetite.json | 205 + .../nether/vein/nether_manganese.json | 185 + .../nether/vein/nether_mica.json | 272 + .../nether/vein/nether_molybdenum.json | 224 + .../nether/vein/nether_monazite.json | 220 + .../nether/vein/nether_naquadah.json | 77 + .../nether/vein/nether_olivine.json | 185 + .../nether/vein/nether_pitchblende.json | 168 + .../nether/vein/nether_quartz.json | 230 + .../nether/vein/nether_redstone.json | 96 + .../nether/vein/nether_saltpeter.json | 248 + .../nether/vein/nether_sapphire.json | 273 + .../nether/vein/nether_scheelite.json | 220 + .../nether/vein/nether_sheldonite.json | 185 + .../nether/vein/nether_silver.json | 127 + .../nether/vein/nether_sphalerite.json | 165 + .../nether/vein/nether_sulfur.json | 159 + .../nether/vein/nether_tetrahedrite.json | 175 + .../nether/vein/nether_topaz.json | 186 + .../vein/deep_garnet_amethyst.json | 369 - .../vein/deep_garnet_opal.json | 231 - .../configured_feature/vein/deep_gold.json | 194 - .../vein/deep_hematite.json | 153 - .../vein/deep_limonite.json | 79 - .../vein/deep_magnetite.json | 234 - .../vein/deep_molybdenum.json | 198 - .../vein/deep_naquadah.json | 119 - .../vein/deep_pitchblende.json | 164 - .../vein/deep_sapphire.json | 162 - .../vein/deep_scheelite.json | 90 - .../vein/deep_sheldonite.json | 175 - .../configured_feature/vein/deep_topaz.json | 192 - .../vein/normal_apatite_.json | 212 - .../vein/normal_bauxite.json | 178 - .../vein/normal_beryllium.json | 123 - .../vein/normal_bismuthinite.json | 215 - .../vein/normal_cassiterite.json | 70 - .../vein/normal_certus_quartz.json | 153 - .../configured_feature/vein/normal_coal.json | 102 - .../vein/normal_copper.json | 117 - .../vein/normal_garnet_tin.json | 485 -- .../vein/normal_garnierite.json | 52 - .../configured_feature/vein/normal_gold.json | 195 - .../vein/normal_graphite.json | 66 - .../vein/normal_hematite.json | 125 - .../configured_feature/vein/normal_lapis.json | 199 - .../vein/normal_limonite.json | 79 - .../vein/normal_magnetite.json | 190 - .../vein/normal_manganese.json | 306 - .../vein/normal_monazite.json | 98 - .../vein/normal_oilsands.json | 102 - .../vein/normal_olivine.json | 206 - .../vein/normal_redstone.json | 68 - .../configured_feature/vein/normal_salt.json | 107 - .../vein/normal_silver.json | 63 - .../vein/normal_sphalerite.json | 215 - .../vein/normal_spodumene.json | 245 - .../vein/normal_sulfur.json | 109 - .../vein/normal_tetrahedrite.json | 143 - .../vein/surface_bismuthinite.json | 215 - .../vein/surface_copper.json | 133 - .../vein/surface_sphalerite.json | 215 - .../vein/surface_tetrahedrite.json | 143 - .../tfg/worldgen/noise/nether_cracks.json | 9 + .../tfg/worldgen/noise_settings/nether.json | 853 +++ .../placed_feature/earth/geode/amethyst.json | 27 + .../placed_feature/earth/geode/barite.json | 27 + .../placed_feature/earth/geode/calcite.json | 27 + .../placed_feature/earth/geode/gypsum.json | 27 + .../placed_feature/earth/geode/opal.json | 27 + .../placed_feature/earth/geode/pyrite.json | 27 + .../placed_feature/earth/geode/quartzite.json | 27 + .../earth/nether_hint_vein.json | 4 + .../placed_feature/earth/sulfur_patch.json | 24 + .../earth/vein/deep_garnet_amethyst.json | 4 + .../earth/vein/deep_garnet_opal.json | 4 + .../placed_feature/earth/vein/deep_gold.json | 4 + .../earth/vein/deep_hematite.json | 4 + .../earth/vein/deep_limonite.json | 4 + .../earth/vein/deep_magnetite.json | 4 + .../earth/vein/deep_molybdenum.json | 4 + .../earth/vein/deep_pitchblende.json | 4 + .../earth/vein/deep_sapphire.json | 4 + .../earth/vein/deep_scheelite.json | 4 + .../earth/vein/deep_sheldonite.json | 4 + .../placed_feature/earth/vein/deep_topaz.json | 4 + .../earth/vein/normal_apatite.json | 4 + .../earth/vein/normal_basaltic_sands.json | 4 + .../earth/vein/normal_bauxite.json | 4 + .../earth/vein/normal_beryllium.json | 4 + .../earth/vein/normal_bismuthinite.json | 4 + .../earth/vein/normal_cassiterite.json | 4 + .../earth/vein/normal_coal.json | 4 + .../earth/vein/normal_copper.json | 4 + .../earth/vein/normal_garnet_tin.json | 4 + .../earth/vein/normal_garnierite.json | 4 + .../earth/vein/normal_gold.json | 4 + .../earth/vein/normal_graphite.json | 4 + .../earth/vein/normal_hematite.json | 4 + .../earth/vein/normal_lapis.json | 4 + .../earth/vein/normal_limonite.json | 4 + .../earth/vein/normal_lubricant.json | 4 + .../earth/vein/normal_magnetite.json | 4 + .../earth/vein/normal_manganese.json | 4 + .../earth/vein/normal_mica.json | 4 + .../earth/vein/normal_monazite.json | 4 + .../earth/vein/normal_oilsands.json | 4 + .../earth/vein/normal_olivine.json | 4 + .../earth/vein/normal_quartz.json | 4 + .../earth/vein/normal_redstone.json | 4 + .../earth/vein/normal_salt.json | 4 + .../earth/vein/normal_saltpeter.json | 4 + .../earth/vein/normal_silver.json | 4 + .../earth/vein/normal_sphalerite.json | 4 + .../earth/vein/normal_spodumene.json | 4 + .../earth/vein/normal_sulfur.json | 4 + .../earth/vein/normal_tetrahedrite.json | 4 + .../earth/vein/surface_bismuthinite.json | 4 + .../earth/vein/surface_cassiterite.json | 4 + .../earth/vein/surface_copper.json | 4 + .../earth/vein/surface_sphalerite.json | 4 + .../earth/vein/surface_tetrahedrite.json | 4 + .../tfg/worldgen/placed_feature/geode.json | 28 - .../worldgen/placed_feature/glow_lichen.json | 35 + .../placed_feature/nether/hardening.json | 123 + .../nether/spikes/basalt_spikes.json | 44 + .../nether/spikes/blackstone_spikes.json | 44 + .../placed_feature/nether/spikes/calcite.json | 27 + .../nether/spikes/deepslate_spikes.json | 44 + .../nether/spikes/diorite_spikes.json | 48 + .../nether/spikes/dripstone_spikes.json | 48 + .../nether/spikes/gabbro_spikes.json | 48 + .../nether/spikes/gneiss_spikes.json | 48 + .../nether/spikes/granite_spikes.json | 48 + .../nether/spikes/mega_calcite.json | 44 + .../nether/spikes/schist_spikes.json | 48 + .../nether/surface/ash_pile.json | 27 + .../nether/surface/ash_pile_small.json | 39 + .../nether/surface/beneath_mushrooms.json | 27 + .../nether/surface/big_mushrooms.json | 50 + .../nether/surface/bone_patch.json | 31 + .../nether/surface/charcoal_pile.json | 39 + .../nether/surface/charred_tree.json | 43 + .../nether/surface/cobwebs.json | 71 + .../nether/surface/dead_bush_patch.json | 31 + .../nether/surface/glow_mushroom.json | 50 + .../nether/surface/green_algae_patch.json | 27 + .../nether/surface/guano_patch.json | 31 + .../nether/surface/humus_patch.json | 31 + .../nether/surface/loose_basalt.json | 41 + .../nether/surface/loose_deepslate.json | 41 + .../nether/surface/loose_diorite.json | 41 + .../nether/surface/loose_dripstone.json | 41 + .../nether/surface/loose_gabbro.json | 41 + .../nether/surface/loose_gneiss.json | 41 + .../nether/surface/loose_granite.json | 41 + .../nether/surface/loose_schist.json | 41 + .../nether/surface/mangrove_tree.json | 39 + .../nether/surface/moss_patch_big.json | 33 + .../nether/surface/moss_patch_small.json | 33 + .../nether/surface/mushroom_sprouts.json | 24 + .../nether/surface/philodendron.json | 33 + .../nether/surface/pumice_patch.json | 39 + .../nether/surface/rotten_flesh_patch.json | 31 + .../nether/surface/small_mushrooms.json | 27 + .../nether/surface/stick_patch.json | 31 + .../nether/terrain/dripstone_pool.json | 45 + .../nether/terrain/glowstone_ceiling.json | 41 + .../nether/terrain/lava_lake.json | 39 + .../nether/terrain/liana_ceiling.json | 44 + .../nether/terrain/lush_caves_ceiling.json | 44 + .../nether/terrain/lush_caves_clay.json | 45 + .../nether/terrain/lush_caves_vegetation.json | 44 + .../nether/terrain/magma_blob.json | 31 + .../nether/terrain/mud_pool.json | 45 + .../nether/terrain/rarer_delta.json | 12 + .../nether/terrain/spanish_moss_ceiling.json | 44 + .../nether/terrain/spring_lava.json | 28 + .../nether/terrain/spring_water_lake.json | 39 + .../nether/vein/nether_apatite.json | 4 + .../nether/vein/nether_basaltic_sands.json | 4 + .../nether/vein/nether_bauxite.json | 4 + .../nether/vein/nether_beryllium.json | 4 + .../nether/vein/nether_cassiterite.json | 4 + .../nether/vein/nether_copper.json | 4 + .../nether/vein/nether_garnet.json | 4 + .../nether/vein/nether_garnet_tin.json | 4 + .../nether/vein/nether_garnierite.json | 4 + .../nether/vein/nether_gold.json | 4 + .../nether/vein/nether_graphite.json | 4 + .../nether/vein/nether_hematite.json | 4 + .../nether/vein/nether_lapis.json | 4 + .../nether/vein/nether_limonite.json | 4 + .../nether/vein/nether_lubricant.json | 4 + .../nether/vein/nether_magnetite.json | 4 + .../nether/vein/nether_manganese.json | 4 + .../nether/vein/nether_mica.json | 4 + .../nether/vein/nether_molybdenum.json | 4 + .../nether/vein/nether_monazite.json | 4 + .../nether/vein/nether_naquadah.json | 4 + .../nether/vein/nether_olivine.json | 4 + .../nether/vein/nether_pitchblende.json | 4 + .../nether/vein/nether_quartz.json | 4 + .../nether/vein/nether_redstone.json | 4 + .../nether/vein/nether_saltpeter.json | 4 + .../nether/vein/nether_sapphire.json | 4 + .../nether/vein/nether_scheelite.json | 4 + .../nether/vein/nether_sheldonite.json | 4 + .../nether/vein/nether_silver.json | 4 + .../nether/vein/nether_sphalerite.json | 4 + .../nether/vein/nether_sulfur.json | 4 + .../nether/vein/nether_tetrahedrite.json | 4 + .../nether/vein/nether_topaz.json | 4 + .../vein/deep_garnet_amethyst.json | 4 - .../placed_feature/vein/deep_garnet_opal.json | 4 - .../placed_feature/vein/deep_gold.json | 4 - .../placed_feature/vein/deep_hematite.json | 4 - .../placed_feature/vein/deep_limonite.json | 4 - .../placed_feature/vein/deep_magnetite.json | 4 - .../placed_feature/vein/deep_molybdenum.json | 4 - .../placed_feature/vein/deep_naquadah.json | 4 - .../placed_feature/vein/deep_pitchblende.json | 4 - .../placed_feature/vein/deep_sapphire.json | 4 - .../placed_feature/vein/deep_scheelite.json | 4 - .../placed_feature/vein/deep_sheldonite.json | 4 - .../placed_feature/vein/deep_topaz.json | 4 - .../placed_feature/vein/normal_apatite_.json | 4 - .../vein/normal_basaltic_sands.json | 4 - .../placed_feature/vein/normal_bauxite.json | 4 - .../placed_feature/vein/normal_beryllium.json | 4 - .../vein/normal_bismuthinite.json | 4 - .../vein/normal_cassiterite.json | 4 - .../vein/normal_certus_quartz.json | 4 - .../placed_feature/vein/normal_coal.json | 4 - .../placed_feature/vein/normal_copper.json | 4 - .../vein/normal_garnet_tin.json | 4 - .../vein/normal_garnierite.json | 4 - .../placed_feature/vein/normal_gold.json | 4 - .../placed_feature/vein/normal_graphite.json | 4 - .../placed_feature/vein/normal_hematite.json | 4 - .../placed_feature/vein/normal_lapis.json | 4 - .../placed_feature/vein/normal_limonite.json | 4 - .../placed_feature/vein/normal_lubricant.json | 4 - .../placed_feature/vein/normal_magnetite.json | 4 - .../placed_feature/vein/normal_manganese.json | 4 - .../placed_feature/vein/normal_mica.json | 4 - .../placed_feature/vein/normal_monazite.json | 4 - .../placed_feature/vein/normal_oilsands.json | 4 - .../placed_feature/vein/normal_olivine.json | 4 - .../placed_feature/vein/normal_redstone.json | 4 - .../placed_feature/vein/normal_salt.json | 4 - .../placed_feature/vein/normal_saltpeter.json | 4 - .../placed_feature/vein/normal_silver.json | 4 - .../vein/normal_sphalerite.json | 4 - .../placed_feature/vein/normal_spodumene.json | 4 - .../placed_feature/vein/normal_sulfur.json | 4 - .../vein/normal_tetrahedrite.json | 4 - .../vein/surface_bismuthinite.json | 4 - .../vein/surface_cassiterite.json | 4 - .../placed_feature/vein/surface_copper.json | 4 - .../vein/surface_sphalerite.json | 4 - .../vein/surface_tetrahedrite.json | 4 - .../worldgen/structure/aqueduct/aqueduct.json | 16 + .../structure/ocean/ocean_moai_0.json | 16 + .../temperate/plains_temperate_house_0.json | 16 + .../structure_set/aqueduct/aqueduct.json | 14 + .../structure_set/ocean/ocean_moai.json | 14 + .../temperate/plains_temperate_house.json | 14 + .../aqueduct/aqueduct_connector_pool.json | 60 + .../aqueduct/aqueduct_leg_pool.json | 42 + .../template_pool/aqueduct/aqueduct_pool.json | 24 + .../aqueduct/aqueduct_tank_pool.json | 15 + .../ocean/ocean_moai_0_pool.json | 60 + .../plains_temperate_house_0_pool.json | 33 + .../plains_temperate_road_0_pool.json | 24 + kubejs/data/tfg_excludes.zip | Bin 0 -> 32767 bytes kubejs/jsconfig.json | 16 + .../advancedperipherals/recipes.js | 146 + .../advancedperipherals/recipes.recycling.js | 413 + .../advancedperipherals/tags.js | 9 + kubejs/server_scripts/ae2/recipes.js | 4046 +++++----- kubejs/server_scripts/afc/data.js | 8 + kubejs/server_scripts/afc/recipes.js | 229 + kubejs/server_scripts/afc/tags.js | 106 + kubejs/server_scripts/alekiroofs/tags.js | 9 + kubejs/server_scripts/alekiships/recipes.js | 72 + kubejs/server_scripts/alekiships/tags.js | 12 + kubejs/server_scripts/beneath/recipes.js | 54 + kubejs/server_scripts/beneath/tags.js | 33 + .../buildinggadgets2/recipes.js | 141 + kubejs/server_scripts/cccbridge/recipes.js | 41 + .../cccbridge/recipes.recycling.js | 94 + kubejs/server_scripts/chalk/data.js | 11 + kubejs/server_scripts/chalk/recipes.js | 50 + kubejs/server_scripts/chalk/tags.js | 10 + kubejs/server_scripts/comforts/recipes.js | 60 + .../server_scripts/computer_craft/recipes.js | 77 +- .../computer_craft/recipes.recycling.js | 234 + kubejs/server_scripts/computer_craft/tags.js | 7 +- .../constructionwand/recipes.js | 76 + kubejs/server_scripts/create/recipes.js | 2938 ++++---- kubejs/server_scripts/create/tags.js | 111 +- .../create_additions/recipes.js | 146 +- .../create_connected/recipes.js | 122 +- .../server_scripts/create_connected/tags.js | 14 +- .../create_horse_power/recipes.js | 48 + kubejs/server_scripts/createdeco/recipes.js | 253 + kubejs/server_scripts/createdeco/tags.js | 48 + kubejs/server_scripts/diggerhelmet/recipes.js | 19 + kubejs/server_scripts/diggerhelmet/tags.js | 14 + .../domum_ornamentum/recipes.js | 265 + .../server_scripts/domum_ornamentum/tags.js | 192 + .../server_scripts/endermanoverhaul/tags.js | 22 + kubejs/server_scripts/etched/recipes.js | 20 +- kubejs/server_scripts/every_compat/recipes.js | 42 +- kubejs/server_scripts/every_compat/tags.js | 16 +- kubejs/server_scripts/exposure/tags.js | 13 + kubejs/server_scripts/extended_ae2/recipes.js | 305 +- kubejs/server_scripts/firmaciv/recipes.js | 249 +- kubejs/server_scripts/firmaciv/tags.js | 2 + kubejs/server_scripts/firmalife/recipes.js | 1220 +-- kubejs/server_scripts/firmalife/tags.js | 3 +- .../server_scripts/framed_blocks/recipes.js | 877 ++- kubejs/server_scripts/ftb_quests/filters.js | 26 + .../server_scripts/grapplinghook/recipes.js | 737 ++ kubejs/server_scripts/greate/recipes.js | 411 + .../greate/recipes.recycling.js | 569 ++ .../server_scripts/greate/recipes.removes.js | 23 + kubejs/server_scripts/greate/tags.js | 48 + kubejs/server_scripts/gregtech/loot.js | 210 +- kubejs/server_scripts/gregtech/recipes.js | 3155 ++++---- .../gregtech/recipes.materials.js | 714 ++ .../gregtech/recipes.removes.js | 587 ++ kubejs/server_scripts/gregtech/tags.js | 142 +- kubejs/server_scripts/gregtech/utility.js | 164 +- .../server_scripts/immersive_aircraft/data.js | 16 + .../immersive_aircraft/recipes.js | 833 +++ .../server_scripts/immersive_aircraft/tags.js | 9 + kubejs/server_scripts/lootr/loot.js | 9 + kubejs/server_scripts/main_server_script.js | 67 +- kubejs/server_scripts/measurements/recipes.js | 30 + kubejs/server_scripts/mega_cells/recipes.js | 2 +- .../server_scripts/minecraft/recipes.dyes.js | 240 + kubejs/server_scripts/minecraft/recipes.js | 4055 +++------- .../minecraft/recipes.removes.js | 2074 ++++++ kubejs/server_scripts/minecraft/tags.js | 101 + kubejs/server_scripts/more_red/recipes.js | 4 +- .../railways/gpedia_locometal_integration.js | 96 + kubejs/server_scripts/railways/recipes.js | 634 +- kubejs/server_scripts/rnr/recipes.js | 61 + kubejs/server_scripts/rnr/tags.js | 7 + kubejs/server_scripts/simplylight/recipes.js | 161 + .../sophisticated_backpacks/recipes.js | 56 +- kubejs/server_scripts/tfc/data.js | 119 +- .../server_scripts/tfc/recipes.alabaster.js | 95 + kubejs/server_scripts/tfc/recipes.dirt.js | 124 + kubejs/server_scripts/tfc/recipes.dyes.js | 132 + kubejs/server_scripts/tfc/recipes.js | 3753 +--------- kubejs/server_scripts/tfc/recipes.knapping.js | 210 + kubejs/server_scripts/tfc/recipes.machines.js | 423 ++ .../server_scripts/tfc/recipes.materials.js | 1283 ++++ kubejs/server_scripts/tfc/recipes.metals.js | 335 + kubejs/server_scripts/tfc/recipes.removes.js | 147 + kubejs/server_scripts/tfc/recipes.sand.js | 173 + kubejs/server_scripts/tfc/recipes.stone.js | 745 ++ kubejs/server_scripts/tfc/recipes.wood.js | 53 + kubejs/server_scripts/tfc/select_climates.js | 25 + kubejs/server_scripts/tfc/tags.js | 280 +- .../tfc_grooming_station/recipes.js | 1 - kubejs/server_scripts/tfcambiental/tags.js | 40 +- kubejs/server_scripts/tfcbetterbf/data.js | 5 + kubejs/server_scripts/tfcbetterbf/recipes.js | 30 + kubejs/server_scripts/tfctextile/tags.js | 14 + kubejs/server_scripts/tfg/events.js | 117 + .../server_scripts/tfg/loot_tables.block.js | 84 + kubejs/server_scripts/tfg/recipes.collapse.js | 20 + .../server_scripts/tfg/recipes.converting.js | 123 + kubejs/server_scripts/tfg/recipes.js | 168 +- kubejs/server_scripts/tfg/recipes.medicine.js | 518 ++ .../tfg/recipes.miscellaneous.js | 192 + kubejs/server_scripts/tfg/recipes.molds.js | 276 + kubejs/server_scripts/tfg/recipes.paper.js | 148 + kubejs/server_scripts/tfg/recipes.rocks.js | 260 + kubejs/server_scripts/tfg/recipes.supports.js | 229 + .../{terrariums.js => recipes.terrariums.js} | 433 +- kubejs/server_scripts/tfg/tags.js | 356 +- kubejs/server_scripts/treetap/data.js | 18 - kubejs/server_scripts/treetap/recipes.js | 36 +- .../vintage_improvements/recipes.js | 611 ++ .../vintage_improvements/tags.js | 59 + kubejs/server_scripts/water_flasks/recipes.js | 99 +- .../advancedperipherals/constants.js | 9 + kubejs/startup_scripts/ae2/constants.js | 3 +- kubejs/startup_scripts/ae2/materials.js | 17 + kubejs/startup_scripts/ae2/tag_prefixes.js | 17 + kubejs/startup_scripts/afc/constants.js | 168 + .../startup_scripts/alekiroofs/constants.js | 16 + .../startup_scripts/alekiships/constants.js | 5 + kubejs/startup_scripts/beneath/constants.js | 149 + .../startup_scripts/beneath/modifications.js | 10 + kubejs/startup_scripts/create/constants.js | 171 +- .../create_additions/constants.js | 2 - .../startup_scripts/createdeco/constants.js | 11 + .../domum_ornamentum/constants.js | 6 + .../startup_scripts/extended_ae2/constants.js | 8 +- kubejs/startup_scripts/firmaciv/constants.js | 2 +- kubejs/startup_scripts/firmalife/constants.js | 12 - kubejs/startup_scripts/greate/constants.js | 168 + kubejs/startup_scripts/gtceu/constants.js | 100 +- kubejs/startup_scripts/gtceu/items.js | 2 - kubejs/startup_scripts/gtceu/machines.js | 260 +- kubejs/startup_scripts/gtceu/material_info.js | 37 - kubejs/startup_scripts/gtceu/materials.js | 280 + kubejs/startup_scripts/gtceu/recipe_types.js | 40 +- kubejs/startup_scripts/gtceu/tag_prefixes.js | 98 + kubejs/startup_scripts/horornot/constants.js | 2 - kubejs/startup_scripts/main_startup_script.js | 52 +- kubejs/startup_scripts/minecraft/constants.js | 84 +- .../minecraft/modifications.js | 23 + kubejs/startup_scripts/rnr/constants.js | 5 + .../sophisticated_backpacks/constants.js | 7 +- kubejs/startup_scripts/tfc/constants.js | 184 +- kubejs/startup_scripts/tfc/icon_sets.js | 37 + kubejs/startup_scripts/tfc/materials.js | 127 + .../startup_scripts/tfc/register_climates.js | 163 + kubejs/startup_scripts/tfc/tag_prefixes.js | 63 + kubejs/startup_scripts/tfg/blocks.js | 387 +- kubejs/startup_scripts/tfg/constants.js | 20 + kubejs/startup_scripts/tfg/fluids.js | 58 +- kubejs/startup_scripts/tfg/items.js | 287 +- kubejs/startup_scripts/tfg/materials.js | 52 +- .../vintage_improvements/constants.js | 100 + mods | 2 +- pakku-lock.json | 6632 +++++++++++++---- pakku.json | 21 +- 2193 files changed, 104602 insertions(+), 53195 deletions(-) create mode 100644 config/additionalplacements-startup.toml create mode 100644 config/advanced_ae-common.toml create mode 100644 config/alekiships-client.toml create mode 100644 config/alltheleaks.json create mode 100644 config/badoptimizations.txt create mode 100644 config/chalk-client.toml create mode 100644 config/chalk-common.toml create mode 100644 config/chunky/config.json create mode 100644 config/comforts-server.toml create mode 100644 config/decay_2012-client.toml delete mode 100644 config/embeddium-fingerprint.json create mode 100644 config/endermanoverhaul.jsonc delete mode 100644 config/extendedcrafting/singularities/aluminum.json delete mode 100644 config/extendedcrafting/singularities/bronze.json delete mode 100644 config/extendedcrafting/singularities/coal.json delete mode 100644 config/extendedcrafting/singularities/copper.json delete mode 100644 config/extendedcrafting/singularities/diamond.json delete mode 100644 config/extendedcrafting/singularities/electrum.json delete mode 100644 config/extendedcrafting/singularities/emerald.json delete mode 100644 config/extendedcrafting/singularities/glowstone.json delete mode 100644 config/extendedcrafting/singularities/gold.json delete mode 100644 config/extendedcrafting/singularities/invar.json delete mode 100644 config/extendedcrafting/singularities/iron.json delete mode 100644 config/extendedcrafting/singularities/lapis_lazuli.json delete mode 100644 config/extendedcrafting/singularities/lead.json delete mode 100644 config/extendedcrafting/singularities/nickel.json delete mode 100644 config/extendedcrafting/singularities/platinum.json delete mode 100644 config/extendedcrafting/singularities/redstone.json delete mode 100644 config/extendedcrafting/singularities/silver.json delete mode 100644 config/extendedcrafting/singularities/steel.json delete mode 100644 config/extendedcrafting/singularities/tin.json create mode 100644 config/fastbench.cfg create mode 100644 config/forgivingworld.json create mode 100644 config/freecam.toml create mode 100644 config/ftbquests/chapter_groups.snbt create mode 100644 config/ftbquests/data.snbt delete mode 100644 config/ftbquests/quests/chapters/create.snbt delete mode 100644 config/ftbquests/quests/chapters/primitive_age.snbt create mode 100644 config/ftbquests/quests/chapters/questsmetallurgy.snbt create mode 100644 config/ftbquests/quests/chapters/questssteam_age.snbt create mode 100644 config/ftbquests/quests/chapters/questsstoneage.snbt create mode 100644 config/ftbquests/quests/chapters/queststfc_tips.snbt create mode 100644 config/ftbquests/quests/chapters/queststfg.snbt delete mode 100644 config/ftbquests/quests/chapters/steam_age.snbt delete mode 100644 config/ftbquests/quests/reward_tables/bronze_age.snbt delete mode 100644 config/ftbquests/quests/reward_tables/coke_oven.snbt delete mode 100644 config/ftbquests/quests/reward_tables/lv_lootbox.snbt delete mode 100644 config/gcyr.yaml create mode 100644 config/lmft.json create mode 100644 config/lootr-client.toml create mode 100644 config/lootr-common.toml create mode 100644 config/measurements-client.toml create mode 100644 config/particle_core_config.toml create mode 100644 config/particle_core_disabled_optimizations.json create mode 100644 config/particular-common.toml create mode 100644 config/sodiumdynamiclights-client.toml create mode 100644 config/sodiumextras-client.toml create mode 100644 config/sound_physics_remastered/allowed_sounds.properties create mode 100644 config/sound_physics_remastered/occlusion.properties create mode 100644 config/sound_physics_remastered/reflectivity.properties create mode 100644 config/sound_physics_remastered/soundphysics.properties delete mode 100644 config/tfcdesirepaths-common.toml create mode 100644 config/tfcgenviewer.toml create mode 100644 config/vintageimprovements-client.toml create mode 100644 config/visual_workbench.json create mode 100644 config/visualworkbench-client.toml create mode 100644 config/xaerominimap.txt create mode 100644 config/xaerominimap_entities.json create mode 100644 config/xaeroworldmap.txt create mode 100644 defaultconfigs/create_connected-server.toml create mode 100644 defaultconfigs/createhorsepower-server.toml create mode 100644 defaultconfigs/greate-server.toml create mode 100644 defaultconfigs/vintageimprovements-server.toml create mode 100644 icon.png create mode 100644 kubejs/.README IF TRANSLATING create mode 100644 kubejs/assets/afc/textures/block/syrup_tap.png create mode 100644 kubejs/assets/afc/textures/item/tree_tap.png create mode 100644 kubejs/assets/beneath/lang/en_us.json create mode 100644 kubejs/assets/beneath/textures/block/hellbricks.png create mode 100644 kubejs/assets/beneath/textures/block/nether_cursecoal.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur0.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur1.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur2.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur3.png create mode 100644 kubejs/assets/constructionwand/lang/en_us.json create mode 100644 kubejs/assets/constructionwand/textures/item/diamond_wand.png create mode 100644 kubejs/assets/constructionwand/textures/item/infinity_wand.png create mode 100644 kubejs/assets/constructionwand/textures/item/iron_wand.png create mode 100644 kubejs/assets/constructionwand/textures/item/stone_wand.png create mode 100644 kubejs/assets/create/textures/block/netherite_backtank.png create mode 100644 kubejs/assets/create/textures/item/netherite_diving_boots.png create mode 100644 kubejs/assets/create/textures/item/netherite_diving_helmet.png create mode 100644 kubejs/assets/create/textures/models/armor/netherite_diving_arm.png create mode 100644 kubejs/assets/create/textures/models/armor/netherite_diving_layer_1.png create mode 100644 kubejs/assets/create/textures/models/armor/netherite_diving_layer_2.png create mode 100644 kubejs/assets/createdeco/lang/en_us.json create mode 100644 kubejs/assets/createdeco/textures/block/netherite_coinstack_bottom.png create mode 100644 kubejs/assets/createdeco/textures/block/netherite_coinstack_side.png create mode 100644 kubejs/assets/createdeco/textures/block/netherite_coinstack_top.png create mode 100644 kubejs/assets/createdeco/textures/item/netherite_coin.png create mode 100644 kubejs/assets/createdeco/textures/item/netherite_coinstack.png create mode 100644 kubejs/assets/emi/category/properties/ae2_attunement.json create mode 100644 kubejs/assets/emi/category/properties/ae2_condenser.json create mode 100644 kubejs/assets/emi/category/properties/ae2_entropy.json create mode 100644 kubejs/assets/emi/category/properties/ae2_item_transformation.json create mode 100644 kubejs/assets/emi/category/properties/create_deploying.json create mode 100644 kubejs/assets/emi/category/properties/create_draining.json create mode 100644 kubejs/assets/emi/category/properties/create_item_application.json create mode 100644 kubejs/assets/emi/category/properties/create_mechanical_crafting.json create mode 100644 kubejs/assets/emi/category/properties/create_sequenced_assembly.json create mode 100644 kubejs/assets/emi/category/properties/create_spout_filling.json create mode 100644 kubejs/assets/emi/category/properties/createaddition_rolling.json create mode 100644 kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json create mode 100644 kubejs/assets/emi/category/properties/emi_info.json create mode 100644 kubejs/assets/emi/category/properties/emi_tag.json create mode 100644 kubejs/assets/emi/category/properties/exposure_photograph_printing.json create mode 100644 kubejs/assets/emi/category/properties/exposure_photograph_stacking.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_bowl_pot.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_drying.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_oven.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_smoking.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_stomping.json create mode 100644 kubejs/assets/emi/category/properties/firmalife_vat.json create mode 100644 kubejs/assets/emi/category/properties/framedblocks_framing_saw.json create mode 100644 kubejs/assets/emi/category/properties/ftbquests_quest.json create mode 100644 kubejs/assets/emi/category/properties/greate_block_cutting.json create mode 100644 kubejs/assets/emi/category/properties/greate_crushing.json create mode 100644 kubejs/assets/emi/category/properties/greate_fan_washing.json create mode 100644 kubejs/assets/emi/category/properties/greate_milling.json create mode 100644 kubejs/assets/emi/category/properties/greate_mixing.json create mode 100644 kubejs/assets/emi/category/properties/greate_packing.json create mode 100644 kubejs/assets/emi/category/properties/greate_sawing.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_air_scrubber.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_arc_furnace.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_assembler.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_assembly_line.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_autoclave.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_bedrock_fluid_diagram.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_bender.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_brewery.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_canner.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_centrifuge.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_chem_dyes.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_chemical_bath.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_coke_oven.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_combustion_generator.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_compressor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_cracker.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_cutter.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_distillation_tower.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_distillery.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_electrolyzer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_end_dome.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ender_dome.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_evaporation.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_extractor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_extruder.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_fermenter.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_fluid_heater.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_fluid_solidifer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_forge_hammer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_forming_press.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_gas_collector.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_gas_turbine.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_greenhouse.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ingot_molding.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_large_boiler.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_laser_engraver.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_lathe.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_macerator.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_mixer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_multiblock_info.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_nether_dome.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ore_bathing.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ore_crushing.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ore_forging.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ore_processing_diagram.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_ore_washer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_packer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_plasma_generator.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_polarizer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_pyrolyze_oven.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_research_station.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_rock_breaker.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_scanner.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_sifter.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_steam_boiler.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_steam_turbine.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_wire_coating.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_wiremill.json create mode 100644 kubejs/assets/emi/category/properties/minecraft_crafting.json create mode 100644 kubejs/assets/emi/category/properties/minecraft_furnace.json create mode 100644 kubejs/assets/emi/category/properties/minecraft_smelting.json create mode 100644 kubejs/assets/emi/category/properties/minecraft_smithing.json create mode 100644 kubejs/assets/emi/category/properties/rnr_block_mod.json create mode 100644 kubejs/assets/emi/category/properties/rnr_mattock.json create mode 100644 kubejs/assets/emi/category/properties/tfc_alloying.json create mode 100644 kubejs/assets/emi/category/properties/tfc_anvil.json create mode 100644 kubejs/assets/emi/category/properties/tfc_blast_furnace.json create mode 100644 kubejs/assets/emi/category/properties/tfc_bloomery.json create mode 100644 kubejs/assets/emi/category/properties/tfc_casting.json create mode 100644 kubejs/assets/emi/category/properties/tfc_chisel.json create mode 100644 kubejs/assets/emi/category/properties/tfc_clay_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_fire_clay_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_glassworking.json create mode 100644 kubejs/assets/emi/category/properties/tfc_goat_horn_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_heating.json create mode 100644 kubejs/assets/emi/category/properties/tfc_instant_barrel.json create mode 100644 kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json create mode 100644 kubejs/assets/emi/category/properties/tfc_jam_pot.json create mode 100644 kubejs/assets/emi/category/properties/tfc_leather_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_loom.json create mode 100644 kubejs/assets/emi/category/properties/tfc_pumpkin_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_quern.json create mode 100644 kubejs/assets/emi/category/properties/tfc_raw_hide_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_rock_knapping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_scraping.json create mode 100644 kubejs/assets/emi/category/properties/tfc_sealed_barrel.json create mode 100644 kubejs/assets/emi/category/properties/tfc_sewing.json create mode 100644 kubejs/assets/emi/category/properties/tfc_simple_pot.json create mode 100644 kubejs/assets/emi/category/properties/tfc_soup_pot.json create mode 100644 kubejs/assets/emi/category/properties/tfc_welding.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_coiling.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_curving.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_hammering.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_turning.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json create mode 100644 kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json create mode 100644 kubejs/assets/emi/index/stacks/hidden.json create mode 100644 kubejs/assets/endermanoverhaul/lang/en_us.json create mode 100644 kubejs/assets/endermanoverhaul/textures/entity/dark_oak/dark_oak_enderman.png create mode 100644 kubejs/assets/firmaciv/lang/en_us.json create mode 100644 kubejs/assets/firmaciv/textures/item/copper_bolt.png create mode 100644 kubejs/assets/greate/lang/en_us.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/bright/ingot_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/diamond/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/diamond/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/diamond/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/ingot_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_axe.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_butchery_knife.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_chisel.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_file.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hammer.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hoe.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_javelin.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_knife.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mace.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mining_hammer.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_pickaxe.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_propick.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_saw.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_scythe.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_shovel.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_spade.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_sword.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/fine/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/fine/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/fine/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/metallic/ingot_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/metallic/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/metallic/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/metallic/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/ruby/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/ruby/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/ruby/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/shiny/ingot_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/shiny/poor_raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/shiny/raw_ore.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/shiny/rich_raw_ore.json create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/diamond/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/dull/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/dull/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/dull/raw_ore_block_secondary.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/fine/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/fine/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/fine/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/fine/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/flint/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/flint/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lapis/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lignite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/lignite/raw_ore_block_secondary.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/metallic/raw_ore_block_secondary.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/quartz/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/rough/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/rough/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/rough/raw_ore_block_secondary.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/ruby/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sulfur/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sulfur/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sulfur/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_sulfur/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore_emissive.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore_emissive_layer2.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore_layer2.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/diamond/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_axe.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_butchery_knife.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_chisel.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_file.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hammer.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hoe.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_javelin.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_knife.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_mace.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_mining_hammer.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_pickaxe.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_propick.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_saw.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_scythe.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_shovel.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_spade.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_sword.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/metallic/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/poor_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/poor_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/rich_raw_ore.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/shiny/rich_raw_ore_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/transparent.png create mode 100644 kubejs/assets/immersive_aircraft/lang/en_us.json create mode 100644 kubejs/assets/immersive_aircraft/textures/item/enhanced_propeller.png create mode 100644 kubejs/assets/immersive_aircraft/textures/item/hull_reinforcement.png create mode 100644 kubejs/assets/immersive_aircraft/textures/item/improved_landing_gear.png create mode 100644 kubejs/assets/immersive_aircraft/textures/item/nether_engine.png create mode 100644 kubejs/assets/minecraft/lang/en_us.json create mode 100644 kubejs/assets/minecraft/textures/block/iron_block.png create mode 100644 kubejs/assets/minecraft/textures/block/lantern.png create mode 100644 kubejs/assets/minecraft/textures/block/lantern.png.mcmeta create mode 100644 kubejs/assets/minecraft/textures/block/magma.png create mode 100644 kubejs/assets/minecraft/textures/block/magma.png.mcmeta create mode 100644 kubejs/assets/minecraft/textures/item/iron_ingot.png rename kubejs/assets/{tfg/textures/block/buds/medium_quartzite_bud.png => minecraft/textures/item/iron_nugget.png} (55%) create mode 100644 kubejs/assets/minecraft/textures/item/netherite_leggings.png create mode 100644 kubejs/assets/minecraft/textures/models/armor/netherite_layer_2.png create mode 100644 kubejs/assets/sophisticatedbackpacks/textures/block/diamond_clips.png create mode 100644 kubejs/assets/sophisticatedbackpacks/textures/block/gold_clips.png create mode 100644 kubejs/assets/sophisticatedbackpacks/textures/block/iron_clips.png create mode 100644 kubejs/assets/sophisticatedbackpacks/textures/block/netherite_clips.png create mode 100644 kubejs/assets/sophisticatedbackpacks/textures/entity/backpack.png create mode 100644 kubejs/assets/tfc/models/block/metal/smooth_pattern.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/beneath.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/making_rubber.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tree_tapping.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/beneath.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/biomes.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/burpflower.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/hellforge.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/unposter.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/water.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/stainless_steel.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/introduction.json rename kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/{mechanics/mechanical_power.json => tfg_tips/basic_automation.json} (80%) rename kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/{mechanics/pumps.json => tfg_tips/create.json} (84%) rename kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/{mechanics/crankshaft.json => tfg_tips/inventory_management.json} (96%) delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/the_world/ores_and_minerals.json rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/categories/tfg.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/categories/tfg_ores.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/categories/tfg_tips.json (99%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/firmalife/stainless_steel.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/bloomery.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/crankshaft.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/fire_clay.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/glassworking.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/glassworking_applications.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/mechanical_power.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/mechanics/pumps.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_garnet_amethyst.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_garnet_opal.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_gold.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_hematite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_limonite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_magnetite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_molybdenum.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_naquadah.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_pitchblende.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_sapphire.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_scheelite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_sheldonite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/deep_topaz.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/hazards.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/index.json (99%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_apatite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_basaltic_sands.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_bauxite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_beryllium.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_bismuth.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_cassiterite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_coal.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_copper.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_garnet_tin.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_garnierite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_gold.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_graphite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_hematite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_lapis.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_limonite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_lubricant.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_magnetite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_manganese.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_mica.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_monazite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_oilsands.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_olivine.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_quartz.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_redstone.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_salt.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_saltpeter.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_silver.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_sphalerite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_spodumene.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_sulfur.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/normal_tetrahedrite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/ore_basics.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_bismuth.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_cassiterite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_copper.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_kaolin.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_sphalerite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_ores/surface_tetrahedrite.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_tips/blast_furnace_tips.json (98%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_tips/faqs.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_tips/infinite_resources.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{it-it => it_it}/entries/tfg_tips/lv_machines.json (100%) rename kubejs/assets/tfc/patchouli_books/field_guide/{en_us => it_it}/entries/the_world/ores_and_minerals.json (100%) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json create mode 100644 kubejs/assets/tfc/textures/block/metal/smooth_pattern.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/deepslate.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/dripstone.png create mode 100644 kubejs/assets/tfg/blockstates/ash_pile.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_almandine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_andradite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_apatite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_diamond_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_emerald_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_grossular_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_lapis_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_monazite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_olivine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_opal_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_realgar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_ruby_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_rutile_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/large_yellow_garnet_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_almandine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_andradite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_apatite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_diamond_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_emerald_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_grossular_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_lapis_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_monazite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_olivine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_opal_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_realgar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_ruby_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_rutile_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/medium_yellow_garnet_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_almandine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_andradite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_apatite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_diamond_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_emerald_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_grossular_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_lapis_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_monazite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_olivine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_opal_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_realgar_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_ruby_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_rutile_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_topaz_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/blockstates/buds/small_yellow_garnet_bud.json create mode 100644 kubejs/assets/tfg/blockstates/charred_log.json create mode 100644 kubejs/assets/tfg/blockstates/loose/deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/loose/dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/mushroom_roots.json create mode 100644 kubejs/assets/tfg/blockstates/mushroom_sprouts.json create mode 100644 kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/spike/blackstone_spike.json create mode 100644 kubejs/assets/tfg/blockstates/spike/deepslate_spike.json create mode 100644 kubejs/assets/tfg/blockstates/spike/dripstone_spike.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_block.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height10.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height12.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height14.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height2.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height4.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height6.json create mode 100644 kubejs/assets/tfg/models/block/ash_pile/ash_height8.json create mode 100644 kubejs/assets/tfg/models/block/bud_indicator.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_almandine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_andradite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_apatite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_diamond_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_emerald_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_grossular_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_lapis_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_monazite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_olivine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_opal_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_realgar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_ruby_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_rutile_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/large_yellow_garnet_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_almandine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_andradite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_apatite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_diamond_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_emerald_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_grossular_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_lapis_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_monazite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_olivine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_opal_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_realgar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_ruby_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_rutile_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/medium_yellow_garnet_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_almandine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_andradite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_apatite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_blue_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_cinnabar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_diamond_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_emerald_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_green_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_grossular_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_lapis_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_lazurite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_monazite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_nether_quartz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_olivine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_opal_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_pyrope_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_quartzite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_realgar_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_red_garnet_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_ruby_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_rutile_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_sapphire_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_sodalite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_spessartine_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_topaz_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_uvarovite_bud.json delete mode 100644 kubejs/assets/tfg/models/block/buds/small_yellow_garnet_bud.json create mode 100644 kubejs/assets/tfg/models/block/charred_log.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_black.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_brown.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_cyan.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_green.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_lime.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_magenta.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_orange.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_pink.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_purple.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_red.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_white.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/loot_vase_yellow.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_black.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_brown.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_cyan.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_green.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_light_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_light_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_lime.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_magenta.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_orange.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_pink.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_purple.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_red.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_black.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_brown.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_cyan.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_green.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_blue.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_gray.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_lime.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_magenta.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_orange.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_pink.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_purple.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_red.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_white.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_yellow.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_white.json create mode 100644 kubejs/assets/tfg/models/block/decorative_vase/vase_yellow.json create mode 100644 kubejs/assets/tfg/models/block/loose/deepslate_1.json create mode 100644 kubejs/assets/tfg/models/block/loose/deepslate_2.json create mode 100644 kubejs/assets/tfg/models/block/loose/deepslate_3.json create mode 100644 kubejs/assets/tfg/models/block/loose/dripstone_1.json create mode 100644 kubejs/assets/tfg/models/block/loose/dripstone_2.json create mode 100644 kubejs/assets/tfg/models/block/loose/dripstone_3.json create mode 100644 kubejs/assets/tfg/models/block/mushroom_roots.json create mode 100644 kubejs/assets/tfg/models/block/mushroom_sprouts.json create mode 100644 kubejs/assets/tfg/models/block/rock/hardened_blackstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/hardened_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/hardened_dripstone.json create mode 100644 kubejs/assets/tfg/models/block/spike/blackstone_base.json create mode 100644 kubejs/assets/tfg/models/block/spike/blackstone_middle.json create mode 100644 kubejs/assets/tfg/models/block/spike/blackstone_tip.json create mode 100644 kubejs/assets/tfg/models/block/spike/deepslate_base.json create mode 100644 kubejs/assets/tfg/models/block/spike/deepslate_middle.json create mode 100644 kubejs/assets/tfg/models/block/spike/deepslate_tip.json create mode 100644 kubejs/assets/tfg/models/block/spike/dripstone_base.json create mode 100644 kubejs/assets/tfg/models/block/spike/dripstone_middle.json create mode 100644 kubejs/assets/tfg/models/block/spike/dripstone_tip.json create mode 100644 kubejs/assets/tfg/models/item/ash_pile.json create mode 100644 kubejs/assets/tfg/models/item/charred_log.json rename kubejs/assets/tfg/textures/block/{buds/medium_rutile_bud.png => bud_indicator_layer_0.png} (51%) rename kubejs/assets/tfg/textures/block/{buds/medium_uvarovite_bud.png => bud_indicator_layer_0_emissive.png} (51%) create mode 100644 kubejs/assets/tfg/textures/block/bud_indicator_layer_1.png create mode 100644 kubejs/assets/tfg/textures/block/bud_indicator_layer_1_emissive.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_almandine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_andradite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_apatite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_blue_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_cinnabar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_diamond_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_emerald_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_green_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_grossular_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_lapis_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_lazurite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_monazite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_nether_quartz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_olivine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_opal_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_pyrope_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_quartzite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_realgar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_red_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_ruby_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_rutile_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_sodalite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_spessartine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_uvarovite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/large_yellow_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_almandine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_andradite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_apatite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_blue_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_cinnabar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_diamond_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_emerald_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_green_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_grossular_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_lapis_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_lazurite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_monazite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_nether_quartz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_olivine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_opal_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_pyrope_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_realgar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_red_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_ruby_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_sodalite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_spessartine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/medium_yellow_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_almandine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_andradite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_apatite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_blue_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_cinnabar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_emerald_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_green_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_grossular_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_lapis_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_lazurite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_monazite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_nether_quartz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_olivine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_opal_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_pyrope_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_quartzite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_realgar_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_red_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_ruby_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_rutile_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_sapphire_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_sodalite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_spessartine_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_topaz_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_uvarovite_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/small_yellow_garnet_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/template/large_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/template/medium_bud.png delete mode 100644 kubejs/assets/tfg/textures/block/buds/template/small_bud.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_black.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_brown.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_cyan.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_green.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_light_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_light_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_lime.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_magenta.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_orange.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_pink.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_purple.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_red.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_white.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_yellow.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_black.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_brown.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_cyan.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_green.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_light_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_light_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_lime.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_magenta.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_orange.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_pink.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_purple.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_red.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_black.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_brown.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_cyan.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_green.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_light_blue.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_light_gray.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_lime.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_magenta.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_orange.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_pink.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_purple.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_red.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_white.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_yellow.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_white.png create mode 100644 kubejs/assets/tfg/textures/block/decorative_vase/vase_yellow.png rename kubejs/assets/tfg/textures/block/{buds/small_diamond_bud.png => mushroom_roots.png} (52%) create mode 100644 kubejs/assets/tfg/textures/block/mushroom_sprouts.png rename kubejs/assets/tfg/textures/{blocks => block}/soaked_unrefined_paper.png (100%) create mode 100644 kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/support/andesite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/basalt_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/chalk_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/chert_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/claystone_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/conglomerate_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/dacite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/dark_concrete_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/diorite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/dolomite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/gabbro_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/gneiss_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/granite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/light_concrete_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/limestone_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/marble_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/migmatite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/phyllite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/pyroxenite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/quartzite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/rebar_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/reinforced_light_concrete_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/rhyolite_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/schist_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/shale_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/slate_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/steel_support.png create mode 100644 kubejs/assets/tfg/textures/block/support/travertine_support.png rename kubejs/assets/tfg/textures/{blocks => block}/thermochemically_treated_hardwood_dust.png (100%) create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/ash_forest.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/basalt_deltas.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/decaying_caverns.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/deep_caves.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/lava_floes.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/lush_hollow.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/nether/webbed_lair.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/aspen_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/birch_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/douglas_fir_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/hevea_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/kapok_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/maple_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/rubber_fig_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/spruce_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tapping_index/white_cedar_tree.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/tree_tapping/tapping_kapok.png create mode 100644 kubejs/assets/tfg/textures/item/absorption_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/airship_balloon.png create mode 100644 kubejs/assets/tfg/textures/item/airship_hull.png create mode 100644 kubejs/assets/tfg/textures/item/aluminium_hull_reinforcement.png create mode 100644 kubejs/assets/tfg/textures/item/aluminium_landing_gear.png create mode 100644 kubejs/assets/tfg/textures/item/antipoison_pill.png create mode 100644 kubejs/assets/tfg/textures/item/antipoison_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/bell_casting_mold.png create mode 100644 kubejs/assets/tfg/textures/item/black_steel_plated_airplane_propeller.png create mode 100644 kubejs/assets/tfg/textures/item/brick/deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/chain_casting_mold.png create mode 100644 kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/conifer_rosin.png create mode 100644 kubejs/assets/tfg/textures/item/deprecated.png create mode 100644 kubejs/assets/tfg/textures/item/enhanced_propeller.png create mode 100644 kubejs/assets/tfg/textures/item/ev_aircraft_engine.png create mode 100644 kubejs/assets/tfg/textures/item/file_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/fire_resistance_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/haste_pill.png create mode 100644 kubejs/assets/tfg/textures/item/haste_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/hv_aircraft_engine.png create mode 100644 kubejs/assets/tfg/textures/item/instant_health_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/invisibility_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/lamp_casting_mold.png create mode 100644 kubejs/assets/tfg/textures/item/latex_soaked_gloves.png create mode 100644 kubejs/assets/tfg/textures/item/loose/deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/loose/dripstone.png create mode 100644 kubejs/assets/tfg/textures/item/luck_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/lv_aircraft_engine.png create mode 100644 kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/mattock_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/mv_aircraft_engine.png create mode 100644 kubejs/assets/tfg/textures/item/night_vision_pill.png create mode 100644 kubejs/assets/tfg/textures/item/night_vision_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/paraffin_wax.png create mode 100644 kubejs/assets/tfg/textures/item/pickaxe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/poison_pill.png create mode 100644 kubejs/assets/tfg/textures/item/poison_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/prepared_leather_gloves.png create mode 100644 kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/redblu_steel_hull_reinforcement.png create mode 100644 kubejs/assets/tfg/textures/item/redblu_steel_landing_gear.png create mode 100644 kubejs/assets/tfg/textures/item/redblu_steel_plated_airplane_propeller.png create mode 100644 kubejs/assets/tfg/textures/item/regeneration_pill.png create mode 100644 kubejs/assets/tfg/textures/item/regeneration_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/resistance_salvo.png create mode 100644 kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/scaffolding_frame.png create mode 100644 kubejs/assets/tfg/textures/item/scythe_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/slowness_pill.png create mode 100644 kubejs/assets/tfg/textures/item/slowness_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/speed_pill.png create mode 100644 kubejs/assets/tfg/textures/item/speed_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/stainless_steel_hull_reinforcement.png create mode 100644 kubejs/assets/tfg/textures/item/stainless_steel_landing_gear.png create mode 100644 kubejs/assets/tfg/textures/item/stainless_steel_plated_airplane_propeller.png create mode 100644 kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png create mode 100644 kubejs/assets/tfg/textures/item/terra_firma_greg.png create mode 100644 kubejs/assets/tfg/textures/item/titanium_hull_reinforcement.png create mode 100644 kubejs/assets/tfg/textures/item/titanium_landing_gear.png create mode 100644 kubejs/assets/tfg/textures/item/titanium_plated_airplane_propeller.png create mode 100644 kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png create mode 100644 kubejs/assets/tfg/textures/item/unfinished_electron_tube.png create mode 100644 kubejs/assets/tfg/textures/item/unfired_chalk.png create mode 100644 kubejs/assets/tfg/textures/item/water_breathing_pill.png create mode 100644 kubejs/assets/tfg/textures/item/water_breathing_tablet.png create mode 100644 kubejs/assets/tfg/textures/item/weakness_pill.png create mode 100644 kubejs/assets/tfg/textures/item/weakness_tablet.png create mode 100644 kubejs/assets/tfg/textures/quests/alternator_multiblock.png create mode 100644 kubejs/assets/tfg/textures/quests/auto_coke.png create mode 100644 kubejs/assets/tfg/textures/quests/firepit.png create mode 100644 kubejs/assets/tfg/textures/quests/mining_helmet_option.png create mode 100644 kubejs/assets/tfg/textures/quests/ore_deposit.png create mode 100644 kubejs/assets/tfg/textures/quests/raw_rock.png create mode 100644 kubejs/assets/tfg/textures/quests/selfie.png create mode 100644 kubejs/assets/tfg/textures/quests/sluice.png create mode 100644 kubejs/assets/tfg/textures/quests/supported_mine.png create mode 100644 kubejs/assets/tfg/textures/quests/wheezo.png create mode 100644 kubejs/assets/tfg_excludes.zip create mode 100644 kubejs/assets/vintageimprovements/lang/en_us.json create mode 100644 kubejs/assets/vintageimprovements/textures/item/aluminum_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/cast_iron_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/cobalt_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/invar_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/lead_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/nickel_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/osmium_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/palladium_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/platinum_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/rhodium_sheet.png create mode 100644 kubejs/assets/vintageimprovements/textures/item/silver_sheet.png create mode 100644 kubejs/client_scripts/main_client_script.js create mode 100644 kubejs/config/probejs.json create mode 100644 kubejs/data/beneath/loot_tables/blocks/crackrack.json create mode 100644 kubejs/data/beneath/loot_tables/entities/red_elk.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/burpflower_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/button_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/chantrelle_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/death_cap_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/delta.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/destroying_angels_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/fools_funnel_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/gleamflower_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/oyster_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/parasol_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/portobello_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/shittake_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/sulfur_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/vein/crackrack_pipe.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/vein/cursecoal.json create mode 100644 kubejs/data/beneath/worldgen/configured_feature/vein/sylvite.json create mode 100644 kubejs/data/beneath/worldgen/placed_feature/glowstone_spikes.json delete mode 100644 kubejs/data/create/tags/items/blaze_burner_fuel/regular.json delete mode 100644 kubejs/data/create/tags/items/blaze_burner_fuel/special.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/cave_enderman.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/dark_oak_enderman.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/mushroom_fields_enderman.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/nether_wastes_enderman.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/swamp_enderman.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json delete mode 100644 kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json create mode 100644 kubejs/data/immersive_aircraft/aircraft_upgrades/enhanced_propeller.json create mode 100644 kubejs/data/immersive_aircraft/aircraft_upgrades/improved_landing_gear.json create mode 100644 kubejs/data/immersive_aircraft/aircraft_upgrades/steel_boiler.json create mode 100644 kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json create mode 100644 kubejs/data/kaolinclayze/loot_tables/entities/tfc.json create mode 100644 kubejs/data/lootr/loot_table/blocks/lootr_chest.json create mode 100644 kubejs/data/minecraft/dimension/the_nether.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/blackstone.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/cobbled_deepslate.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/deepslate.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/dripstone_block.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/fern.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/gilded_blackstone.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/gold_block.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/lantern.json create mode 100644 kubejs/data/minecraft/loot_tables/blocks/large_fern.json create mode 100644 kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json create mode 100644 kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json create mode 100644 kubejs/data/minecraft/loot_tables/chests/bastion_other.json create mode 100644 kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json create mode 100644 kubejs/data/minecraft/loot_tables/entities/enderman.json create mode 100644 kubejs/data/minecraft/loot_tables/entities/magma_cube.json create mode 100644 kubejs/data/minecraft/loot_tables/entities/phantom.json create mode 100644 kubejs/data/minecraft/loot_tables/entities/wither_skeleton.json create mode 100644 kubejs/data/minecraft/loot_tables/gameplay/piglin_bartering.json create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/bridge_pieces/bridge.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/rampart_plates/plate_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/ramparts/rampart_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/ramparts/rampart_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance_base.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance_face.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/wall_base.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/mobs/hoglin.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/bases/lava_basin.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/bottom/corner_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/bottom/corner_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/middle/corner_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/middle/corner_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/fire_room.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/house_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/house_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/ramparts/bottom_wall_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_main.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_side.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/ramparts/top_wall.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/entrance_wall.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/top/main_entrance.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/top/wall_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/treasure/walls/top/wall_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/center_pieces/center_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/center_pieces/center_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/center_pieces/center_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/edges/edge_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/fillers/stage_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/rampart_plates/plate_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/rot/stage_1_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_0_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_0_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_0_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_0_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_1_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_1_2.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_1_3.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_2_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/stages/stage_2_1.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/wall_units/edge_0_large.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/wall_units/unit_0.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/walls/connected_wall.nbt create mode 100644 kubejs/data/minecraft/structures/bastion/units/walls/wall_base.nbt create mode 100644 kubejs/data/tfc/tags/items/mob_mainhand_weapons.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/aluminium_hull_reinforcement.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/aluminium_landing_gear.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/black_steel_plated_airplane_propeller.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/ev_aircraft_engine.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/hv_aircraft_engine.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/lv_aircraft_engine.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/redblu_steel_hull_reinforcement.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/redblu_steel_landing_gear.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/redblu_steel_plated_airplane_propeller.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/stainless_steel_hull_reinforcement.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/stainless_steel_landing_gear.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/stainless_steel_plated_airplane_propeller.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/titanium_hull_reinforcement.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/titanium_landing_gear.json create mode 100644 kubejs/data/tfg/aircraft_upgrades/titanium_plated_airplane_propeller.json create mode 100644 kubejs/data/tfg/dimension_type/the_nether.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/ash_pile.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/charred_log.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_0_0.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_0_1.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_0.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_1.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_0.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_1.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_0.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_1.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_0.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_1.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_2.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_3.nbt create mode 100644 kubejs/data/tfg/structures/aqueduct/aqueduct_tank_0_0.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_0.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_1.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_2.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_4.nbt create mode 100644 kubejs/data/tfg/structures/ocean/ocean_moai_0_5.nbt create mode 100644 kubejs/data/tfg/structures/temperate/plains_temperate_house_0_0.nbt create mode 100644 kubejs/data/tfg/structures/temperate/plains_temperate_house_0_1.nbt create mode 100644 kubejs/data/tfg/structures/temperate/plains_temperate_house_0_2.nbt create mode 100644 kubejs/data/tfg/structures/temperate/plains_temperate_road_0_0.nbt create mode 100644 kubejs/data/tfg/structures/temperate/plains_temperate_road_0_1.nbt create mode 100644 kubejs/data/tfg/worldgen/biome/nether/ash_forest.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/granite_caves.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/lava_floes.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/schist_caves.json create mode 100644 kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/sulfur_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_amethyst.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_opal.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_gold.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_hematite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_limonite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_molybdenum.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_pitchblende.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_scheelite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sheldonite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_topaz.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json rename kubejs/data/tfg/worldgen/configured_feature/{ => earth}/vein/normal_basaltic_sands.json (100%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bauxite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_copper.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnet_tin.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnierite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_hematite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lapis.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_limonite.json rename kubejs/data/tfg/worldgen/configured_feature/{ => earth}/vein/normal_lubricant.json (100%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_manganese.json rename kubejs/data/tfg/worldgen/configured_feature/{ => earth}/vein/normal_mica.json (100%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_monazite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_olivine.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_quartz.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_redstone.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_salt.json rename kubejs/data/tfg/worldgen/configured_feature/{ => earth}/vein/normal_saltpeter.json (100%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_silver.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_spodumene.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sulfur.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json rename kubejs/data/tfg/worldgen/configured_feature/{ => earth}/vein/surface_cassiterite.json (100%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/geode.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/glow_lichen.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/basalt_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/blackstone_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/deepslate_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/diorite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/dripstone_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gabbro_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gneiss_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/granite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/spikes/schist_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile_small.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/beneath_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_brown_mushroom.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_red_mushroom.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/bone_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/charcoal_pile.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/charred_tree.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/cobwebs.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/dead_bush_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/glow_mushroom.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/green_algae_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/guano_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/humus_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_basalt.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_deepslate.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_diorite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_dripstone.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gabbro.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gneiss.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_granite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_schist.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/mangrove_tree.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_big.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_small.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/mushroom_sprouts.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/philodendron.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/pumice_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/rotten_flesh_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/small_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/surface/stick_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin_vegetation.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_vegetation.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_pool.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/dripstone_pool.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowberry_vine.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowstone_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lava_lake.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/liana_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_clay.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/magma_blob.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_patch_floor.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_vegetation.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mud_pool.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spanish_moss_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_water_lake.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_apatite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_basaltic_sands.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_bauxite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_copper.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet_tin.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnierite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_gold.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_graphite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_hematite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lapis.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_limonite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lubricant.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_manganese.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_mica.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_molybdenum.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_monazite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_naquadah.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_olivine.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_pitchblende.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_quartz.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_redstone.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_saltpeter.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sapphire.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_scheelite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sheldonite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_silver.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sulfur.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_topaz.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/noise/nether_cracks.json create mode 100644 kubejs/data/tfg/worldgen/noise_settings/nether.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/amethyst.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/barite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/calcite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/gypsum.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/opal.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/pyrite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/geode/quartzite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/sulfur_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_amethyst.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_opal.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_gold.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_hematite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_limonite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_molybdenum.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_pitchblende.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sapphire.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_scheelite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sheldonite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_topaz.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_apatite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_basaltic_sands.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bauxite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_beryllium.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bismuthinite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_cassiterite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_coal.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_copper.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnet_tin.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnierite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_gold.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_graphite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_hematite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lapis.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_limonite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lubricant.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_manganese.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_mica.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_monazite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_olivine.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_quartz.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_redstone.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_salt.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_saltpeter.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_silver.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_spodumene.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sulfur.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_bismuthinite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_cassiterite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_copper.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_tetrahedrite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/geode.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/glow_lichen.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/hardening.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/basalt_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/blackstone_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/calcite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/deepslate_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/diorite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/dripstone_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gabbro_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gneiss_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/granite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/mega_calcite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/spikes/schist_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile_small.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/beneath_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/big_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/bone_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/charcoal_pile.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/charred_tree.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/cobwebs.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/dead_bush_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/glow_mushroom.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/green_algae_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/guano_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/humus_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_basalt.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_deepslate.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_diorite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_dripstone.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gabbro.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gneiss.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_granite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_schist.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/mangrove_tree.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_big.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_small.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/mushroom_sprouts.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/philodendron.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/pumice_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/rotten_flesh_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/small_mushrooms.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/surface/stick_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/dripstone_pool.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/glowstone_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lava_lake.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/liana_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_clay.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_vegetation.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/magma_blob.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mud_pool.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/rarer_delta.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spanish_moss_ceiling.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_lava.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_water_lake.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_apatite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_basaltic_sands.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_bauxite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_beryllium.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_cassiterite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_copper.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet_tin.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnierite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_gold.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_graphite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_hematite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lapis.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_limonite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lubricant.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_magnetite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_manganese.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_mica.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_molybdenum.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_monazite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_naquadah.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_olivine.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_pitchblende.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_quartz.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_redstone.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_saltpeter.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sapphire.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_scheelite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sheldonite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_silver.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sphalerite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sulfur.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_topaz.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json create mode 100644 kubejs/data/tfg/worldgen/structure/aqueduct/aqueduct.json create mode 100644 kubejs/data/tfg/worldgen/structure/ocean/ocean_moai_0.json create mode 100644 kubejs/data/tfg/worldgen/structure/temperate/plains_temperate_house_0.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/aqueduct/aqueduct.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/ocean/ocean_moai.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/temperate/plains_temperate_house.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_connector_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_leg_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_tank_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/ocean/ocean_moai_0_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_house_0_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_road_0_pool.json create mode 100644 kubejs/data/tfg_excludes.zip create mode 100644 kubejs/jsconfig.json create mode 100644 kubejs/server_scripts/advancedperipherals/recipes.js create mode 100644 kubejs/server_scripts/advancedperipherals/recipes.recycling.js create mode 100644 kubejs/server_scripts/advancedperipherals/tags.js create mode 100644 kubejs/server_scripts/afc/data.js create mode 100644 kubejs/server_scripts/afc/recipes.js create mode 100644 kubejs/server_scripts/afc/tags.js create mode 100644 kubejs/server_scripts/alekiroofs/tags.js create mode 100644 kubejs/server_scripts/alekiships/recipes.js create mode 100644 kubejs/server_scripts/alekiships/tags.js create mode 100644 kubejs/server_scripts/beneath/recipes.js create mode 100644 kubejs/server_scripts/beneath/tags.js create mode 100644 kubejs/server_scripts/buildinggadgets2/recipes.js create mode 100644 kubejs/server_scripts/cccbridge/recipes.js create mode 100644 kubejs/server_scripts/cccbridge/recipes.recycling.js create mode 100644 kubejs/server_scripts/chalk/data.js create mode 100644 kubejs/server_scripts/chalk/recipes.js create mode 100644 kubejs/server_scripts/chalk/tags.js create mode 100644 kubejs/server_scripts/comforts/recipes.js create mode 100644 kubejs/server_scripts/computer_craft/recipes.recycling.js create mode 100644 kubejs/server_scripts/constructionwand/recipes.js create mode 100644 kubejs/server_scripts/create_horse_power/recipes.js create mode 100644 kubejs/server_scripts/createdeco/recipes.js create mode 100644 kubejs/server_scripts/createdeco/tags.js create mode 100644 kubejs/server_scripts/diggerhelmet/recipes.js create mode 100644 kubejs/server_scripts/diggerhelmet/tags.js create mode 100644 kubejs/server_scripts/domum_ornamentum/recipes.js create mode 100644 kubejs/server_scripts/domum_ornamentum/tags.js create mode 100644 kubejs/server_scripts/endermanoverhaul/tags.js create mode 100644 kubejs/server_scripts/exposure/tags.js create mode 100644 kubejs/server_scripts/ftb_quests/filters.js create mode 100644 kubejs/server_scripts/grapplinghook/recipes.js create mode 100644 kubejs/server_scripts/greate/recipes.js create mode 100644 kubejs/server_scripts/greate/recipes.recycling.js create mode 100644 kubejs/server_scripts/greate/recipes.removes.js create mode 100644 kubejs/server_scripts/greate/tags.js create mode 100644 kubejs/server_scripts/gregtech/recipes.materials.js create mode 100644 kubejs/server_scripts/gregtech/recipes.removes.js create mode 100644 kubejs/server_scripts/immersive_aircraft/data.js create mode 100644 kubejs/server_scripts/immersive_aircraft/recipes.js create mode 100644 kubejs/server_scripts/immersive_aircraft/tags.js create mode 100644 kubejs/server_scripts/lootr/loot.js create mode 100644 kubejs/server_scripts/measurements/recipes.js create mode 100644 kubejs/server_scripts/minecraft/recipes.dyes.js create mode 100644 kubejs/server_scripts/minecraft/recipes.removes.js create mode 100644 kubejs/server_scripts/railways/gpedia_locometal_integration.js create mode 100644 kubejs/server_scripts/rnr/recipes.js create mode 100644 kubejs/server_scripts/rnr/tags.js create mode 100644 kubejs/server_scripts/simplylight/recipes.js create mode 100644 kubejs/server_scripts/tfc/recipes.alabaster.js create mode 100644 kubejs/server_scripts/tfc/recipes.dirt.js create mode 100644 kubejs/server_scripts/tfc/recipes.dyes.js create mode 100644 kubejs/server_scripts/tfc/recipes.knapping.js create mode 100644 kubejs/server_scripts/tfc/recipes.machines.js create mode 100644 kubejs/server_scripts/tfc/recipes.materials.js create mode 100644 kubejs/server_scripts/tfc/recipes.metals.js create mode 100644 kubejs/server_scripts/tfc/recipes.removes.js create mode 100644 kubejs/server_scripts/tfc/recipes.sand.js create mode 100644 kubejs/server_scripts/tfc/recipes.stone.js create mode 100644 kubejs/server_scripts/tfc/recipes.wood.js create mode 100644 kubejs/server_scripts/tfc/select_climates.js create mode 100644 kubejs/server_scripts/tfcbetterbf/data.js create mode 100644 kubejs/server_scripts/tfcbetterbf/recipes.js create mode 100644 kubejs/server_scripts/tfctextile/tags.js create mode 100644 kubejs/server_scripts/tfg/events.js create mode 100644 kubejs/server_scripts/tfg/loot_tables.block.js create mode 100644 kubejs/server_scripts/tfg/recipes.collapse.js create mode 100644 kubejs/server_scripts/tfg/recipes.converting.js create mode 100644 kubejs/server_scripts/tfg/recipes.medicine.js create mode 100644 kubejs/server_scripts/tfg/recipes.miscellaneous.js create mode 100644 kubejs/server_scripts/tfg/recipes.molds.js create mode 100644 kubejs/server_scripts/tfg/recipes.paper.js create mode 100644 kubejs/server_scripts/tfg/recipes.rocks.js create mode 100644 kubejs/server_scripts/tfg/recipes.supports.js rename kubejs/server_scripts/tfg/{terrariums.js => recipes.terrariums.js} (75%) delete mode 100644 kubejs/server_scripts/treetap/data.js create mode 100644 kubejs/server_scripts/vintage_improvements/recipes.js create mode 100644 kubejs/server_scripts/vintage_improvements/tags.js create mode 100644 kubejs/startup_scripts/advancedperipherals/constants.js create mode 100644 kubejs/startup_scripts/ae2/materials.js create mode 100644 kubejs/startup_scripts/ae2/tag_prefixes.js create mode 100644 kubejs/startup_scripts/afc/constants.js create mode 100644 kubejs/startup_scripts/alekiroofs/constants.js create mode 100644 kubejs/startup_scripts/alekiships/constants.js create mode 100644 kubejs/startup_scripts/beneath/constants.js create mode 100644 kubejs/startup_scripts/beneath/modifications.js create mode 100644 kubejs/startup_scripts/createdeco/constants.js create mode 100644 kubejs/startup_scripts/domum_ornamentum/constants.js create mode 100644 kubejs/startup_scripts/greate/constants.js delete mode 100644 kubejs/startup_scripts/gtceu/material_info.js create mode 100644 kubejs/startup_scripts/gtceu/materials.js create mode 100644 kubejs/startup_scripts/gtceu/tag_prefixes.js create mode 100644 kubejs/startup_scripts/minecraft/modifications.js create mode 100644 kubejs/startup_scripts/rnr/constants.js create mode 100644 kubejs/startup_scripts/tfc/icon_sets.js create mode 100644 kubejs/startup_scripts/tfc/materials.js create mode 100644 kubejs/startup_scripts/tfc/register_climates.js create mode 100644 kubejs/startup_scripts/tfc/tag_prefixes.js create mode 100644 kubejs/startup_scripts/tfg/constants.js create mode 100644 kubejs/startup_scripts/vintage_improvements/constants.js diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d071c8897..5428c1759 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -130,7 +130,8 @@ There are two approaches to creating a Pull Request: via terminal and via GitHub **Branch Designation** - **`main`:** - - This branch contains the stable, tested, and released version of the project. It should only contain changes that have passed the full review cycle. + - This branch contains the stable, tested, and released version of the project. + - It should only contain changes that have passed the full review cycle. - Changes can be accepted by members of the [Dev-Modern] team; at least one approval is required. - **`dev`:** @@ -254,6 +255,9 @@ There are two approaches to creating a Pull Request: via terminal and via GitHub - Always test the integration of your changes with the main project. - Before sending a Pull Request, it is important to ensure that your changes do not disrupt the modpack's operation and comply with [internal code of conduct](CODE_OF_CONDUCT.md). +- #### Localization: + - If you're looking for Localizing the modpack to a Language, please feel free to head to the [Tools-Modern] + --- ## Russian Version @@ -354,7 +358,8 @@ There are two approaches to creating a Pull Request: via terminal and via GitHub **Назначение веток** - **`main`:** - - Эта ветка содержит стабильную, протестированную и релизную версию проекта. В ней должны находиться только изменения, прошедшие полный цикл проверки. + - Эта ветка содержит стабильную, протестированную и релизную версию проекта. + - В ней должны находиться только изменения, прошедшие полный цикл проверки. - Принимать изменения могут участники команды [Dev-Modern], требуется одобрение хотя бы одного. - **`dev`:** @@ -478,12 +483,16 @@ There are two approaches to creating a Pull Request: via terminal and via GitHub - Всегда тестируйте интеграцию ваших изменений с основным проектом. - Перед отправкой Pull Request важно убедиться, что ваши изменения не нарушают работу модпака и соответствуют [внутренним соглашениям по коду](CODE_OF_CONDUCT.md). +- #### Локализация: + - Если вы ищете локализацию Modpack на языке, пожалуйста, не стесняйтесь перейти к [Tools-Modern] + --- [TerraFirmaGreg-Modern]: https://github.com/TerraFirmaGreg-Team/Modpack-Modern [Dev-Modern]: https://github.com/orgs/TerraFirmaGreg-Team/teams/dev-modern [Contributor-Modern]: https://github.com/orgs/TerraFirmaGreg-Team/teams/contributor-modern +[Tools-Modern]: https://github.com/TerraFirmaGreg-Team/Tools-Modern [PrismLauncher]: https://prismlauncher.org [Visual Studio Code]: https://code.visualstudio.com [Git]: https://git-scm.com diff --git a/.gitignore b/.gitignore index d71490f2a..84b0f49cd 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,6 @@ config/customloadingscreen_timings.nbt config/simplelogin.cfg config/fml.toml config/forge-client.toml -config/xaerominimap_entities.json # config/xaerominimap.txt # config/xaeroworldmap.txt config/fancymenu/menu_identifiers.db @@ -46,6 +45,7 @@ config/stellarcore_stitcher_cache_vanilla.dat # .minecraft !bansoukou/**.zip +.vs/ .vscode/ .idea/ .bobby/ @@ -99,6 +99,7 @@ optionsof.txt optionsshaders.txt OpenComputersMod-* hei_bookmarks.ini +gtceu/prospection_cache/ # Server data .pakku/server-overrides/libraries diff --git a/.gitmodules b/.gitmodules index d8c6d3ec1..737b984e8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "mods"] path = mods - url = https://github.com/TerraFirmaGreg-Team/Mods-Modern.git \ No newline at end of file + url = https://github.com/TerraFirmaGreg-Team/Mods-Modern.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed018298..944dbc7ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,20 @@ # Changelog ## [Unreleased] +### Warning for upgrading your world +- This is a major update that changes many things! +- It is safest to create a new instance and copy your world across, instead of trying to update your world in-place. +- Check that everything works before permanently changing over to the new version! +- GregTech has removed its kinetic machines, so they will disappear when upgrading. Please recycle your machines first! +- Several ores and ingots have changed. After upgrading, they will have a "REPLACE ME" texture. Put them in a crafting grid to change to the new version. ### Changes +- Latest version of GregTech! Comes with new textures and a few new features, many bug fixes and much more stability. +- Early game overhaul! You start getting into some automation much earlier and gradually unlock more as you progress, instead of having it all dumped on you after steel. +- New dimension! The Beneath, basically a TFG-ified version of the nether. Stand on overworld bedrock for a bit to start exploring! +- Quest rewrite! The first few quest chapters have been totally remade from the ground up to be more readable, have fewer breaking dependencies, and reflect actual progression. Most of the optional but useful content has been put into its own dedicated section. +- The minimum amount of lava source blocks to be considered infinite has been increased from 1 to 2000. There's many lava lakes underground, and trains are more accessible. +- Many other bug fixes, too many to list! + ## [0.7.19] - 25.01.2025 ### Changes diff --git a/config/Advancedperipherals/general.toml b/config/Advancedperipherals/general.toml index efb0f4139..ec7d08b28 100644 --- a/config/Advancedperipherals/general.toml +++ b/config/Advancedperipherals/general.toml @@ -11,3 +11,9 @@ #Range: > 0 initialCooldownSensitiveLevel = 6000 +[Unsafe] + #By setting this value to true, I understand all operations below are danger to my adventure, and if they caused unexpected behavior in my world, I will not consider it as AP's liability + enableUnsafe = false + #Ignore turtle peripheral item's NBT when equipping. **YOU WILL LOSE ALL NBT ON THE ITEM** + ignoreTurtlePeripheralItemNBT = false + diff --git a/config/Advancedperipherals/peripherals.toml b/config/Advancedperipherals/peripherals.toml index f6af043b7..72728f1b2 100644 --- a/config/Advancedperipherals/peripherals.toml +++ b/config/Advancedperipherals/peripherals.toml @@ -57,6 +57,12 @@ chatBoxMaxRange = -1 #If true, the chat box is able to send messages to other dimensions than its own chatBoxMultiDimensional = true + #If true, the chat box cannot use 'run_command' action + chatBoxPreventRunCommand = false + #If true, the chat box will wrap and execute 'run_command' or 'suggest_command' action with zero permission, in order to prevent operators accidently run dangerous commands. + chatBoxWrapCommand = true + #These commands below will not be able to send by 'run_command' or 'suggest_command' action. It will match as prefix if starts with '/', other wise use regex pattern + chatBoxBannedCommands = ["/execute", "/op", "/deop", "/gamemode", "/gamerule", "/stop", "/give", "/fill", "/setblock", "/summon", "/whitelist", "^/ban-(?:ip)?\\s*", "^/pardon-(?:ip)?\\s*", "^/save-(?:on|off)\\s*"] [Peripherals.ME_Bridge] #Enable the Me Bridge or not. @@ -103,6 +109,12 @@ [Peripherals.Compass_Turtle] #Enable the compass turtle or not. enableCompassTurtle = true + #The maximum distance the compass can locate accurately with in each axis. + #Range: 0 ~ 8 + compassAccurePlaceRadius = 3 + #The free distance the compass can locate accurately with in each axis. + #Range: 0 ~ 4 + compassAccurePlaceFreeRadius = 1 [Peripherals.Powered_Peripherals] #Enable RF storage for peripherals, that could use it @@ -158,4 +170,8 @@ scanEntitiesExtraBlockCost = 0.17 #Range: > 1000 chatMessageCooldown = 1000 + #Range: > 1000 + accurePlaceCooldown = 1000 + #Range: > 0 + accurePlaceCost = 1 diff --git a/config/Advancedperipherals/world.toml b/config/Advancedperipherals/world.toml index 3b4d52c0b..310ca6cb6 100644 --- a/config/Advancedperipherals/world.toml +++ b/config/Advancedperipherals/world.toml @@ -8,4 +8,6 @@ #The weight of the villager structures. #Range: 0 ~ 16000 villagerStructureWeight = 10 + #Enable new wandering trader trades. + enableWanderingTraderTrades = true diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index c15a953f3..376ffa7f2 100644 --- a/config/InventoryHUD/curios.json +++ b/config/InventoryHUD/curios.json @@ -1 +1 @@ -{"clothes_hat":{"x":20,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"gtceu_magnet":{"x":0,"y":40,"enabled":false,"halign":"LEFT","valign":"TOP"},"feet":{"x":0,"y":60,"enabled":false,"halign":"LEFT","valign":"TOP"},"hands":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"TOP"},"belt":{"x":2,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"ring":{"x":2,"y":117,"enabled":true,"halign":"LEFT","valign":"TOP"},"back":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"bracelet":{"x":2,"y":-3,"enabled":true,"halign":"LEFT","valign":"CENTER"},"necklace":{"x":2,"y":146,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"body":{"x":2,"y":126,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_torso":{"x":20,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"curio":{"x":2,"y":136,"enabled":true,"halign":"LEFT","valign":"TOP"},"head":{"x":2,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"charm":{"x":2,"y":99,"enabled":true,"halign":"LEFT","valign":"TOP"},"clothes_pants":{"x":20,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_socks":{"x":20,"y":44,"enabled":true,"halign":"LEFT","valign":"BOTTOM"}} \ No newline at end of file +{"clothes_hat":{"x":20,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"gtceu_magnet":{"x":0,"y":40,"enabled":false,"halign":"LEFT","valign":"TOP"},"feet":{"x":0,"y":60,"enabled":false,"halign":"LEFT","valign":"TOP"},"hands":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"TOP"},"belt":{"x":2,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"ring":{"x":2,"y":117,"enabled":true,"halign":"LEFT","valign":"TOP"},"back":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"bracelet":{"x":2,"y":-3,"enabled":true,"halign":"LEFT","valign":"CENTER"},"necklace":{"x":2,"y":146,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"body":{"x":2,"y":126,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_torso":{"x":20,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"curio":{"x":2,"y":136,"enabled":true,"halign":"LEFT","valign":"TOP"},"head":{"x":2,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"charm":{"x":2,"y":99,"enabled":true,"halign":"LEFT","valign":"TOP"},"adv_pattern_encoder":{"x":0,"y":300,"enabled":false,"halign":"LEFT","valign":"TOP"},"clothes_pants":{"x":20,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_socks":{"x":20,"y":44,"enabled":true,"halign":"LEFT","valign":"BOTTOM"}} \ No newline at end of file diff --git a/config/additionalplacements-client.toml b/config/additionalplacements-client.toml index abc72f97a..d14c88b02 100644 --- a/config/additionalplacements-client.toml +++ b/config/additionalplacements-client.toml @@ -6,4 +6,204 @@ #The length of time in milliseconds for which the placement toggle key must be held for it to automatically return to the previous state when the key is released. setting to 0 turns the key into hold only, setting it to a high value (such as 1000000) will make it generally behave as always a toggle #Range: 0 ~ 9223372036854775807 toggle_quickpress_time = 500 + #Whether to display the logic placement enabled state when first initially loading up a world or logging in to a server. This does NOT stop it from showing when toggled via the keybind later. + login_placement_logic_state_message = true + #Whether to display the logic placement enabled state when toggled with the keybind. This does NOT stop it from showing when you initially load up a world or log in to a server. + toggle_placement_logic_state_message = true + #Whether to enable the rendering of the placement grid and/or preview. + enable_placement_highlights = true + #The color of the placement grid, in AARRGGBB hex format. + grid_color = "66000000" + #The color of the placement preview (currently used in stairs without mixed placement), in AARRGGBB hex format. + preview_color = "66FFFFFF" + + #Options for registered block types for additional placement generation. + [client.types] + + [client.types.additionalplacements] + + #Slabs + [client.types.additionalplacements.slab] + + #Options to control which blocks will rotate the textures of their original blocks. + [client.types.additionalplacements.slab.rotated_textures] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = ["minecraft:smooth_stone_slab"] + + #Options to control which blocks will use "rotated models" of their original blocks. + [client.types.additionalplacements.slab.rotated_models] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = ["minecraft:sandstone_slab", "minecraft:cut_sandstone_slab", "minecraft:red_sandstone_slab", "minecraft:cut_red_sandstone_slab"] + + #Stairs + [client.types.additionalplacements.stairs] + + #Options to control which blocks will rotate the textures of their original blocks. + [client.types.additionalplacements.stairs.rotated_textures] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Options to control which blocks will use "rotated models" of their original blocks. + [client.types.additionalplacements.stairs.rotated_models] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = ["minecraft:sandstone_stairs", "minecraft:red_sandstone_stairs"] + + #Carpets + [client.types.additionalplacements.carpet] + + #Options to control which blocks will rotate the textures of their original blocks. + [client.types.additionalplacements.carpet.rotated_textures] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Options to control which blocks will use "rotated models" of their original blocks. + [client.types.additionalplacements.carpet.rotated_models] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Regular pressure plates + [client.types.additionalplacements.pressure_plate] + + #Options to control which blocks will rotate the textures of their original blocks. + [client.types.additionalplacements.pressure_plate.rotated_textures] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Options to control which blocks will use "rotated models" of their original blocks. + [client.types.additionalplacements.pressure_plate.rotated_models] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Weighted pressure plates + [client.types.additionalplacements.weighted_pressure_plate] + + #Options to control which blocks will rotate the textures of their original blocks. + [client.types.additionalplacements.weighted_pressure_plate.rotated_textures] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] + + #Options to control which blocks will use "rotated models" of their original blocks. + [client.types.additionalplacements.weighted_pressure_plate.rotated_models] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for tags whose blocks will be enabled. Takes priority over the the mod blacklist and whitelist. + tag_whitelist = [] + #Blacklist for tags whose blocks will be disabled. Takes priority over the block whitelist and the mod blacklist and whitelist. + tag_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod and tag blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist and the mod and tag blacklist and whitelist. + block_blacklist = [] diff --git a/config/additionalplacements-common.toml b/config/additionalplacements-common.toml index b8f432bcf..a71e58e1c 100644 --- a/config/additionalplacements-common.toml +++ b/config/additionalplacements-common.toml @@ -1,26 +1,6 @@ #Common settings [common] - #Automatically generate vertical slabs - automatic_slabs = true - #Automatically generate vertical stairs - automatic_stairs = true - #Automatically generate wall and ceiling carpets - automatic_carpets = true - #Automatically generate wall and ceiling pressure plates - automatic_pressure_plates = true - #Automatically generate wall and ceiling weighted pressure plates - automatic_weighted_pressure_plates = true - #Disable automatic vertical slab placement. Use if a mod E.G. DoubleSlabs is conflicting. - disable_slab_placement = false - #Disable automatic vertical stair placement. Use if a mod is conflicting. - disable_stair_placement = false - #Disable automatic wall and ceiling carpet placement. Use if a mod is conflicting. - disable_carpet_placement = false - #Disable automatic wall and ceiling pressure plate placement. Use if a mod is conflicting. - disable_pressure_plate_placement = false - #Disable automatic wall and ceiling weighted pressure plate placement. Use if a mod is conflicting. - disable_weighted_pressure_plate_placement = false #Show tooltip when a block has additional placements tooltip = true #Check for and notify of mismatching tags. Only works when the same option in the server/world config is true. @@ -32,10 +12,40 @@ #The thread priority of the mismatched tag checker. 1 is lowest, 10 is highest, 5 is normal. #Range: 1 ~ 10 checker_priority = 1 - #Blacklist for blocks to not have generated placement variants - blacklist = [] - #Blacklist for mods to not have generated placement variants - mod_blacklist = [] - #Whitelist for blocks from blacklisted mods to still have generated placement variants - mod_block_whitelist = [] + #Fix incorrect states. Adds a slight bit of additional overhead to chunk loading. + #You should only disable this if the worlds you are using were not made using an older version of Additional Placements AND you are not changing the possible placement states of any stair blocks after they were created. + fix_states = true + #Upgrade the blockstates from older versions of Additional Placements. Adds a slight bit of additional overhead to chunk loading - more than having JUST fix_states on. Does nothing if fix_states is off. + #You should only disable this if the worlds you are using were not made using an older version of Additional Placements. + fix_old_states = true + + #Options for registered block types for additional placement generation. + [common.types] + + [common.types.additionalplacements] + + #Slabs + [common.types.additionalplacements.slab] + #Whether or not to allow for manual placement of the additional placement variants of this block type. + enable_placement = true + + #Stairs + [common.types.additionalplacements.stairs] + #Whether or not to allow for manual placement of the additional placement variants of this block type. + enable_placement = true + + #Carpets + [common.types.additionalplacements.carpet] + #Whether or not to allow for manual placement of the additional placement variants of this block type. + enable_placement = true + + #Regular pressure plates + [common.types.additionalplacements.pressure_plate] + #Whether or not to allow for manual placement of the additional placement variants of this block type. + enable_placement = true + + #Weighted pressure plates + [common.types.additionalplacements.weighted_pressure_plate] + #Whether or not to allow for manual placement of the additional placement variants of this block type. + enable_placement = true diff --git a/config/additionalplacements-startup.toml b/config/additionalplacements-startup.toml new file mode 100644 index 000000000..cfb88a20c --- /dev/null +++ b/config/additionalplacements-startup.toml @@ -0,0 +1,132 @@ + +#Startup settings +[startup] + + #Options for controlling which blocks can generate variants of a their type (if one exists). + [startup.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Options for registered block types for additional placement generation. + [startup.types] + + [startup.types.additionalplacements] + + #Slabs + [startup.types.additionalplacements.slab] + + #Options for controlling which blocks (that are valid for this type) will generate variants of this type + [startup.types.additionalplacements.slab.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Stairs + [startup.types.additionalplacements.stairs] + + #Options for controlling which blocks (that are valid for this type) will generate variants of this type + [startup.types.additionalplacements.stairs.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Options to control which blocks will allow for vertical stair connections. + #Keep in mind vertical is RELATIVE to the placement of the stair - "vertical" for a vertically placed stair will be one of the two horizontal directions. + [startup.types.additionalplacements.stairs.allow_vertical_connections] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Options to control which blocks will allow for mixed stair connections. + #These are any valid combination of horizontal and vertical connection - as such, a stair that cannot connect vertically cannot connect complexly. + #This also controls connections between stairs who's facings don't necessarily match up - I.E. a stair facing UP_EAST and one facing EAST_UP. + #Keep in mind horizontal and vertical are RELATIVE to the placement of the stair - "vertical" and "horizontal" for a vertically placed stair are both horizontal directions. + [startup.types.additionalplacements.stairs.allow_mixed_connections] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Carpets + [startup.types.additionalplacements.carpet] + + #Options for controlling which blocks (that are valid for this type) will generate variants of this type + [startup.types.additionalplacements.carpet.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Regular pressure plates + [startup.types.additionalplacements.pressure_plate] + + #Options for controlling which blocks (that are valid for this type) will generate variants of this type + [startup.types.additionalplacements.pressure_plate.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + + #Weighted pressure plates + [startup.types.additionalplacements.weighted_pressure_plate] + + #Options for controlling which blocks (that are valid for this type) will generate variants of this type + [startup.types.additionalplacements.weighted_pressure_plate.enabled] + #Default state for blocks not matching any list. True is enabled, false is disabled. + default = true + #Whitelist for mods whose blocks will be enabled. + mod_whitelist = [] + #Blacklist for mods whose blocks will be disabled. Takes priority over the mod whitelist. + mod_blacklist = [] + #Whitelist for blocks that will be enabled. Takes priority over the the mod blacklist and whitelist. + block_whitelist = [] + #Blacklist for blocks that will be disabled. Takes priority over the block whitelist, the mod blacklist, and the mod whitelist. + block_blacklist = [] + diff --git a/config/advanced_ae-common.toml b/config/advanced_ae-common.toml new file mode 100644 index 000000000..10796d286 --- /dev/null +++ b/config/advanced_ae-common.toml @@ -0,0 +1,68 @@ + +["quantum computer"] + #Define the maximum dimensions of the Quantum Computer Multiblock. + #Range: 5 ~ 12 + quantumComputerMaxSize = 7 + #Define the maximum amount of multi threaders per Quantum Computer Multiblock. + #Range: 4 ~ 16 + quantumComputerAcceleratorThreads = 8 + #Define the maximum amount of multi threaders per Quantum Computer Multiblock. + #Range: 1 ~ 2 + quantumComputerMaxMultiThreaders = 1 + #Define the maximum amount of Data Entanglers per Quantum Computer Multiblock. + #Range: 1 ~ 2 + quantumComputermaxDataEntanglers = 1 + #Define the multiplication factor of the multi threaders. + #Range: 2 ~ 8 + quantumComputerMultiThreaderMultiplication = 4 + #Define the multiplication factor of the data entanglers. + #Range: 2 ~ 8 + quantumComputerDataEntanglerMultiplication = 4 + +["quantum armor"] + #Define the maximum walk speed increase. Values are divided by 10 before use. + #Range: 10 ~ 100 + quantumArmorMaxWalkSpeed = 60 + #Define the maximum sprint speed increase. Values are divided by 10 before use. + #Range: 10 ~ 150 + quantumArmorMaxSprintSpeed = 80 + #Define the maximum increase in step height. + #Range: 1 ~ 5 + quantumArmorMaxStepHeight = 3 + #Define the maximum increase in jump height. + #Range: 1 ~ 5 + quantumArmorMaxJumpHeight = 3 + #Define the maximum swim speed increase. Values are divided by 10 before use. + #Range: 10 ~ 150 + quantumArmorSwimSpeedBoost = 80 + #Define the HP increased of the HP Buffer card. + #Range: 5 ~ 50 + quantumArmorHpBuffer = 20 + #Define the maximum speed boost of the Flight Card. + #Range: 1 ~ 15 + quantumArmorMaxFlightSpeed = 10 + #Define the evasion % chance of the evasion card. + #Range: 0 ~ 100 + quantumArmorEvasionChance = 30 + #Define the max range of the magnet card. + #Range: 5 ~ 15 + quantumArmorMagnetRange = 12 + #Define the Attack Damage boost of the Strength Card. + #Range: 5 ~ 50 + quantumArmorStrengthBoost = 10 + #Define the Attack Speed Damage boost of the Attack Speed Card. + #Range: 1 ~ 10 + quantumArmorAttackSpeedBoost = 5 + #Define the luck boost of the Luck Card. + #Range: 1 ~ 5 + quantumArmorLuckBoost = 2 + #Define the max additional reach of the Reach Card. + #Range: 1 ~ 8 + quantumArmorMaxReachBoost = 5 + #Define the amount of hearts regenerated per tick with the Regeneration Card. Value will be divided by 10 before use. + #Range: 1 ~ 20 + quantumArmorRenegerationPerTick = 10 + #Define the maximum percentage of incoming damage absorbed by the Quantum Armor. This value is still limited by the energy buffer in the equipment. + #Range: 5 ~ 100 + quantumArmorPercentageDamageAbsorption = 30 + diff --git a/config/ae2/common.json b/config/ae2/common.json index d713426be..6f089b803 100644 --- a/config/ae2/common.json +++ b/config/ae2/common.json @@ -7,8 +7,6 @@ "tinyTntBlockDamage": true, "channels_comment": "Changes the channel capacity that cables provide in AE2.", "channels": "default", - "pathfindingStepsPerTick_comment": "The number of pathfinding steps that are taken per tick and per grid that is booting. Lower numbers will mean booting takes longer, but less work is done per tick.", - "pathfindingStepsPerTick": 4, "spatialAnchorEnableRandomTicks_comment": "Whether Spatial Anchors should force random chunk ticks and entity spawning.", "spatialAnchorEnableRandomTicks": true }, @@ -76,7 +74,11 @@ "GridEnergyStoragePerNode_comment": "How much energy can the internal grid buffer storage per node attached to the grid.", "GridEnergyStoragePerNode": 25.0, "CrystalResonanceGeneratorRate_comment": "How much energy a crystal resonance generator generates per tick.", - "CrystalResonanceGeneratorRate": 20.0 + "CrystalResonanceGeneratorRate": 20.0, + "p2pTunnelEnergyTax_comment": "The cost to transport energy through an energy P2P tunnel expressed as a factor of the transported energy.", + "p2pTunnelEnergyTax": 0.025, + "p2pTunnelTransportTax_comment": "The cost to transport items/fluids/etc. through P2P tunnels, expressed in AE energy per equivalent I/O bus operation for the transported object type (i.e. items\u003dper 1 item, fluids\u003dper 125mb).", + "p2pTunnelTransportTax": 0.025 }, "Condenser": { "MatterBalls": 256, diff --git a/config/alekiships-client.toml b/config/alekiships-client.toml new file mode 100644 index 000000000..5c7dd40f8 --- /dev/null +++ b/config/alekiships-client.toml @@ -0,0 +1,4 @@ +#Change how the rudder behaves on boats that have them +#Allowed Values: RETURN_TO_CENTER, STAY_IN_PLACE +tillerControlScheme = "RETURN_TO_CENTER" + diff --git a/config/alltheleaks.json b/config/alltheleaks.json new file mode 100644 index 000000000..dcf6e81ce --- /dev/null +++ b/config/alltheleaks.json @@ -0,0 +1,5 @@ +{ + "preventSearchIgnoredItems": false, + "ingredientDedupe": false, + "resourceLocationDedupe": false +} \ No newline at end of file diff --git a/config/badoptimizations.txt b/config/badoptimizations.txt new file mode 100644 index 000000000..76ac1c847 --- /dev/null +++ b/config/badoptimizations.txt @@ -0,0 +1,73 @@ +# BadOptimizations configuration +# Toggle and configure optimizations here. +# *All* of these require restarts. + +# Whether we should cancel updating the lightmap if not needed. +enable_lightmap_caching: true +# How much the in-game time must change in ticks (default tick rate = 1/20th of a second) +# for the lightmap to update. +# Higher values will result in less frequent updates +# to block lighting, but slightly better performance. +# Values below 2 will disable the optimization. +lightmap_time_change_needed_for_update: 80 + +# Whether the sky's color should be cached unless you're on a biome border. +enable_sky_color_caching: true +# How much the in-game time must change in ticks for the sky color to +# be recalculated when not between biome borders. Higher values will result in +# the sky updating less frequently, but slightly better performance. +# Values below 2 will all have the same effect. +skycolor_time_change_needed_for_update: 3 + +# Whether we should avoid calling debug renderers +# if there are no debug entries to render or process. +enable_debug_renderer_disable_if_not_needed: true + +# +# Micro optimizations +# + +# Whether we should avoid calling the particle manager +# and its calculations if there are no particles. +enable_particle_manager_optimization: true +# Whether we should avoid calling the toast manager if there are no toasts. +enable_toast_optimizations: true +# Whether the result of getSkyAngle should be cached +# for the entire frame during rendering. +enable_sky_angle_caching_in_worldrenderer: true +# Whether entity renderers should be stored directly in EntityType instead of a HashMap. +# If your entity-adding mod crashes with this mod, it's probably this option's fault. +enable_entity_renderer_caching: true +# Whether block entity renderers should be stored in BlockEntityType instead of a HashMap. +enable_block_entity_renderer_caching: true +# Whether entity flags should be cached instead of calling DataTracker. +# Also removes the unnecessary thread lock in DataTracker. +# Unneeded with Lithium. Has no effect in Minecraft 1.20.5+. +enable_entity_flag_caching: true +# Whether we should avoid calling FOV calculations +# if the FOV effect scale is zero. +enable_remove_redundant_fov_calculations: true +# Don't tick the tutorial if the game is not in demo mode. +enable_remove_tutorial_if_not_demo: true + +# +# Other +# + +# Whether BadOptimizations should be added onto +# the left text of the F3 menu. +show_f3_text: true + +# Some config options will be force-disabled if certain mods are present +# due to incompatibilities (e.g. entity rendering caching +# is disabled w/ Twilight Forest / BedrockSkinUtility / SkinShuffle). +# However, if you still want to use the optimizations, you can override it +# by setting this to true. Beware of crashes. And Herobrine. +ignore_mod_incompatibilities: false + +# Whether to log the entire config into console when booting up. +# If you plan on reporting an issue, please keep this on. +log_config: true + +# Do not change this +config_version: 4 diff --git a/config/betterfoliage-client.toml b/config/betterfoliage-client.toml index a3b128915..2929d97c7 100644 --- a/config/betterfoliage-client.toml +++ b/config/betterfoliage-client.toml @@ -7,7 +7,7 @@ #Range: > 0 particleDistance = 15 #Enable Soul Particles? - souls = true + souls = false #Enable Leaf Particles? leaves = true #Enable Snowballs? diff --git a/config/chalk-client.toml b/config/chalk-client.toml new file mode 100644 index 000000000..2f2d94e35 --- /dev/null +++ b/config/chalk-client.toml @@ -0,0 +1,20 @@ + +#Rotation offsets (in degrees) for each mark. +[SymbolOffsets] + #Range: -360 ~ 360 + CenterRotationOffset = 0 + #Range: -360 ~ 360 + ArrowRotationOffset = 0 + #Range: -360 ~ 360 + CrossRotationOffset = 45 + #Range: -360 ~ 360 + CheckRotationOffset = 45 + #Range: -360 ~ 360 + SkullRotationOffset = 0 + #Range: -360 ~ 360 + HouseRotationOffset = 0 + #Range: -360 ~ 360 + HeartRotationOffset = 0 + #Range: -360 ~ 360 + PickaxeRotationOffset = 0 + diff --git a/config/chalk-common.toml b/config/chalk-common.toml new file mode 100644 index 000000000..04ebdce70 --- /dev/null +++ b/config/chalk-common.toml @@ -0,0 +1,33 @@ +#How many marks you can draw with a single chalk. Default: 64 +#Range: > 0 +ChalkUses = 64 +#How much light glowing mark produces. Default: 5 +#Range: 0 ~ 15 +GlowingMarkLightLevel = 5 +#Controls whether glowing should be enabled in Chalk Box. +#If disabled - you will not be able to draw glowing marks with chalk box. +#Default: true +ChalkBoxGlowingEnabled = true +#How many glowing uses one glowing item will give. +#Default: 8 +#Range: 1 ~ 9999 +ChalkBoxGlowingItemUses = 8 +#If enabled, Chalks (and Chalk Boxes) will generate in Dungeons, Abandoned Mineshafts, Planes and Savanna villages, Cartographer houses +#Default: true +ShouldGenerateInChests = true + +#Enable/disable symbols and location of the advancement that will unlock that symbol. (Empty = always unlocked) +[Symbols] + CheckEnabled = true + CheckUnlockAdvancement = "" + CrossEnabled = true + CrossUnlockAdvancement = "" + PickaxeEnabled = true + PickaxeUnlockAdvancement = "" + SkullEnabled = true + SkullUnlockAdvancement = "" + HeartEnabled = true + HeartUnlockAdvancement = "" + HouseEnabled = true + HouseUnlockAdvancement = "" + diff --git a/config/chunky/config.json b/config/chunky/config.json new file mode 100644 index 000000000..b6d263f71 --- /dev/null +++ b/config/chunky/config.json @@ -0,0 +1,8 @@ +{ + "version": 2, + "language": "en", + "continueOnRestart": false, + "forceLoadExistingChunks": false, + "silent": false, + "updateInterval": 1 +} \ No newline at end of file diff --git a/config/comforts-server.toml b/config/comforts-server.toml new file mode 100644 index 000000000..29aef51ab --- /dev/null +++ b/config/comforts-server.toml @@ -0,0 +1,39 @@ +#If enabled, players automatically attempt to use sleeping bags when placed. +autoUse = true +#If enabled, players cannot sleep again for a period of time after sleeping. +restrictSleeping = false +#If restrictSleeping is true, this value will determine the length of wait time (larger numbers sleep sooner). +#Range: 1.0 ~ 20.0 +restMultiplier = 2.0 +#The time of day that hammocks can be used. +#Allowed Values: NONE, DAY, NIGHT, DAY_OR_NIGHT +hammockUse = "DAY" +#The time of day that sleeping bags can be used. +#Allowed Values: NONE, DAY, NIGHT, DAY_OR_NIGHT +sleepingBagUse = "NIGHT" +#What percentage of players must sleep to skip the day. +#A percentage value of 0 will allow the day to be skipped by just 1 player, and a percentage value of 100 will require all players to sleep before skipping the day. +#A value of less than 0 will default to the playerSleepingPercentage game rule. +# +#Range: -1 ~ 100 +daySleepingPercentage = -1 +#The amount of time, in ticks, to add or remove from the new time after sleeping through a night. +#Range: -2000 ~ 2000 +dayWakeTimeOffset = 0 +#The amount of time, in ticks, to add or remove from the new time after sleeping through a day. +#Range: -2000 ~ 2000 +nightWakeTimeOffset = 0 +#If enabled, attempting to sleep in hammocks stops phantoms from spawning. +hammocksStopPhantoms = true +#If enabled, attempting to sleep in sleeping bags stops phantoms from spawning. +sleepingBagsStopPhantoms = true +#The percentage chance that a sleeping bag will break upon use. +#Range: 0 ~ 100 +sleepingBagBreakChance = 0 +#The value that will be multiplied by a player's luck then added to sleepingBagBreakChance. +#Range: -1.0 ~ 1.0 +sleepingBagBreakChanceLuckMultiplier = 0.0 +#The status effects to apply to players after using the sleeping bag. +#Format: effect;duration(secs);power +sleepingBagEffects = [] + diff --git a/config/craftpresence.json b/config/craftpresence.json index e1289566c..43a3c676b 100644 --- a/config/craftpresence.json +++ b/config/craftpresence.json @@ -42,7 +42,9 @@ "default": { "textOverride": "Playing on {server.motd.raw}" } - } + }, + "pingRateInterval": 5, + "pingRateUnit": "minutes" }, "statusMessages": { "mainMenuData": { @@ -99,7 +101,8 @@ "playerSkinEndpoint": "https://mc-heads.net/avatar/{getOrDefault(player.uuid.short, player.name)}", "allowDuplicatePackets": false, "maxConnectionAttempts": 10, - "enableClassGraph": false + "enableClassGraph": false, + "useClassLoader": false }, "accessibilitySettings": { "languageId": "en_us", @@ -131,7 +134,6 @@ } }, "dynamicIcons": { - "Xikaro": "https://mc-heads.net/avatar/57b3dfb5f8a649e28b544e4ffc63256f", "default": "https://via.placeholder.com/256.png" }, "dynamicVariables": { diff --git a/config/create-client.toml b/config/create-client.toml index d6e4278e4..de7fd4849 100644 --- a/config/create-client.toml +++ b/config/create-client.toml @@ -50,6 +50,9 @@ #. #Setting this to true will prevent Create from sending you a warning when playing with Fabulous graphics enabled ignoreFabulousWarning = false + #. + #Disable to prevent being rotated while seated on a Moving Contraption + rotateWhenSeated = true #. #Configure your vision range when submerged in Create's custom fluids diff --git a/config/create_connected-common.toml b/config/create_connected-common.toml index 055dc7bf0..dae5d6bad 100644 --- a/config/create_connected-common.toml +++ b/config/create_connected-common.toml @@ -38,5 +38,26 @@ migrateCopycatsOnInitialize = false fluid_vessel = true large_crank_wheel = true crank_wheel = true - fan_freezing_catalyst = true + inventory_access_port = true + inventory_bridge = true + +#. +#Enable/disable categories of features. Disabling a category hides all related features. Values on server override clients +[feature_categories] + #. + #. + #All kinetic components, such as gearboxes and crank wheels + kinetic = true + #. + #All redstone components, such as linked transmitter and sequenced pulse generator + redstone = true + #. + #All components related to item and fluid transport + logistics = true + #. + #All copycats (Install Create: Copycats+ to upgrade) + copycats = true + #. + #All building palette blocks + palette = true diff --git a/config/createaddition-common.toml b/config/createaddition-common.toml index 9bb8a8a89..87bf53dbc 100644 --- a/config/createaddition-common.toml +++ b/config/createaddition-common.toml @@ -5,10 +5,10 @@ [general] #Forge Energy conversion rate (in FE/t at 256 RPM, value is the FE/t generated and consumed is at 256rpm). #Range: > 0 - fe_at_max_rpm = 480 + fe_at_max_rpm = 512 #Max stress for the Alternator and Electric Motor (in SU at 256 RPM). #Range: > 0 - max_stress = 16384 + max_stress = 256 #If audio should be enabled or not. audio_enabled = true @@ -22,31 +22,31 @@ motor_min_consumption = 8 #Electric Motor max input in FE (Energy transfer not consumption). #Range: > 0 - motor_max_input = 5000 + motor_max_input = 8192 #Electric Motor internal capacity in FE. #Range: > 0 - motor_capacity = 5000 + motor_capacity = 8192 #Alternator [alternator] #Alternator max input in FE (Energy transfer, not generation). #Range: > 0 - generator_max_output = 5000 + generator_max_output = 8192 #Alternator internal capacity in FE. #Range: > 0 - generator_capacity = 5000 + generator_capacity = 8192 #Alternator efficiency relative to base conversion rate. #Range: 0.01 ~ 1.0 - generator_efficiency = 0.75 + generator_efficiency = 1.0 #Rolling Mill [rolling_mill] #Rolling Mill duration in ticks. #Range: > 0 - rolling_mill_processing_duration = 120 + rolling_mill_processing_duration = 400 #Rolling Mill base stress impact. #Range: 0 ~ 1024 - rolling_mill_stress = 8 + rolling_mill_stress = 0.5 #Wires [wires] diff --git a/config/decay_2012-client.toml b/config/decay_2012-client.toml new file mode 100644 index 000000000..33edc76b6 --- /dev/null +++ b/config/decay_2012-client.toml @@ -0,0 +1,21 @@ + +[general] + #(THIS OPTION ALWAYS OVERRIDES THE TFC OPTION) Food expiry tooltip display style. This affects what information is shown on the food item stack tooltips. + #NONE - Shows nothing. Maximum mystery! + #EXPIRY - e.g. 'Expires on June 3, 05:00 + #TIME_LEFT - e.g. 'Expires in about 3 day(s) + #BOTH - Shows both of the above, e.g. Expires on June 3, 05:00 (in about 3 day(s)). + #Allowed Values: NONE, EXPIRY, TIME_LEFT, BOTH + foodExpiryTooltipStyle = "BOTH" + #If true, food stack counts will render behind the weight bar + enableFoodShowsStackCount = true + #The value that should be displayed as the maximum ounces (or whatever kind of weight type you choose) a food item could weigh. By default, a full stack is 160 ounces. + #Range: > 1 + maxOunces = 16 + #Enable rendering a food weight bar + enableFoodWeightRender = false + #Enable rendering a food weight bar + enableFoodDecayRender = true + #If true, SI units will be used for food weight instead of the traditional oz. The name of this config option is a joke, I know SI units are used outside of Europe. + enableEuropeanMode = true + diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt index e93a6bf5b..d68acb032 100644 --- a/config/defaultoptions/keybindings.txt +++ b/config/defaultoptions/keybindings.txt @@ -13,7 +13,7 @@ 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.socialInteractions:key.keyboard.unknown:NONE key_key.screenshot:key.keyboard.f2:NONE key_key.togglePerspective:key.keyboard.f5:NONE key_key.smoothCamera:key.keyboard.unknown:NONE @@ -45,7 +45,7 @@ key_gui.xaero_quick_confirm:key.keyboard.right.shift:NONE key_placebo.toggleTrails:key.keyboard.unknown:NONE key_placebo.toggleWings:key.keyboard.unknown:NONE key_key.modernfix.config:key.keyboard.unknown:NONE -key_key.heracles.open_quests:key.keyboard.unknown:NONE +key_key.heracles.open_quests:key.keyboard.p:NONE key_keybind.sophisticatedbackpacks.open_backpack:key.keyboard.b:NONE key_keybind.sophisticatedbackpacks.inventory_interaction:key.keyboard.c:NONE key_keybind.sophisticatedbackpacks.tool_swap:key.keyboard.unknown:NONE @@ -78,6 +78,7 @@ key_key.astikorcarts.desc:key.keyboard.r:NONE key_key.curios.open.desc:key.keyboard.unknown:NONE key_create.keyinfo.toolmenu:key.keyboard.left.alt:NONE key_create.keyinfo.toolbelt:key.keyboard.left.alt:NONE +key_key.toolbelt.slot:key.keyboard.unknown:NONE key_gui.xaero_switch_waypoint_set:key.keyboard.unknown:NONE key_gui.xaero_instant_waypoint:key.keyboard.unknown:NONE key_gui.xaero_toggle_slime:key.keyboard.unknown:NONE @@ -114,3 +115,4 @@ key_cos.key.opencosarmorinventory:key.keyboard.unknown:NONE key_key.entityculling.toggle:key.keyboard.unknown:NONE key_key.craftpresence.config_keycode.name:key.keyboard.unknown:NONE key_gui.xaero_pac_key_open_menu:key.keyboard.apostrophe:NONE +key_gtceu.key.armor_mode_switch:key.keyboard.o diff --git a/config/embeddium-fingerprint.json b/config/embeddium-fingerprint.json deleted file mode 100644 index 618c3676b..000000000 --- a/config/embeddium-fingerprint.json +++ /dev/null @@ -1 +0,0 @@ -{"v":1,"s":"c0b34a5e7fe2306365598eb027e8815f373072d20ef2e26717874e8e30594b9bbd068eba006de61846d89591a025981c2b98df37cbacfacf4e13db9f73038778","u":"2dbcf038c3ef19d1f5a31ac3148b5afa2b60297c006096fe3e227ad4f46fc1fe455cab09ab37a47d1538232228964d418e9c638a2d950a7018139f111df590d0","p":"0c28fe5e1ff70726b8b0b8a606841056ca88e827c25f5a417a21fa3ee7d47a3f48fc7071f8a97b66842401effe31260e7380dcae3c6fe5f0decc3800ed1d3db5","t":1714472035} \ No newline at end of file diff --git a/config/embeddium-options.json b/config/embeddium-options.json index ff443abf5..1456a73f7 100644 --- a/config/embeddium-options.json +++ b/config/embeddium-options.json @@ -2,7 +2,8 @@ "quality": { "weather_quality": "DEFAULT", "leaves_quality": "DEFAULT", - "enable_vignette": true + "enable_vignette": true, + "use_quad_normals_for_shading": false }, "advanced": { "enable_memory_tracing": false, @@ -18,7 +19,7 @@ "use_fog_occlusion": true, "use_block_face_culling": true, "use_compact_vertex_format": true, - "use_translucent_face_sorting": false, + "use_translucent_face_sorting_v2": true, "use_no_error_g_l_context": true }, "notifications": { diff --git a/config/emi.css b/config/emi.css index 45f5f26a0..463b05fcb 100644 --- a/config/emi.css +++ b/config/emi.css @@ -21,6 +21,11 @@ */ index-source: creative; + /** + * Which sidebar should be searched using the search bar. + */ + search-sidebar: right; + /** * Whether normal search queries should include the tooltip. */ @@ -96,9 +101,20 @@ empty-search-sidebar-focus: none; /** - * The amount of vertical margin to give in the recipe screen. + * Whether the EMI config button should be visible. */ - vertical-margin: 20; + emi-config-button-visibility: shown; + + /** + * Whether the recipe tree button should be visible. + */ + recipe-tree-button-visibility: auto; + + /** + * The maximum height the recipe screen will grow to be if space is available in + * pixels. + */ + maximum-recipe-screen-height: 256; /** * The minimum width of the recipe screen in pixels. Controls how many tabs there @@ -107,6 +123,11 @@ */ minimum-recipe-screen-width: 176; + /** + * The amount of vertical margin to give in the recipe screen. + */ + vertical-margin: 20; + /** * Where to show workstations in the recipe screen */ @@ -292,7 +313,7 @@ toggle-visibility: "key.keyboard.unknown"; /** - * Focuse the search bar. + * Focuses the search bar. */ focus-search: "ctrl key.keyboard.f"; @@ -394,7 +415,7 @@ /** * Cheat in one of an item into the cursor. */ - cheat-one-to-cursor: "key.mouse.left"; + cheat-one-to-cursor: "key.keyboard.unknown"; /** * Cheat in a stack of an item into the cursor. diff --git a/config/endermanoverhaul.jsonc b/config/endermanoverhaul.jsonc new file mode 100644 index 000000000..3269def3e --- /dev/null +++ b/config/endermanoverhaul.jsonc @@ -0,0 +1,29 @@ +{ + "allowPickingUpBlocks": true, + "friendlyEndermanTeleport": true, + "friendlyEndermanDespawn": true, + "allowSpawning": true, + "spawnBadlandsEnderman": true, + "spawnCaveEnderman": true, + "spawnCrimsonForestEnderman": true, + "spawnDarkOakEnderman": true, + "spawnDesertEnderman": true, + "spawnEndEnderman": true, + "spawnEndIslandsEnderman": true, + "spawnFlowerFieldsEnderman": true, + "spawnIceSpikesEnderman": true, + "spawnMushroomFieldsEnderman": true, + "spawnNetherWastesEnderman": true, + "spawnCoralEnderman": true, + "spawnSavannaEnderman": true, + "spawnSnowyEnderman": true, + "spawnSoulsandValleyEnderman": true, + "spawnSwampEnderman": true, + "spawnWarpedForestEnderman": true, + "spawnWindsweptHillsEnderman": true, + /* + * The chance that an End Enderman will teleport you when it hits you + * Type: Float + */ + "endEndermanTeleportChance": 0.5 +} \ No newline at end of file diff --git a/config/entityculling.json b/config/entityculling.json index f557378fd..1d2fd1a3c 100644 --- a/config/entityculling.json +++ b/config/entityculling.json @@ -1,5 +1,5 @@ { - "configVersion": 5, + "configVersion": 6, "renderNametagsThroughWalls": true, "blockEntityWhitelist": [ "create:rope_pulley", @@ -25,7 +25,10 @@ "create:gantry_contraption", "minecraft:boat", "minecraft:firework_rocket", - "create:carriage_contraption" + "create:carriage_contraption", + "mts:builder_existing", + "mts:builder_rendering", + "mts:builder_seat" ], "disableF3": false, "skipEntityCulling": false, diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties index 22f6a7bb4..8c6b13477 100644 --- a/config/everycomp-hazardous.properties +++ b/config/everycomp-hazardous.properties @@ -1,4 +1,5 @@ #Hard disable entire modules. Use at your own risk and don't ask for support if you use this. Write modid = false to disable modules -#Sat Jan 18 13:03:17 NOVT 2025 +#Sun Feb 02 21:57:03 NOVT 2025 a=false create=true +storagedrawers=true diff --git a/config/expatternprovider-common.toml b/config/expatternprovider-common.toml index fde544fbb..bc33e9bb2 100644 --- a/config/expatternprovider-common.toml +++ b/config/expatternprovider-common.toml @@ -14,3 +14,10 @@ whitelist = ["expatternprovider:ex_interface_part", "expatternprovider:ex_patter #Disable Extended Inscriber's item render, it only works in client side. disableItemRender = false +[device] + #Size multiplier of oversize interface + #Range: 2 ~ 4096 + oversize_interface_multiplier = 16 + #Set multiplier for specific AEKeyType in oversize interface + custom_oversize_interface_multiplier = ["appbot:mana 2", "appflux:flux 4"] + diff --git a/config/extendedcrafting/singularities/aluminum.json b/config/extendedcrafting/singularities/aluminum.json deleted file mode 100644 index 724106e71..000000000 --- a/config/extendedcrafting/singularities/aluminum.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.aluminum", - "colors": [ - "caccda", - "9a9ca6" - ], - "ingredient": { - "tag": "forge:ingots/aluminum" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/bronze.json b/config/extendedcrafting/singularities/bronze.json deleted file mode 100644 index 59f450a64..000000000 --- a/config/extendedcrafting/singularities/bronze.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.bronze", - "colors": [ - "d99f43", - "bb6b3b" - ], - "ingredient": { - "tag": "forge:ingots/bronze" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/coal.json b/config/extendedcrafting/singularities/coal.json deleted file mode 100644 index c14c35360..000000000 --- a/config/extendedcrafting/singularities/coal.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.coal", - "colors": [ - "363739", - "261e24" - ], - "ingredient": { - "item": "minecraft:coal" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/copper.json b/config/extendedcrafting/singularities/copper.json deleted file mode 100644 index 1964f5b02..000000000 --- a/config/extendedcrafting/singularities/copper.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.copper", - "colors": [ - "fa977c", - "bc5430" - ], - "ingredient": { - "item": "minecraft:copper_ingot" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/diamond.json b/config/extendedcrafting/singularities/diamond.json deleted file mode 100644 index 7bc166400..000000000 --- a/config/extendedcrafting/singularities/diamond.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.diamond", - "colors": [ - "a6fce9", - "1aaca8" - ], - "ingredient": { - "item": "minecraft:diamond" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/electrum.json b/config/extendedcrafting/singularities/electrum.json deleted file mode 100644 index 209851a82..000000000 --- a/config/extendedcrafting/singularities/electrum.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.electrum", - "colors": [ - "f5f18e", - "9e8d3e" - ], - "ingredient": { - "tag": "forge:ingots/electrum" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/emerald.json b/config/extendedcrafting/singularities/emerald.json deleted file mode 100644 index 03742576f..000000000 --- a/config/extendedcrafting/singularities/emerald.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.emerald", - "colors": [ - "7df8ac", - "8e1a" - ], - "ingredient": { - "item": "minecraft:emerald" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/glowstone.json b/config/extendedcrafting/singularities/glowstone.json deleted file mode 100644 index 0d9355cf5..000000000 --- a/config/extendedcrafting/singularities/glowstone.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.glowstone", - "colors": [ - "ffd38f", - "a06135" - ], - "ingredient": { - "item": "minecraft:glowstone_dust" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/gold.json b/config/extendedcrafting/singularities/gold.json deleted file mode 100644 index 702531b83..000000000 --- a/config/extendedcrafting/singularities/gold.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.gold", - "colors": [ - "fdf55f", - "d98e04" - ], - "ingredient": { - "item": "minecraft:gold_ingot" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/invar.json b/config/extendedcrafting/singularities/invar.json deleted file mode 100644 index 961cddb35..000000000 --- a/config/extendedcrafting/singularities/invar.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.invar", - "colors": [ - "bcc5bb", - "5d7877" - ], - "ingredient": { - "tag": "forge:ingots/invar" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/iron.json b/config/extendedcrafting/singularities/iron.json deleted file mode 100644 index 555308d92..000000000 --- a/config/extendedcrafting/singularities/iron.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.iron", - "colors": [ - "e1e1e1", - "6c6c6c" - ], - "ingredient": { - "item": "minecraft:iron_ingot" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/lapis_lazuli.json b/config/extendedcrafting/singularities/lapis_lazuli.json deleted file mode 100644 index debc6c58e..000000000 --- a/config/extendedcrafting/singularities/lapis_lazuli.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.lapis_lazuli", - "colors": [ - "678dea", - "1b53a7" - ], - "ingredient": { - "item": "minecraft:lapis_lazuli" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/lead.json b/config/extendedcrafting/singularities/lead.json deleted file mode 100644 index 2a2e492ed..000000000 --- a/config/extendedcrafting/singularities/lead.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.lead", - "colors": [ - "6c7d92", - "323562" - ], - "ingredient": { - "tag": "forge:ingots/lead" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/nickel.json b/config/extendedcrafting/singularities/nickel.json deleted file mode 100644 index 8598cdbb3..000000000 --- a/config/extendedcrafting/singularities/nickel.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.nickel", - "colors": [ - "e1d798", - "b1976c" - ], - "ingredient": { - "tag": "forge:ingots/nickel" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/platinum.json b/config/extendedcrafting/singularities/platinum.json deleted file mode 100644 index 6d23715e7..000000000 --- a/config/extendedcrafting/singularities/platinum.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.platinum", - "colors": [ - "6feaef", - "57b8bc" - ], - "ingredient": { - "tag": "forge:ingots/platinum" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/redstone.json b/config/extendedcrafting/singularities/redstone.json deleted file mode 100644 index 25299f4cb..000000000 --- a/config/extendedcrafting/singularities/redstone.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.redstone", - "colors": [ - "ff0000", - "8a0901" - ], - "ingredient": { - "item": "minecraft:redstone" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/silver.json b/config/extendedcrafting/singularities/silver.json deleted file mode 100644 index fbf770f22..000000000 --- a/config/extendedcrafting/singularities/silver.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.silver", - "colors": [ - "c0cdd2", - "5f6e7c" - ], - "ingredient": { - "tag": "forge:ingots/silver" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/steel.json b/config/extendedcrafting/singularities/steel.json deleted file mode 100644 index f59c84fe5..000000000 --- a/config/extendedcrafting/singularities/steel.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.steel", - "colors": [ - "565656", - "232323" - ], - "ingredient": { - "tag": "forge:ingots/steel" - } -} \ No newline at end of file diff --git a/config/extendedcrafting/singularities/tin.json b/config/extendedcrafting/singularities/tin.json deleted file mode 100644 index 153bacc19..000000000 --- a/config/extendedcrafting/singularities/tin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singularity.extendedcrafting.tin", - "colors": [ - "a0bebd", - "527889" - ], - "ingredient": { - "tag": "forge:ingots/tin" - } -} \ No newline at end of file diff --git a/config/fallingtrees_common.json b/config/fallingtrees_common.json index b5605f934..ce931146a 100644 --- a/config/fallingtrees_common.json +++ b/config/fallingtrees_common.json @@ -1,98 +1,104 @@ { - "disableCrouchMining": false, - "disableExtraToolDamage": false, - "disableExtraFoodExhaustion": false, - "treeLifetimeLength": 4.0, - "dynamicMiningSpeed": { - "disable": false, - "speedMultiplication": 0.5, - "maxSpeedMultiplication": 16.0 - }, - "trees": { - "standardTree": { - "algorithm": { - "maxLeavesRadius": 15, - "maxLogAmount": 256, - "shouldFallOnMaxLogAmount": false, - "shouldIgnorePersistentLeaves": true - }, - "logFilter": { - "whitelistedTags": [ - "minecraft:logs" - ], - "whitelist": [], - "blacklist": [] - }, - "leavesFilter": { - "whitelistedTags": [ - "minecraft:leaves" - ], - "whitelist": [], - "blacklist": [] - }, - "extraBlockFilter": { - "whitelistedTags": [], - "whitelist": [ - "minecraft:vine", - "minecraft:bee_nest", - "minecraft:cocoa" - ], - "blacklist": [] - }, - "enabled": true, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [ - "minecraft:axes" - ], - "whitelist": [], - "blacklist": [] - } - }, - "verticalTree": { - "filter": { - "whitelistedTags": [], - "whitelist": [ - "minecraft:cactus", - "minecraft:bamboo" - ], - "blacklist": [] - }, - "enabled": true, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - } - }, - "chorusTree": { - "enabled": false, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - } - }, - "mushroomTree": { - "stemFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - }, - "capFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - }, - "enabled": false, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - } - } - } + "disableCrouchMining": false, + "disableExtraToolDamage": false, + "disableExtraFoodExhaustion": false, + "treeLifetimeLength": 4.0, + "dynamicMiningSpeed": { + "disable": false, + "speedMultiplication": 0.1, + "maxSpeedMultiplication": 16.0 + }, + "trees": { + "standardTree": { + "algorithm": { + "maxLeavesRadius": 15, + "maxLogAmount": 512, + "shouldFallOnMaxLogAmount": true, + "shouldIgnorePersistentLeaves": true + }, + "logFilter": { + "whitelistedTags": [ + "minecraft:logs" + ], + "whitelist": [], + "blacklist": [] + }, + "leavesFilter": { + "whitelistedTags": [ + "minecraft:leaves" + ], + "whitelist": [], + "blacklist": [] + }, + "extraBlockFilter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:vine", + "minecraft:bee_nest", + "minecraft:cocoa" + ], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [ + "minecraft:axes" + ], + "whitelist": [], + "blacklist": [] + } + }, + "verticalTree": { + "filter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:cactus", + "minecraft:bamboo" + ], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + } + }, + "chorusTree": { + "enabled": false, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + } + }, + "mushroomTree": { + "stemFilter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:mushroom_stem" + ], + "blacklist": [] + }, + "capFilter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:red_mushroom_block", + "minecraft:brown_mushroom_block", + "minecraft:shroomlight" + ], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + } + } + } } \ No newline at end of file diff --git a/config/fancymenu/customization/gui_main_menu.txt b/config/fancymenu/customization/gui_main_menu.txt index aec09a7dc..16c007889 100644 --- a/config/fancymenu/customization/gui_main_menu.txt +++ b/config/fancymenu/customization/gui_main_menu.txt @@ -3,13 +3,13 @@ type = fancymenu_layout layout-meta { identifier = title_screen render_custom_elements_behind_vanilla = false - last_edited_time = 1711105732447 + last_edited_time = 1738509252275 is_enabled = true randommode = false randomgroup = 1 randomonlyfirsttime = false layout_index = 0 - [loading_requirement_container_meta:bc31a206-610e-483d-bc0d-c313825af3b1-1711105726368] = [groups:][instances:] + [loading_requirement_container_meta:f5690757-31d9-4604-ad8f-ae0cacd920bb-1738509235085] = [groups:][instances:] } menu_background { @@ -44,12 +44,21 @@ element { nine_slice_border_y = 5 label = Official Server navigatable = true + widget_active_state_requirement_container_identifier = 883c51a7-aff5-48fd-8cac-0fed83cb29b7-1738509235086 + [loading_requirement_container_meta:883c51a7-aff5-48fd-8cac-0fed83cb29b7-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 6514e312-8243-47af-a516-89743d8ca1af1699692677651 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 47 y = -28 @@ -75,12 +84,21 @@ element { nine_slice_border_y = 5 label = navigatable = true + widget_active_state_requirement_container_identifier = d16c5a1d-f73e-4c7d-ae94-9e77f40b8bea-1738509235086 + [loading_requirement_container_meta:d16c5a1d-f73e-4c7d-ae94-9e77f40b8bea-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 6514e312-8243-47af-a516-89743d8ca1af1699692677651 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 73 y = 18 @@ -103,8 +121,15 @@ element { instance_identifier = 9bb15e9d-fedb-4e15-a37f-7586c0dcb4921699691344434 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = -177 y = -63 @@ -130,12 +155,21 @@ element { nine_slice_border_y = 5 label = navigatable = true + widget_active_state_requirement_container_identifier = e6feb8b0-31fc-4a41-9d8b-4f42c26af923-1738509235086 + [loading_requirement_container_meta:e6feb8b0-31fc-4a41-9d8b-4f42c26af923-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 9f789963-f2dc-46f7-a57b-9c4de545a6ff1699691707372 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 47 y = 18 @@ -161,12 +195,21 @@ element { nine_slice_border_y = 5 label = navigatable = true + widget_active_state_requirement_container_identifier = c148ade9-c007-42f1-9783-c4c0689b3eb9-1738509235086 + [loading_requirement_container_meta:c148ade9-c007-42f1-9783-c4c0689b3eb9-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 57a283ec-1941-4101-b14b-f2188e8660671699691708296 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 125 y = 18 @@ -192,12 +235,21 @@ element { nine_slice_border_y = 5 label = navigatable = true + widget_active_state_requirement_container_identifier = 6cbad76b-bff4-40c6-a2f1-8d0fca899879-1738509235086 + [loading_requirement_container_meta:6cbad76b-bff4-40c6-a2f1-8d0fca899879-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 91b4ae84-eed0-47a3-8fe9-6957c02d2c621699691709167 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 99 y = 18 @@ -223,12 +275,21 @@ element { nine_slice_border_y = 5 label = Official Server navigatable = true + widget_active_state_requirement_container_identifier = f72d4cfc-e22d-4fef-9bd2-68a7cd175460-1738509235086 + [loading_requirement_container_meta:f72d4cfc-e22d-4fef-9bd2-68a7cd175460-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 6514e312-8243-47af-a516-89743d8ca1af1699692677651 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 47 y = -28 @@ -254,12 +315,21 @@ element { nine_slice_border_y = 5 label = navigatable = true + widget_active_state_requirement_container_identifier = c3eb6b24-c634-4fda-8744-d93db8fc15d0-1738509235086 + [loading_requirement_container_meta:c3eb6b24-c634-4fda-8744-d93db8fc15d0-1738509235086] = [groups:][instances:] element_type = custom_button instance_identifier = 6514e312-8243-47af-a516-89743d8ca1af1699692677651 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 73 y = 18 @@ -286,8 +356,15 @@ element { instance_identifier = a5845307-9494-47b0-87c0-e398a680e9e01700129661006 appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = bottom-left x = 1 y = -61 @@ -300,237 +377,6 @@ element { [loading_requirement_container_meta:e2df7920-d8c7-41c2-82da-976ac9dec990-1710842515045] = [groups:][instances:] } -vanilla_button { - button_element_executable_block_identifier = e2b3e9b3-2d45-4f4f-b6dd-4f89f83b7da5-1710837053345 - [executable_block:e2b3e9b3-2d45-4f4f-b6dd-4f89f83b7da5-1710837053345][type:generic] = [executables:] - backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png - backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = mc_titlescreen_multiplayer_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = mid-centered - x = -55 - y = -28 - width = 98 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = 59ff81cd-18cf-42ee-9f05-29ab3efbd338-1710837053345 - [loading_requirement_container_meta:59ff81cd-18cf-42ee-9f05-29ab3efbd338-1710837053345] = [groups:][instances:] - is_hidden = false - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = 86e9765e-32c4-4aa4-8143-860366b37f05-1710837053344 - [executable_block:86e9765e-32c4-4aa4-8143-860366b37f05-1710837053344][type:generic] = [executables:] - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = mc_titlescreen_copyright_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = bottom-left - x = 2 - y = -10 - width = 196 - height = 10 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = b56d28d8-4b36-4505-8297-26b61a4a4046-1710837053344 - [loading_requirement_container_meta:b56d28d8-4b36-4505-8297-26b61a4a4046-1710837053344] = [groups:][instances:] - is_hidden = false - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = 4fd9e559-3c06-41dc-ae8f-7a2ebaf224c9-1710837053345 - [executable_block:4fd9e559-3c06-41dc-ae8f-7a2ebaf224c9-1710837053345][type:generic] = [executables:] - backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png - backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = mc_titlescreen_options_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = mid-centered - x = 47 - y = -5 - width = 98 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = 715a2b76-8625-45e4-8562-798e3aa19b3d-1710837053345 - [loading_requirement_container_meta:715a2b76-8625-45e4-8562-798e3aa19b3d-1710837053345] = [groups:][instances:] - is_hidden = false - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = 8e3abb1a-7f06-42bd-920a-eeabb0f225ec-1710837053345 - [executable_block:8e3abb1a-7f06-42bd-920a-eeabb0f225ec-1710837053345][type:generic] = [executables:] - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = mc_titlescreen_accessibility_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = vanilla - x = 371 - y = 196 - width = 20 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = f97a69d2-7673-4f9e-97eb-d37eb76122f3-1710837053345 - [loading_requirement_container_meta:f97a69d2-7673-4f9e-97eb-d37eb76122f3-1710837053345] = [groups:][instances:] - is_hidden = true - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = f5d492e4-e25d-4646-a378-cae04b45c8b3-1710837053345 - [executable_block:f5d492e4-e25d-4646-a378-cae04b45c8b3-1710837053345][type:generic] = [executables:] - backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png - backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = forge_titlescreen_mods_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = mid-centered - x = -55 - y = -5 - width = 98 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = 612a6d32-b14d-4771-a362-65ec15e28bf1-1710837053345 - [loading_requirement_container_meta:612a6d32-b14d-4771-a362-65ec15e28bf1-1710837053345] = [groups:][instances:] - is_hidden = false - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = 785145e3-49a4-45fa-86a5-76543bb7c226-1710837053345 - [executable_block:785145e3-49a4-45fa-86a5-76543bb7c226-1710837053345][type:generic] = [executables:] - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = mc_titlescreen_realms_button - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = mid-centered - x = 47 - y = -5 - width = 98 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = 7c454c53-713f-4c87-97e8-288da3eba763-1710837053345 - [loading_requirement_container_meta:7c454c53-713f-4c87-97e8-288da3eba763-1710837053345] = [groups:][instances:] - is_hidden = true - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - -vanilla_button { - button_element_executable_block_identifier = d29af260-9081-410f-86cc-eca92eb2161b-1710837053345 - [executable_block:d29af260-9081-410f-86cc-eca92eb2161b-1710837053345][type:generic] = [executables:] - backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/modrinth_logo.png - restartbackgroundanimations = true - loopbackgroundanimations = true - nine_slice_custom_background = false - nine_slice_border_x = 5 - nine_slice_border_y = 5 - navigatable = true - element_type = vanilla_button - instance_identifier = 376322 - appearance_delay = no_delay - appearance_delay_seconds = 1.0 - fade_in = false - fade_in_speed = 1.0 - anchor_point = mid-centered - x = 72 - y = 18 - width = 20 - height = 20 - stretch_x = false - stretch_y = false - stay_on_screen = false - element_loading_requirement_container_identifier = 59eca2f8-b704-4a42-b2d3-101e17f6e61e-1710837053345 - [loading_requirement_container_meta:59eca2f8-b704-4a42-b2d3-101e17f6e61e-1710837053345] = [groups:][instances:] - is_hidden = true - automated_button_clicks = 0 - nine_slice_slider_handle = false - nine_slice_slider_handle_border_x = 5 - nine_slice_slider_handle_border_y = 5 -} - vanilla_button { button_element_executable_block_identifier = f04fbec6-3e03-4b54-a3aa-aa7ce92175ec-1710837053345 [executable_block:f04fbec6-3e03-4b54-a3aa-aa7ce92175ec-1710837053345][type:generic] = [executables:] @@ -542,12 +388,21 @@ vanilla_button { nine_slice_border_x = 5 nine_slice_border_y = 5 navigatable = true + widget_active_state_requirement_container_identifier = a5d0eb38-e0bd-40e2-b194-0fcbc741923c-1738509235087 + [loading_requirement_container_meta:a5d0eb38-e0bd-40e2-b194-0fcbc741923c-1738509235087] = [groups:][instances:] element_type = vanilla_button instance_identifier = mc_titlescreen_singleplayer_button appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = -55 y = -51 @@ -565,6 +420,300 @@ vanilla_button { nine_slice_slider_handle_border_y = 5 } +vanilla_button { + button_element_executable_block_identifier = d29af260-9081-410f-86cc-eca92eb2161b-1710837053345 + [executable_block:d29af260-9081-410f-86cc-eca92eb2161b-1710837053345][type:generic] = [executables:] + backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/modrinth_logo.png + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = a23ac421-e3aa-452e-bcd0-a7b01a605883-1738509235087 + [loading_requirement_container_meta:a23ac421-e3aa-452e-bcd0-a7b01a605883-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = 376322 + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = mid-centered + x = 72 + y = 18 + width = 20 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = 59eca2f8-b704-4a42-b2d3-101e17f6e61e-1710837053345 + [loading_requirement_container_meta:59eca2f8-b704-4a42-b2d3-101e17f6e61e-1710837053345] = [groups:][instances:] + is_hidden = true + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = e2b3e9b3-2d45-4f4f-b6dd-4f89f83b7da5-1710837053345 + [executable_block:e2b3e9b3-2d45-4f4f-b6dd-4f89f83b7da5-1710837053345][type:generic] = [executables:] + backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png + backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 81fe13c9-2717-47ad-b654-f4d7a9906ad6-1738509235086 + [loading_requirement_container_meta:81fe13c9-2717-47ad-b654-f4d7a9906ad6-1738509235086] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_multiplayer_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = mid-centered + x = -55 + y = -28 + width = 98 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = 59ff81cd-18cf-42ee-9f05-29ab3efbd338-1710837053345 + [loading_requirement_container_meta:59ff81cd-18cf-42ee-9f05-29ab3efbd338-1710837053345] = [groups:][instances:] + is_hidden = false + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = e64699ee-a69c-405e-91f8-8be2cb74ce89-1738509235087 + [executable_block:e64699ee-a69c-405e-91f8-8be2cb74ce89-1738509235087][type:generic] = [executables:] + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 61e0897b-51e3-4919-9d4c-a5ca7eb3b3fa-1738509235087 + [loading_requirement_container_meta:61e0897b-51e3-4919-9d4c-a5ca7eb3b3fa-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = 604346 + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = vanilla + x = 534 + y = 181 + width = 20 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = true + element_loading_requirement_container_identifier = 61f88303-8c48-47b0-965c-0d0da932c3df-1738509235087 + [loading_requirement_container_meta:61f88303-8c48-47b0-965c-0d0da932c3df-1738509235087] = [groups:][instances:] + is_hidden = true + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = 4fd9e559-3c06-41dc-ae8f-7a2ebaf224c9-1710837053345 + [executable_block:4fd9e559-3c06-41dc-ae8f-7a2ebaf224c9-1710837053345][type:generic] = [executables:] + backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png + backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 17a3dbdc-def6-40ad-9964-0f7cda95d52b-1738509235087 + [loading_requirement_container_meta:17a3dbdc-def6-40ad-9964-0f7cda95d52b-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_options_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = mid-centered + x = 47 + y = -5 + width = 98 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = 715a2b76-8625-45e4-8562-798e3aa19b3d-1710837053345 + [loading_requirement_container_meta:715a2b76-8625-45e4-8562-798e3aa19b3d-1710837053345] = [groups:][instances:] + is_hidden = false + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = 86e9765e-32c4-4aa4-8143-860366b37f05-1710837053344 + [executable_block:86e9765e-32c4-4aa4-8143-860366b37f05-1710837053344][type:generic] = [executables:] + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = cef303f1-7a07-4d11-ad7e-0c52a7a8dd4c-1738509235086 + [loading_requirement_container_meta:cef303f1-7a07-4d11-ad7e-0c52a7a8dd4c-1738509235086] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_copyright_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = bottom-left + x = 2 + y = -10 + width = 196 + height = 10 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = b56d28d8-4b36-4505-8297-26b61a4a4046-1710837053344 + [loading_requirement_container_meta:b56d28d8-4b36-4505-8297-26b61a4a4046-1710837053344] = [groups:][instances:] + is_hidden = false + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = c68f6eba-8ff3-42ea-b8a3-55a296372b3a-1710837053345 + [executable_block:c68f6eba-8ff3-42ea-b8a3-55a296372b3a-1710837053345][type:generic] = [executables:] + backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png + backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 6e4a2784-5288-4825-8c7e-69972c4d322e-1738509235087 + [loading_requirement_container_meta:6e4a2784-5288-4825-8c7e-69972c4d322e-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_quit_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = mid-centered + x = -55 + y = 18 + width = 98 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = a9f8d43c-d00b-4db2-ada7-81fa3a121de1-1710837053345 + [loading_requirement_container_meta:a9f8d43c-d00b-4db2-ada7-81fa3a121de1-1710837053345] = [groups:][instances:] + is_hidden = false + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = 785145e3-49a4-45fa-86a5-76543bb7c226-1710837053345 + [executable_block:785145e3-49a4-45fa-86a5-76543bb7c226-1710837053345][type:generic] = [executables:] + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 98ecc456-cc76-47f1-9039-833f736d0a5e-1738509235087 + [loading_requirement_container_meta:98ecc456-cc76-47f1-9039-833f736d0a5e-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_realms_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = mid-centered + x = 47 + y = -5 + width = 98 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = 7c454c53-713f-4c87-97e8-288da3eba763-1710837053345 + [loading_requirement_container_meta:7c454c53-713f-4c87-97e8-288da3eba763-1710837053345] = [groups:][instances:] + is_hidden = true + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + vanilla_button { button_element_executable_block_identifier = 829507fa-6c1f-46c8-94ea-4c4d8275a324-1710837053345 [executable_block:829507fa-6c1f-46c8-94ea-4c4d8275a324-1710837053345][type:generic] = [executables:] @@ -574,12 +723,21 @@ vanilla_button { nine_slice_border_x = 5 nine_slice_border_y = 5 navigatable = true + widget_active_state_requirement_container_identifier = 25294933-825d-420e-bc29-c6f745e55876-1738509235087 + [loading_requirement_container_meta:25294933-825d-420e-bc29-c6f745e55876-1738509235087] = [groups:][instances:] element_type = vanilla_button instance_identifier = mc_titlescreen_language_button appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 86 y = 41 @@ -598,8 +756,8 @@ vanilla_button { } vanilla_button { - button_element_executable_block_identifier = c68f6eba-8ff3-42ea-b8a3-55a296372b3a-1710837053345 - [executable_block:c68f6eba-8ff3-42ea-b8a3-55a296372b3a-1710837053345][type:generic] = [executables:] + button_element_executable_block_identifier = f5d492e4-e25d-4646-a378-cae04b45c8b3-1710837053345 + [executable_block:f5d492e4-e25d-4646-a378-cae04b45c8b3-1710837053345][type:generic] = [executables:] backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png backgroundhovered = [source:local]kubejs/assets/tfg/textures/gui/button_hover_98x20.png restartbackgroundanimations = true @@ -608,22 +766,31 @@ vanilla_button { nine_slice_border_x = 5 nine_slice_border_y = 5 navigatable = true + widget_active_state_requirement_container_identifier = f61b58cf-169c-4571-a771-d56fafddf3e7-1738509235087 + [loading_requirement_container_meta:f61b58cf-169c-4571-a771-d56fafddf3e7-1738509235087] = [groups:][instances:] element_type = vanilla_button - instance_identifier = mc_titlescreen_quit_button + instance_identifier = forge_titlescreen_mods_button appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = -55 - y = 18 + y = -5 width = 98 height = 20 stretch_x = false stretch_y = false stay_on_screen = false - element_loading_requirement_container_identifier = a9f8d43c-d00b-4db2-ada7-81fa3a121de1-1710837053345 - [loading_requirement_container_meta:a9f8d43c-d00b-4db2-ada7-81fa3a121de1-1710837053345] = [groups:][instances:] + element_loading_requirement_container_identifier = 612a6d32-b14d-4771-a362-65ec15e28bf1-1710837053345 + [loading_requirement_container_meta:612a6d32-b14d-4771-a362-65ec15e28bf1-1710837053345] = [groups:][instances:] is_hidden = false automated_button_clicks = 0 nine_slice_slider_handle = false @@ -631,13 +798,102 @@ vanilla_button { nine_slice_slider_handle_border_y = 5 } +vanilla_button { + button_element_executable_block_identifier = 73713221-4679-44d4-9569-127755e167f5-1738509235087 + [executable_block:73713221-4679-44d4-9569-127755e167f5-1738509235087][type:generic] = [executables:] + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = a7a2f996-aec5-4b18-9ebd-fcf21a730965-1738509235087 + [loading_requirement_container_meta:a7a2f996-aec5-4b18-9ebd-fcf21a730965-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = 6043461 + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = vanilla + x = 534 + y = 181 + width = 20 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = true + element_loading_requirement_container_identifier = 2340b0c5-c073-442a-b320-3a5e557c7d93-1738509235087 + [loading_requirement_container_meta:2340b0c5-c073-442a-b320-3a5e557c7d93-1738509235087] = [groups:][instances:] + is_hidden = true + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + +vanilla_button { + button_element_executable_block_identifier = 8e3abb1a-7f06-42bd-920a-eeabb0f225ec-1710837053345 + [executable_block:8e3abb1a-7f06-42bd-920a-eeabb0f225ec-1710837053345][type:generic] = [executables:] + restartbackgroundanimations = true + loopbackgroundanimations = true + nine_slice_custom_background = false + nine_slice_border_x = 5 + nine_slice_border_y = 5 + navigatable = true + widget_active_state_requirement_container_identifier = 1c9f2f8a-49b4-4ed4-9744-049cd1b3c415-1738509235087 + [loading_requirement_container_meta:1c9f2f8a-49b4-4ed4-9744-049cd1b3c415-1738509235087] = [groups:][instances:] + element_type = vanilla_button + instance_identifier = mc_titlescreen_accessibility_button + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false + anchor_point = vanilla + x = 534 + y = 217 + width = 20 + height = 20 + stretch_x = false + stretch_y = false + stay_on_screen = false + element_loading_requirement_container_identifier = f97a69d2-7673-4f9e-97eb-d37eb76122f3-1710837053345 + [loading_requirement_container_meta:f97a69d2-7673-4f9e-97eb-d37eb76122f3-1710837053345] = [groups:][instances:] + is_hidden = true + automated_button_clicks = 0 + nine_slice_slider_handle = false + nine_slice_slider_handle_border_x = 5 + nine_slice_slider_handle_border_y = 5 +} + deep_element { element_type = title_screen_logo instance_identifier = deep:title_screen_logo appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = top-left x = 183 y = 30 @@ -656,8 +912,15 @@ deep_element { instance_identifier = deep:title_screen_branding appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = top-left x = 2 y = 365 @@ -676,8 +939,15 @@ deep_element { instance_identifier = deep:title_screen_splash appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = mid-centered x = 221 y = -89 @@ -696,8 +966,15 @@ deep_element { instance_identifier = deep:title_screen_realms_notification appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = top-left x = 423 y = 184 @@ -716,8 +993,15 @@ deep_element { instance_identifier = deep:title_screen_forge_copyright appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = top-left x = 283 y = 254 @@ -736,8 +1020,15 @@ deep_element { instance_identifier = deep:title_screen_forge_top appearance_delay = no_delay appearance_delay_seconds = 1.0 - fade_in = false + fade_in_v2 = no_fading fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 0 + auto_sizing_base_screen_height = 0 + sticky_anchor = false anchor_point = top-left x = 186 y = 4 diff --git a/config/fancymenu/options.txt b/config/fancymenu/options.txt index 337a74303..3ac5845e4 100644 --- a/config/fancymenu/options.txt +++ b/config/fancymenu/options.txt @@ -72,4 +72,9 @@ B:debug_overlay_show_basic_screen_category = 'true'; B:debug_overlay_show_system_category = 'true'; B:debug_overlay_show_advanced_screen_category = 'true'; B:show_debug_overlay = 'false'; -B:debug_overlay_show_resources_category = 'true'; \ No newline at end of file +B:debug_overlay_show_resources_category = 'true'; + + +##[tutorial] + +B:show_welcome_screen = 'false'; \ No newline at end of file diff --git a/config/fastbench.cfg b/config/fastbench.cfg new file mode 100644 index 000000000..8f774c528 --- /dev/null +++ b/config/fastbench.cfg @@ -0,0 +1,19 @@ +# File Specification: https://gist.github.com/Shadows-of-Fire/88ac714a758636c57a52e32ace5474c1 + +# + +general { + # If the recipe book button is removed. + # Default: true + B:"Remove Recipe Book Button"=true + + # If the crafting table has a tooltip + # Default: false + B:"Disable tooltip on crafting table"=false + + # The tick interval at which all pooled grid updates will be run. Duplicate updates within the interval will be squashed. + # Default: 2; Range: [1 ~ 100] + I:"Grid Update Interval"=2 +} + + diff --git a/config/flywheel-client.toml b/config/flywheel-client.toml index e41e2022e..9dc17f4d1 100644 --- a/config/flywheel-client.toml +++ b/config/flywheel-client.toml @@ -1,6 +1,6 @@ #Select the backend to use. #Allowed Values: OFF, BATCHING, INSTANCING -backend = "INSTANCING" +backend = "OFF" #Enable or disable a debug overlay that colors pixels by their normal. debugNormals = false #Enable or disable instance update limiting with distance. diff --git a/config/forgivingworld.json b/config/forgivingworld.json new file mode 100644 index 000000000..ac09e2342 --- /dev/null +++ b/config/forgivingworld.json @@ -0,0 +1,65 @@ +{ + "disableVanillaPortals": { + "desc:": "Disables vanilla portals, default:false", + "disableVanillaPortals": true + }, + "teleportCooldown": { + "desc:": "Sets a delay before you can teleport again, default:15 seconds", + "teleportCooldown": 15 + }, + "instantTeleport": { + "desc:": "Instantly teleports instead of notifying the user over time,(Note this causes some lag, due to loading chunks directly) default:false", + "instantTeleport": false + }, + "teleportedRidden": { + "desc:": "Teleport ridden entities too, default:true", + "teleportedRidden": true + }, + "teleportLeashed": { + "desc:": "Teleport leashed entities too, default:true", + "teleportLeashed": true + }, + "debuglogging": { + "desc:": "Enable debug logging, default:false", + "debuglogging": false + }, + "dimensionconnections": [ + { + "from": "minecraft:overworld", + "to": "minecraft:the_nether", + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 125 + }, + "belowy": -58, + "slowfallticks": 1200 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:the_nether", + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": 4 + }, + "belowy": 0 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:overworld", + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": -58 + }, + "abovey": 118 + }, + { + "from": "minecraft:overworld", + "to": "minecraft:overworld", + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 360 + }, + "abovey": 364 + } + ] +} \ No newline at end of file diff --git a/config/freecam.toml b/config/freecam.toml new file mode 100644 index 000000000..d5d547672 --- /dev/null +++ b/config/freecam.toml @@ -0,0 +1,46 @@ + +[Freecam] + #The type of flight used by freecam. + #Allowed Values: CREATIVE, DEFAULT + "Flight Mode" = "DEFAULT" + #The horizontal speed of freecam. + #Range: 0.0 ~ 10.0 + "Horizontal Speed" = 1.0 + #The vertical speed of freecam. + #Range: 0.0 ~ 10.0 + "Vertical Speed" = 1.0 + #Allows travelling through transparent blocks in freecam. + "Ignore Transparent Blocks" = true + #Allows travelling through doors/trapdoors/gates in freecam. + "Ignore Openable Blocks" = true + #Allows travelling through all blocks in freecam. + "Ignore All Collision" = true + #Whether 'Initial Perspective' should check for collision, even when using 'Ignore All Collision'. + "Always Check Initial Collision" = false + #The initial perspective of the camera. + #Allowed Values: FIRST_PERSON, THIRD_PERSON, THIRD_PERSON_MIRROR, INSIDE + "Initial Perspective" = "INSIDE" + #Shows your player in its original position. + "Show Player" = true + #Whether you can see your hand in freecam. + "Show Hand" = false + #Increases brightness while in freecam. + "Full Brightness" = false + #Whether you see a fog overlay underwater, in lava, or powdered snow. + "Show Submersion Fog" = false + #Disables freecam when damage is received. + "Disable on Damage" = true + #Prevents player movement while freecam is active. + #WARNING: Multiplayer usage not advised. + "Freeze Player" = false + #Whether you can interact with blocks/entities in freecam. + #WARNING: Multiplayer usage not advised. + "Allow Interaction" = false + #The source of block/entity interactions. + #Allowed Values: CAMERA, PLAYER + "Interaction Mode" = "CAMERA" + #Notifies you when entering/exiting freecam. + "Freecam Notifications" = true + #Notifies you when entering/exiting tripod cameras. + "Tripod Notifications" = true + diff --git a/config/ftbquests/chapter_groups.snbt b/config/ftbquests/chapter_groups.snbt new file mode 100644 index 000000000..8be3556e1 --- /dev/null +++ b/config/ftbquests/chapter_groups.snbt @@ -0,0 +1,3 @@ +{ + chapter_groups: [ ] +} diff --git a/config/ftbquests/data.snbt b/config/ftbquests/data.snbt new file mode 100644 index 000000000..d88cf0e12 --- /dev/null +++ b/config/ftbquests/data.snbt @@ -0,0 +1,21 @@ +{ + default_autoclaim_rewards: "disabled" + default_consume_items: false + default_quest_disable_jei: false + default_quest_shape: "circle" + default_reward_team: false + detection_delay: 20 + disable_gui: false + drop_loot_crates: false + emergency_items_cooldown: 300 + grid_scale: 0.5d + lock_message: "" + loot_crate_no_drop: { + boss: 0 + monster: 600 + passive: 4000 + } + pause_game: false + progression_mode: "linear" + version: 13 +} diff --git a/config/ftbquests/quests/chapter_groups.snbt b/config/ftbquests/quests/chapter_groups.snbt index 8be3556e1..ed803c259 100644 --- a/config/ftbquests/quests/chapter_groups.snbt +++ b/config/ftbquests/quests/chapter_groups.snbt @@ -1,3 +1,9 @@ { - chapter_groups: [ ] + chapter_groups: [ + { id: "19428C6E7A36D463", title: "{quests.groups.tips}" } + { id: "3C4612A920658A7E", title: "{quests.groups.primitive}" } + { id: "44D0F3E5067B5AB8", title: "{quests.groups.voltaic_age}" } + { id: "21D975CEBDE06BA9", title: "{quests.groups.space_age}" } + { id: "563374AD29C006DB", title: "{quests.groups.interstellar}" } + ] } diff --git a/config/ftbquests/quests/chapters/ae2.snbt b/config/ftbquests/quests/chapters/ae2.snbt index c204397fc..0cc682b1e 100644 --- a/config/ftbquests/quests/chapters/ae2.snbt +++ b/config/ftbquests/quests/chapters/ae2.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "circle" filename: "ae2" - group: "" + group: "44D0F3E5067B5AB8" icon: "ae2:controller" id: "09BE9F51822EC180" - order_index: 7 + order_index: 4 quest_links: [ { id: "3293CB774C1A4DF0" diff --git a/config/ftbquests/quests/chapters/cc.snbt b/config/ftbquests/quests/chapters/cc.snbt index b4234ca14..498840db0 100644 --- a/config/ftbquests/quests/chapters/cc.snbt +++ b/config/ftbquests/quests/chapters/cc.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "cc" - group: "" + group: "44D0F3E5067B5AB8" icon: "computercraft:computer_advanced" id: "1A6D6B70EC13DDC6" - order_index: 5 + order_index: 2 quest_links: [ ] quests: [ { diff --git a/config/ftbquests/quests/chapters/create.snbt b/config/ftbquests/quests/chapters/create.snbt deleted file mode 100644 index 2ca000355..000000000 --- a/config/ftbquests/quests/chapters/create.snbt +++ /dev/null @@ -1,588 +0,0 @@ -{ - default_hide_dependency_lines: false - default_quest_shape: "" - filename: "create" - group: "" - icon: "create:cogwheel" - id: "73633085BF22A8E9" - order_index: 2 - quest_links: [ - { - id: "36CEFCACDF2AA4A8" - linked_quest: "10FB27DD3C7BEC2F" - x: 2.0d - y: -4.5d - } - { - id: "222131C44D4E98DF" - linked_quest: "517EFADD8F22717F" - x: -2.0d - y: -4.5d - } - { - id: "17D9D971F599B598" - linked_quest: "5CB27C93795281AB" - shape: "gear" - size: 2.0d - x: 0.0d - y: 0.0d - } - ] - quests: [ - { - dependencies: ["5CB27C93795281AB"] - id: "02BBC87042D9516B" - tasks: [ - { - id: "3CBAA751EC265867" - item: "create:wrench" - type: "item" - } - { - id: "24866DE2074A4B7A" - item: "create:goggles" - type: "item" - } - ] - title: "Engineer's tools" - x: 0.0d - y: -3.0d - } - { - dependencies: ["10FB27DD3C7BEC2F"] - id: "576584250B7CE6E9" - tasks: [ - { - id: "103652A3387B66C6" - item: { - Count: 1 - id: "create:copper_diving_boots" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "7AA8E16D668D0F34" - item: { - Count: 1 - id: "create:copper_diving_helmet" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "225CF48F13FCAB24" - item: { - Count: 1 - id: "create:copper_backtank" - tag: { - Air: 900 - } - } - type: "item" - } - ] - x: 2.0d - y: -3.0d - } - { - dependencies: ["5CB27C93795281AB"] - id: "6C6579B8C07D4136" - shape: "circle" - tasks: [{ - id: "33308D6C881935BC" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"a source of kinetic energy\"}" - } - "ftbfiltersystem:filter": "or(or(item(create:water_wheel)item(create:large_water_wheel))and(item_tag(create:valve_handles))or(item(create:steam_engine))item(create:windmill_bearing))" - } - } - type: "item" - }] - title: "The first energy" - x: -2.5d - y: 0.0d - } - { - dependencies: ["6C6579B8C07D4136"] - id: "14D612055A2FDA2B" - tasks: [{ - id: "53A738D6D82313A9" - item: "create:mechanical_press" - type: "item" - }] - x: -4.5d - y: 0.0d - } - { - dependencies: ["5CB27C93795281AB"] - id: "78BE0A10CE7B4BBE" - shape: "rsquare" - tasks: [{ - id: "4F22CB4EF49F2A9C" - item: "create:electron_tube" - type: "item" - }] - x: 2.5d - y: 0.0d - } - { - dependencies: ["78BE0A10CE7B4BBE"] - description: [ - "Let's break down sequential crafting using Precision Mechanism as an example." - "You will need 1 Gold Plate, 5 Deploy Cogwheel, 5 Deploy Large Cogwheel and 5 Iron Nugget" - "" - "Place the gold plate on the Depot or Mechanical Belt that is under the Deployer" - "Next, place the items in the Deployer in order from the JEI." - "" - "You will end up with Precision Mechanism" - ] - id: "7B74DB051202E97E" - shape: "rsquare" - subtitle: "new mechanics" - tasks: [{ - id: "135E35D4524364D0" - item: "create:deployer" - type: "item" - }] - x: 2.5d - y: 2.0d - } - { - dependencies: ["5CB27C93795281AB"] - hide_dependency_lines: true - id: "525EA99C7879E3FB" - tasks: [{ - id: "60E20600FE2D35E9" - item: "create:clipboard" - type: "item" - }] - x: 4.0d - y: -3.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "4293C86E2C84BD48" - tasks: [{ - id: "23E574F2A19C1D33" - item: "createaddition:rolling_mill" - type: "item" - }] - x: -4.5d - y: 1.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "093F631A8250D035" - tasks: [{ - id: "3E03F4194278D995" - item: "create:millstone" - type: "item" - }] - x: -4.5d - y: -1.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "58A66A2383666C97" - tasks: [{ - id: "45D641D820704E7B" - item: "create:mechanical_mixer" - type: "item" - }] - x: -5.5d - y: 0.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "3FB7056DA6F67EAE" - tasks: [{ - id: "3016BA0CE04258AD" - item: "create:basin" - type: "item" - }] - x: -6.5d - y: -0.5d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "7D267E59C505EA2F" - tasks: [{ - id: "55EEB4ADEEBDD0DC" - item: "create:mechanical_saw" - type: "item" - }] - x: -5.5d - y: 1.0d - } - { - dependencies: ["78BE0A10CE7B4BBE"] - id: "45EA7CA14EE67AA4" - shape: "rsquare" - tasks: [{ - id: "7C4C5BE01A6E47DB" - item: "create:mechanical_crafter" - type: "item" - }] - x: 5.5d - y: 0.0d - } - { - dependencies: ["45EA7CA14EE67AA4"] - id: "2342C976766AF169" - tasks: [{ - id: "452ACB26FAA052F5" - item: "create:crushing_wheel" - type: "item" - }] - x: 5.5d - y: 2.0d - } - { - dependencies: ["517EFADD8F22717F"] - id: "7067BC9D1CEB6982" - tasks: [{ - id: "559495DDBA2E1557" - item: { - Count: 1 - id: "create:super_glue" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: -2.0d - y: -3.0d - } - { - dependencies: ["7B74DB051202E97E"] - id: "6C2560C3D953E31A" - tasks: [{ - id: "5D78EA998A80A17F" - item: "create:depot" - type: "item" - }] - x: 3.5d - y: 3.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "3511E3DF17718ED4" - tasks: [{ - id: "682292116D187C80" - item: "create:item_drain" - type: "item" - }] - x: -5.5d - y: -1.0d - } - { - dependencies: ["45EA7CA14EE67AA4"] - hide_dependency_lines: true - id: "2736FC986B7D8D35" - tasks: [{ - id: "135489C0971B8F04" - item: { - Count: 1 - id: "create:potato_cannon" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 6.5d - y: 2.0d - } - { - dependencies: ["45EA7CA14EE67AA4"] - hide_dependency_lines: true - id: "5D1F3178294643AE" - tasks: [{ - id: "352E3FCF3735048E" - item: { - Count: 1 - id: "create:extendo_grip" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 4.5d - y: 2.0d - } - { - dependencies: ["45EA7CA14EE67AA4"] - hide_dependency_lines: true - id: "79A7EB4F3BB64F29" - tasks: [{ - id: "00C3CDD99E0550E5" - item: "create:wand_of_symmetry" - type: "item" - }] - x: 5.5d - y: 3.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "316AA25E5991DD9B" - tasks: [{ - id: "48F0EAD91F9707AF" - item: "create:encased_fan" - type: "item" - }] - x: -6.5d - y: 0.5d - } - { - dependencies: ["7B74DB051202E97E"] - id: "2D95C927AA8A641D" - shape: "rsquare" - tasks: [{ - id: "0151C8DAE056A8F3" - item: "create:precision_mechanism" - type: "item" - }] - x: 2.5d - y: 4.0d - } - { - dependencies: ["2D95C927AA8A641D"] - id: "4948CEF82DCB05AA" - tasks: [{ - id: "32AEDFA92A36C1F0" - item: "create:rotation_speed_controller" - type: "item" - }] - x: 0.5d - y: 4.0d - } - { - dependencies: ["2D95C927AA8A641D"] - hide_dependency_lines: true - id: "41CB1E643C9C517E" - tasks: [{ - id: "5880D509F71E5E9B" - item: "create:mechanical_arm" - type: "item" - }] - x: 0.0d - y: 3.0d - } - { - dependencies: ["2D95C927AA8A641D"] - hide_dependency_lines: true - id: "54D9026F3BE09E88" - tasks: [{ - id: "51E333A2DABBB2D7" - item: "create:controls" - type: "item" - }] - x: -0.5d - y: 4.0d - } - { - dependencies: ["5CB27C93795281AB"] - hide_dependency_lines: true - id: "0553929CC6470D24" - tasks: [{ - id: "2F503A986388839F" - item: "create:brown_toolbox" - type: "item" - }] - x: -3.0d - y: -3.0d - } - { - dependencies: ["5CB27C93795281AB"] - hide_dependency_lines: true - id: "560240B49B7BC7CA" - tasks: [{ - id: "67AD16F72AE07381" - item: "create:belt_connector" - type: "item" - }] - x: 3.0d - y: -3.0d - } - { - dependencies: ["54D9026F3BE09E88"] - id: "48E26F1E509F4BD0" - tasks: [{ - id: "531A0B06F3A3EB88" - item: "create:schedule" - type: "item" - }] - x: -4.5d - y: 4.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "6F419731D917B8C0" - tasks: [{ - id: "05FBF52F27F9279E" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Train Track\"}" - } - "ftbfiltersystem:filter": "or(item(railways:track_create_andesite_wide)item(railways:track_create_andesite_narrow)item(railways:track_monorail))" - } - } - type: "item" - }] - x: -5.5d - y: 4.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "08AD4D4DF8FB3695" - tasks: [{ - id: "50DA2411CD4D51AE" - item: "create:track_signal" - type: "item" - }] - x: -4.5d - y: 3.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "268A812D73AC53DF" - tasks: [{ - id: "1A55B26A64B966F4" - item: "railways:track_coupler" - type: "item" - }] - x: -5.5d - y: 3.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "540FDE5960AAF38F" - tasks: [{ - id: "7F6979FCA3DA0652" - item: "create:track_station" - type: "item" - }] - x: -4.5d - y: 5.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "1C6B0CD142F5B472" - tasks: [{ - id: "358613EF5374954C" - item: "create:track_observer" - type: "item" - }] - x: -5.5d - y: 5.0d - } - { - dependencies: ["2D95C927AA8A641D"] - hide_dependency_lines: true - id: "320CA5D0313DB27F" - tasks: [{ - id: "4948D961FC3435A9" - item: "railways:remote_lens" - type: "item" - }] - x: 0.0d - y: 5.0d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "3B19E2A579C1F3A2" - tasks: [{ - id: "40851585BA2693AC" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Track Switch\"}" - } - "ftbfiltersystem:filter": "or(item(railways:track_switch_andesite)item(railways:track_switch_brass))" - } - } - type: "item" - }] - x: -6.5d - y: 4.5d - } - { - dependencies: ["54D9026F3BE09E88"] - hide_dependency_lines: true - id: "13D5F948FE677003" - tasks: [{ - id: "0FA370BC8CFB7600" - item: "railways:semaphore" - type: "item" - }] - x: -6.5d - y: 3.5d - } - { - dependencies: ["5CB27C93795281AB"] - id: "7B2FADEB296E0820" - tasks: [ - { - id: "6377207F842B2A29" - item: "create:fluid_tank" - type: "item" - } - { - id: "0AD5909D5F6155A1" - item: "create:mechanical_pump" - type: "item" - } - { - id: "3817EE20AC8D41D7" - item: "create:fluid_pipe" - type: "item" - } - ] - title: "Fluid Pump" - x: 0.0d - y: 2.0d - } - { - dependencies: ["6C6579B8C07D4136"] - hide_dependency_lines: true - id: "2250B89A0F3DD536" - tasks: [{ - id: "47FEE24AC5695718" - item: "createaddition:modular_accumulator" - type: "item" - }] - x: -7.5d - y: 0.0d - } - ] - title: "ULV - Mechanical Age" -} diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index ddcf9a1c2..ac0f139c4 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -3,10 +3,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "ev__extreme_voltage" - group: "" + group: "21D975CEBDE06BA9" icon: "gtceu:ev_electric_motor" id: "7FB9F636D95820A3" - order_index: 8 + order_index: 0 quest_links: [ { id: "2E99A771FCA40E15" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index db5d9e51c..adf45f331 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "hv__high_voltage" - group: "" + group: "44D0F3E5067B5AB8" icon: "gtceu:hv_electric_motor" id: "237BDB19A9495869" - order_index: 6 + order_index: 3 quest_links: [ { id: "2583D0B64E51FAC8" diff --git a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt index 571ac798f..90e54399b 100644 --- a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt +++ b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "iv__insane_voltage" - group: "" + group: "21D975CEBDE06BA9" icon: "gtceu:iv_electric_motor" id: "32EF20533F323E02" - order_index: 9 + order_index: 1 quest_links: [{ id: "050247AED8C803F9" linked_quest: "30A6EDDF25A5E5F8" diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index a328e0bac..f04db707a 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "luv__ludicrous_voltage" - group: "" + group: "21D975CEBDE06BA9" icon: "gtceu:luv_electric_motor" id: "262A03F6F4EC713C" - order_index: 10 + order_index: 2 quest_links: [ { id: "7F8B55C8510200AF" @@ -613,7 +613,7 @@ "" "&l&3Lore:&r&o There may be a rebalance for these in the future. See the Multiblock Miner quest for details." ] - hide: true + hide_until_deps_visible: true id: "1BE779AF4487E3EB" shape: "rsquare" size: 0.66d diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 66ae5dc33..5acd24b9f 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -2,216 +2,160 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "lv__low_voltage" - group: "" + group: "44D0F3E5067B5AB8" icon: "gtceu:lv_electric_motor" id: "7D50771C3FE033D7" - order_index: 3 - quest_links: [{ - id: "376725077649D2CC" - linked_quest: "5A8F0124E07D5025" - shape: "gear" - size: 1.2d - x: 2.25d - y: 0.0d - }] + order_index: 0 + quest_links: [ ] quests: [ { dependencies: ["2F7617C0C4B330DE"] - description: [ - "The &aFluid Regulator&r is sort of the equivalent to a &9Robot Arm&r for Fluids." - "" - "It can transfer fluids, but has two useful modes:" - "" - "&9-&r &dSupply Exact&r will transfer the amount of specified Fluid per tick if available. No more, no less." - "&9-&r &dKeep Exact&r will make sure the exact amount of Fluid in the attached machine is being kept." - ] + description: ["{quests.low_voltage.lv_fluid_regulator.desc}"] id: "47D4545452F05E37" shape: "rsquare" - size: 0.66d - subtitle: "A cover!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_fluid_regulator.subtitle}" tasks: [{ id: "5E8D784C83A4F672" item: "gtceu:lv_fluid_regulator" type: "item" }] - x: -1.125d - y: 1.125d + title: "{quests.low_voltage.lv_fluid_regulator.title}" + x: 3.0d + y: 0.5d } { dependencies: ["38993B4697B0E16C"] description: [ - "When placed on a machine, Robot Arms are a more configurable version of a Conveyor Module. They allow you to transfer items in specific batches, at specific rates, or keep a certain amount of items stocked." - "" - "Practical uses for the Robot Arm will be explained in future Quests as a tutorial." - "" - "&9Note:&r The functionalities provided by the Robot Arm work &lonly&r if it is &lrequired&r to perform the operation." + "{quests.low_voltage.lv_robot_arm.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o GregTech 5 had blocks such as the Buffer, Filter and Type Filter to allow fine control over items. In GTCE it's all been replaced by the almighty Robot Arm and various Filter Covers. Much more compact!" + "{quests.low_voltage.lv_robot_arm.desc.2}" ] id: "3DE7A2B91CFF48F6" shape: "rsquare" - size: 0.66d - subtitle: "You're going to hate making these" + size: 1.0d + subtitle: "{quests.low_voltage.lv_robot_arm.subtitle}" tasks: [{ id: "7D7A9CBE1E368E53" item: "gtceu:lv_robot_arm" type: "item" }] - x: 0.0d - y: 0.0d + title: "{quests.low_voltage.lv_robot_arm.title}" + x: 3.0d + y: -2.0d } { - dependencies: ["5A8F0124E07D5025"] - description: [ - "Less common as a component, but used in a number of critical machines." - "" - "When placed on a machine, conveyor modules will transfer items. You can configure them to import or export." - "" - "They can also accept various &9Item Filters&r." - ] + dependencies: ["7EED0084BA59FED1"] + description: ["{quests.low_voltage.lv_conveyor.desc}"] id: "288CE4AA4C5AA8BF" shape: "rsquare" - size: 0.66d - subtitle: "A crafting component, but also a cover!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_conveyor.subtitle}" tasks: [{ id: "064169E7E2772387" item: "gtceu:lv_conveyor_module" type: "item" }] - x: 1.125d - y: 1.125d + title: "{quests.low_voltage.lv_conveyor.title}" + x: 1.5d + y: -0.75d } { - dependencies: ["5A8F0124E07D5025"] - description: [ - "When placed on a machine, pumps will transfer fluid. You can configure them to import or export." - "" - "It can accept a &9Fluid Filter&r." - ] + dependencies: ["7EED0084BA59FED1"] + description: ["{quests.low_voltage.lv_pump.desc}"] id: "2F7617C0C4B330DE" shape: "rsquare" - size: 0.66d - subtitle: "A crafting component, but also a cover!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_pump.subtitle}" tasks: [{ id: "7A37B370D2D40E6A" item: "gtceu:lv_electric_pump" type: "item" }] - x: -1.125d - y: 0.0d + title: "{quests.low_voltage.lv_pump.title}" + x: 1.5d + y: 0.5d } { - dependencies: ["5A8F0124E07D5025"] - description: [ - "A specialized motor needed to make certain machines." - "" - "One of the more intricate crafting components, as it's made using a motor." - ] + dependencies: ["7EED0084BA59FED1"] + description: ["{quests.low_voltage.lv_piston.desc}"] id: "38993B4697B0E16C" shape: "rsquare" - size: 0.66d - subtitle: "A crafting component - did you expect anything fancier?" + size: 1.0d + subtitle: "{quests.low_voltage.lv_piston.subtitle}" tasks: [{ id: "70FEF63FB9A58B02" item: "gtceu:lv_electric_piston" type: "item" }] - x: 1.125d - y: 0.0d + title: "{quests.low_voltage.lv_piston.title}" + x: 1.5d + y: -2.0d } { dependencies: [ - "4B979482EF026BFF" - "5A8F0124E07D5025" + "7EED0084BA59FED1" + "648BCF486E16CCB2" ] description: [ - "The &3Steam Turbine&r is the only Generator you can realistically use in &7LV&r. &2Later, you'll unlock more interesting Power options&r, such as natural gases or petrols." - "" - "When provided Steam, the turbine will output EU at a ratio of &d2 Steam = 1 EU&r." - "" - "&6This quest unlocks two new tutorials on Electricity and Cables in the &lTips and Tricks&r&6 tab - check them out to learn more!&r" + "{quests.low_voltage.lv_steam_turbine.desc.1}" "{@pagebreak}" - "If you're using a single &3Steam Turbine&r, you only need &a1x Tin Cables&r. On the other hand, if you upgrade to &32 Steam Turbines&r, you should use &a2x Tin Cables&r - else they may end up &cburning&r." - "" - "This is because of the &9Amperage&r mechanic... but that will be explained later so you can enjoy playing. Don't worry!" + "{quests.low_voltage.lv_steam_turbine.desc.2}" ] id: "6E186F9C57155BFA" - size: 0.75d - subtitle: "You must construct more turbines" + optional: true + size: 1.0d + subtitle: "{quests.low_voltage.lv_steam_turbine.subtitle}" tasks: [{ id: "155BC745245BCBAF" item: "gtceu:lv_steam_turbine" type: "item" }] - title: "Electricity Generation" - x: 3.375d - y: 0.0d + title: "{quests.low_voltage.lv_steam_turbine.title}" + x: 0.0d + y: 1.5d } { dependencies: ["6431381FBE07D6EF"] - description: [ - "This questline serves as a quick guide to &9GregTech Amperage&r. As for &dVoltage&r mechanics, we'll go over those once you reach &bMV&r." - "" - "&6&lTL;DR:&r For safety, match the Amperage limit of your Cables with the max amount of Amps provided by your Energy Producers." - "" - "&6This quest unlocks a new tutorial on Amperage in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] + description: ["{quests.low_voltage.lv_amp_explanation.desc}"] id: "7B0FF43022F6C2EC" shape: "rsquare" size: 0.66d - subtitle: "Amps and You: a how-to" + subtitle: "{quests.low_voltage.lv_amp_explanation.subtitle}" tasks: [{ count: 4L id: "1C81FD3C54CC2274" item: "gtceu:tin_quadruple_cable" type: "item" }] - title: "But what are Amps?" - x: 6.75d - y: 1.125d + title: "{quests.low_voltage.lv_amp_explanation.title}" + x: 4.5d + y: 3.5d } { - dependencies: [ - "1E9BE8D3F8A602DC" - "45B71324028F6E68" - ] - description: [ - "Well... can you show us an &bMV&r Circuit as well?" - "" - "&aAluminium&r is the main ingredient for &bMV&r machinery. Check aaaall the way to the other side for the &2Sapphire Quest&r if you haven't acquired any &aAluminium Dust&r yet." - "" - "Once you setup an &3MV Electrolyzer&r, you can get &aAluminium&r through many other ores. All of this quest's rewards bear &aAluminium&r, so keep an eye out for them when mining." - "" - "The process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r." - "" - "&6You will still need MV Circuits in order to make MV machines!&r" - ] + dependencies: ["45B71324028F6E68"] + description: ["{quests.low_voltage.aluminium_ingot.desc}"] + hide_dependency_lines: false id: "7567E885B7166603" shape: "gear" - size: 1.5d - subtitle: "We're basically in MV now, right?" + size: 4.0d + subtitle: "{quests.low_voltage.aluminium_ingot.subtitle}" tasks: [{ id: "161B5813936E5E42" item: "gtceu:aluminium_ingot" type: "item" }] - x: 9.393452380952382d - y: 3.360459183673477d + title: "{quests.low_voltage.aluminium_ingot.title}" + x: -9.0d + y: 11.5d } { - dependencies: ["4B979482EF026BFF"] - description: [ - "Make some Battery Alloy, used for Battery Hulls." - "" - "Antimony is found in the &cNether&r, so don't forget to check its Ore Tab." - "" - "&9Note:&r This quest does &lnot&r contain functional Batteries - head downwards for that." - ] + description: ["{quests.low_voltage.lv_battery_preparation.desc}"] icon: "gtceu:battery_alloy_ingot" id: "6D9D54FAB21EC086" shape: "rsquare" - size: 0.66d - subtitle: "Batteries are great!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_battery_preparation.subtitle}" tasks: [ { id: "7B4585B39907E2EA" @@ -221,23 +165,15 @@ { count: 2L id: "619E37C6DE44F972" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:ingots/battery_alloy)" - } - } - title: "Any #forge:ingots/battery_alloy" + item: "gtceu:battery_alloy_plate" type: "item" } ] - title: "Battery Preparations!" - x: 4.875d - y: 2.31d + title: "{quests.low_voltage.lv_battery_preparation.title}" + x: 7.5d + y: 2.5d } { - dependencies: ["1C767009F505A813"] description: [ "In theory, Crates are flat upgrades to Chests. A single block space that stores more items - what more could you ask for?" "" @@ -245,328 +181,217 @@ "" "Where they shine however is the fact that they &6accept Covers&r, making them perfect candidates for buffers in automation." ] + icon: "gtceu:bronze_crate" id: "7CCC1BDDE0C67F16" shape: "rsquare" - size: 0.66d + size: 1.0d subtitle: "Earlygame buffering" tasks: [{ - id: "6FE87ED832BF40D1" - item: "gtceu:steel_crate" + id: "78E120F8EDE2BD3F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:wood_crate)item(gtceu:bronze_crate)item(gtceu:steel_crate)item(gtceu:aluminium_crate)item(gtceu:stainless_steel_crate)item(gtceu:titanium_crate)item(gtceu:tungsten_steel_crate))" + } + } type: "item" }] title: "GregTech Storage" - x: 0.0d - y: 2.25d + x: -4.5d + y: -4.0d } { dependencies: [ "288CE4AA4C5AA8BF" - "3DE7A2B91CFF48F6" "2F7617C0C4B330DE" + "47D4545452F05E37" + "3DE7A2B91CFF48F6" ] dependency_requirement: "one_completed" description: [ - "Covers are placed by right-clicking with Cover in hand on a face of a machine, and removed with a &5Crowbar&r (or by mining the machine, but that's way slower)." - "" - "Pretty much any GregTech Tile-Entity will accept Covers, even if they wouldn't provide any functionality." - "" - "Opening a Cover is done by sneak-right-clicking it with an &5empty hand&r. You can also right-click with a &5Screwdriver&r, or sneak-right-click on another face using the grid." + "{quests.low_voltage.cover_behaviour.desc.1}" "{@pagebreak}" - "For Covers that transfer Items/Fluids, you will have a button to enable/disable other forms of transfer through the cover:" - "" - "&9- &rDisabled: only the cover will be allowed to transfer on this machine side." - "" - "&9-&r Allow Filtered (only relevant with a filter!): other transfer will be enabled only if it matches the filter" - "" - "&9-&r Allow Unfiltered: any other transfer is allowed on this machine side." - "" - "Placing a cover of a lower voltage tier on a machine is &9safe&r." + "{quests.low_voltage.cover_behaviour.desc.2}" ] icon: "gtceu:crafting_table_cover" id: "1C767009F505A813" shape: "rsquare" - size: 0.66d - subtitle: "Extra utility without taking up blockspace!" + size: 1.0d + subtitle: "{quests.low_voltage.cover_behaviour.subtitle}" tasks: [{ id: "7C7A8A26D3FF0E96" - title: "I'm an expert on Covers now, don't you worry." + title: "{quests.low_voltage.cover_behaviour.task}" type: "checkmark" }] - title: "Cover Behaviour" - x: 0.0d - y: 1.125d - } - { - dependencies: ["32EA7E81885C8E87"] - description: [ - "All machines typically have one &7Front Face&r, and one &9Output Face&r." - "" - "The &7Front Face&r should be obvious.\\nThe &9Output Face&r is the face with a dot or hole on it. By default, this is at the back of the machine as you place it." - "" - "Machines can &aauto-output&r through their output face. To enable auto-output, click the appropriate button in the GUI. Fluid and item auto-outputs are toggled separately. Further control over auto-outputs can be achieved with &dFilters&r and &dCovers&r, which are explained in the quest to the upper left of this one." - "{@pagebreak}" - "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! " - "" - "By default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output." - "" - "There are unique machines that do not process recipes, such as the &3Pump&r, &3Miner&r, &3Fisher&r, &3Item Collector&r, etc. These machines will output on their &7Front Face&r (which is still marked as a dot)." - ] - icon: "minecraft:hopper" - id: "64E1E87B8AF72968" - shape: "rsquare" - size: 0.66d - subtitle: "Let's learn." - tasks: [{ - id: "6A4DFF7493955B8D" - title: "Hmm, how interesting!" - type: "checkmark" - }] - title: "Machine Auto-Output Behaviour" - x: 1.125d - y: 2.25d - } - { - dependencies: [ - "4B979482EF026BFF" - "5A8F0124E07D5025" - ] - description: [ - "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point." - "" - "The Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!" - "" - "To the right of this Quest, you'll find some important machines which will grant you cheaper intermediates." - "{@pagebreak}" - "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet." - "" - "You will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r." - "" - "With this machine safely crafted - welcome to the age of all things electric!" - ] - id: "32EA7E81885C8E87" - size: 0.75d - subtitle: "No more painful wires!" - tasks: [{ - id: "2B5BF6F3ED693B9E" - item: "gtceu:lv_wiremill" - type: "item" - }] - title: "Basic Wiremill" - x: 2.25d - y: 1.125d - } - { - dependencies: ["32EA7E81885C8E87"] - description: [ - "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise." - "" - "This unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer." - ] - id: "10ECB471A77F5136" - size: 0.75d - subtitle: "The Bender bends!" - tasks: [{ - id: "3AC3A8728EE60E4C" - item: "gtceu:lv_bender" - type: "item" - }] - title: "Basic Bender" - x: 4.5d - y: 1.125d - } - { - dependencies: ["32EA7E81885C8E87"] - description: [ - "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand." - "{@pagebreak}" - "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default." - "" - "&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!" - ] - id: "07E7678095258EDB" - size: 0.75d - subtitle: "The Lathe lathes!" - tasks: [{ - id: "6781D0241D0564A5" - item: "gtceu:lv_lathe" - type: "item" - }] - title: "Basic Lathe" - x: 3.375d - y: 1.125d - } - { - dependencies: ["32EA7E81885C8E87"] - description: ["One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone."] - id: "29379C91D6E00436" - size: 0.75d - subtitle: "The Polarizer polarizes!" - tasks: [{ - id: "5EC42A72DEC6F9FC" - item: "gtceu:lv_polarizer" - type: "item" - }] - title: "Basic Polariser" - x: 5.625d - y: 1.125d - } - { - dependencies: ["6431381FBE07D6EF"] - description: [ - "&oThe &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel." - "" - "If you want Steam-based power production, this will be your first port-of-call. Other power options are listed in the &bMV&r chapter." - "" - "&cImportant:&r This Boiler &lCAN&r also &cexplode&r similarly to the regular Boilers! Usually, the explosion can be rather devastating... but it's configured to not damage blocks or entities in this modpack." - "{@pagebreak}" - "&cWater supply is &lcrucial&r&r. Dedicate a &3Primitive Pump&r with a &7LV&r Output Hatch in the &lsame chunk&r as the Boiler. Any biome will still be enough to supply enough water." - "" - "Once fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel." - "{@pagebreak}" - "&5&lWith this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25% power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines." - "" - "&9Note:&r An in-depth tutorial about Multiblocks is given after you get the &3Electric Blast Furnace&r. We recommend you aim for that first." - ] - id: "33263404ED38C6D2" - shape: "square" - size: 0.75d - subtitle: "Boom, boom, boom, boom" - tasks: [{ - id: "560D4D0D6BECE006" - item: "gtceu:bronze_large_boiler" - type: "item" - }] - x: 6.75d - y: 2.25d - } - { - dependencies: ["1E9BE8D3F8A602DC"] - description: [ - "&6Superconductors&r are special Wires available for each Voltage tier. They don't come with a Cable counterpart, but that isn't necessary, as they have absolutely &6zero cable loss&r." - "" - "They also won't damage you when you touch them. This makes them the best choice for wiring, if not a little expensive in comparison to the other wires." - "" - "If you weren't already enamoured, the 1x variant also covers 2 Amps. Isn't that nice?" - "" - "Now is a good time to replace your crappy &aTin Cables&r. Recycle them in the &3Packager&r to recover both the Tin and Rubber used to craft them." - "{@pagebreak}" - "&l&3Lore:&r&o No version of GregTech has had actual Superconductors for &7LV&f up until Gregicality and GTCEu, though some modpacks had lossless cables." - ] - id: "46AD7A6F3B6775F5" - shape: "rsquare" - size: 0.66d - tasks: [{ - id: "4477AB06651827D6" - item: "gtceu:manganese_phosphide_single_wire" - type: "item" - }] - title: "LV Superconductor" - x: 7.875d - y: 2.25d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "The &3Thermal Centrifuge&r is the most energy hungry out of the Ore Processing machines. It takes &aCrushed Ore&r or &aPurified Ore&r to give a different &6Byproduct&r from the &3Ore Washer&r, but at the same rate." - "{@pagebreak}" - "&l&3Lore:&r&o The GT5 Thermal Centrifuge required 48 EU/t to run. Yes, this may be above 32 EU/t, but GT5 had &dspecial mechanics&f where certain machines such as this one could accept more than 1 Amp." - "" - "&oIn GTCE, the Thermal Centrifuge was changed to only work at &bMV&f with 60EU/t recipes. Let's be completely honest with you... what a &4complete waste of time&f! Never worth it. Thankfully, we've buffed the machine to be much more relevant." - ] - id: "772F7CD63D31966A" - size: 0.75d - tasks: [{ - id: "10AB20A316EA688F" - item: "gtceu:lv_thermal_centrifuge" - type: "item" - }] - title: "Basic Thermal Centrifuge" - x: -0.375d - y: 3.375d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "The Sifter sifts &dGem type&r &aPurified Ores&r to find &aExquisite&r and &aFlawless&r Gems, which can be cut into normal Gems. It also finds &aPurified Dusts&r of that gem. Overall, this gives a &6higher yield&r than other means." - "" - "A small amount of &dFlawless Emerald&r will be required in &bMV&r, and running ores in &3Sifting Machine&r is how you obtain them." - "" - "Each higher tier of &3Sifter&r increases the chance of all Gem types to be found, at the cost of more energy. " - "" - "&9Note:&r If you crushed Gem Ores (such as Diamond), it is critical you use this machine to recover the actual gems in non dust form. However, this is a rather slow process, so you may want to smelt this type of ore directly into the Gem." - ] - id: "7A64425597F58015" - size: 0.75d - tasks: [{ - id: "2D87ADACFE1EF8E5" - item: "gtceu:lv_sifter" - type: "item" - }] - x: 0.75d - y: 5.625d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "&lOutside of Ore Processing:&r" - "" - "You can make &6Paper out of Wood&r so that you no longer rely on &aSugar Canes&9*&r. You're probably sick of them by now, especially if you've played Nomifactory." - "" - "There are some other less important recipes, such as applying colours to various items and blocks, or bleaching them." - "" - "&9*&r &aSugar&r is still useful as a requirement for &cTNT&r production in &6HV&r, so don't dismantle your setups." - "{@pagebreak}" - "&lFor Ore Processing:&r" - "" - "Some &aCrushed Ores&r have alternate routes when washed into &aPurified Ore&r, involving bathing in either &aMercury&r or &aSodium Persulfate&r. This step isn't really important, unless you really want that special &6Byproduct&r. This can be a nice alternate source of Gold (hint, hint!)." - ] - id: "330BDB559A7BAB35" - size: 0.75d - subtitle: "The Chemical Bath bathes..." - tasks: [{ - id: "526A5FF9B5DBB129" - item: "gtceu:lv_chemical_bath" - type: "item" - }] - title: "Basic Chemical Bath" - x: 1.125d - y: 3.375d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "This machine combines washing for simple automation, but also advanced and precise washing for byproducts." - "" - "Washing a &aCrushed Ore&r will grant a &aPurified Ore&r which can be refined further, some useless stone, and more importantly, the first &6Byproduct&r!" - "" - "Any Ore will give at &9minimum 2/3rd of a Dust&r of this Byproduct through washing. Prioritize this step the most." - "" - "Using Distilled Water over Water cuts recipe duration in half, but it's also more difficult to produce." - ] - id: "58BA62A3A8A32C24" - size: 0.75d - tasks: [{ - id: "1C03C5F3E5196342" - item: "gtceu:lv_ore_washer" - type: "item" - }] - title: "Basic Ore Washing Plant" - x: 1.5d - y: 5.25d + title: "{quests.low_voltage.cover_behaviour.title}" + x: 3.0d + y: -0.75d } { dependencies: [ "32EA7E81885C8E87" "10ECB471A77F5136" + "07E7678095258EDB" ] + dependency_requirement: "one_completed" description: [ - "By clicking the &6Circuit Configuration Slot&r in machines, you can create a &bghost Programmed Circuit&r. " - "" - "This is a fake circuit that allows you to select a given configuration for recipes! There's no need to spend your circuits crafting &bProgrammed Circuits&r anymore." - "" - "&dElectric Machines&r and &dItem Input Buses&r will have a Ghost Circuit Slot." + "{quests.low_voltage.machine_auto_output_behaviour.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o This feature is originally from GTNH." + "{quests.low_voltage.machine_auto_output_behaviour.desc.2}" + ] + icon: "minecraft:hopper" + id: "64E1E87B8AF72968" + shape: "rsquare" + size: 1.0d + subtitle: "{quests.low_voltage.machine_auto_output_behaviour.subtitle}" + tasks: [{ + id: "6A4DFF7493955B8D" + title: "{quests.low_voltage.machine_auto_output_behaviour.task}" + type: "checkmark" + }] + title: "{quests.low_voltage.machine_auto_output_behaviour.title}" + x: -4.5d + y: 0.5d + } + { + dependencies: ["648BCF486E16CCB2"] + description: [ + "{quests.low_voltage.lv_wiremill.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_wiremill.desc.2}" + ] + id: "32EA7E81885C8E87" + optional: true + size: 1.0d + subtitle: "{quests.low_voltage.lv_wiremill.subtitle}" + tasks: [{ + id: "2B5BF6F3ED693B9E" + item: "gtceu:lv_wiremill" + type: "item" + }] + title: "{quests.low_voltage.lv_wiremill.title}" + x: -3.5d + y: -0.5d + } + { + dependencies: ["648BCF486E16CCB2"] + description: ["{quests.low_voltage.lv_bender.desc}"] + id: "10ECB471A77F5136" + optional: true + size: 1.0d + subtitle: "{quests.low_voltage.lv_bender.subtitle}" + tasks: [{ + id: "3AC3A8728EE60E4C" + item: "gtceu:lv_bender" + type: "item" + }] + title: "{quests.low_voltage.lv_bender.title}" + x: -3.5d + y: 1.5d + } + { + dependencies: ["648BCF486E16CCB2"] + description: [ + "{quests.low_voltage.lv_lathe.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_lathe.desc.2}" + ] + id: "07E7678095258EDB" + optional: true + size: 1.0d + subtitle: "{quests.low_voltage.lv_lathe.subtitle}" + tasks: [{ + id: "6781D0241D0564A5" + item: "gtceu:lv_lathe" + type: "item" + }] + title: "{quests.low_voltage.lv_lathe.title}" + x: -3.5d + y: 0.5d + } + { + dependencies: ["22510C5F2386B453"] + description: ["{quests.low_voltage.lv_polariser.desc}"] + id: "29379C91D6E00436" + size: 1.0d + subtitle: "{quests.low_voltage.lv_polariser.subtitle}" + tasks: [{ + id: "5EC42A72DEC6F9FC" + item: "gtceu:lv_polarizer" + type: "item" + }] + title: "{quests.low_voltage.lv_polariser.title}" + x: 2.0d + y: -4.0d + } + { + dependencies: ["6E186F9C57155BFA"] + description: [ + "{quests.low_voltage.lbb.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lbb.desc.2}" + "{@pagebreak}" + "{quests.low_voltage.lbb.desc.3}" + ] + id: "33263404ED38C6D2" + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lbb.subtitle}" + tasks: [{ + id: "560D4D0D6BECE006" + item: "gtceu:bronze_large_boiler" + type: "item" + }] + title: "{quests.low_voltage.lbb.title}" + x: -1.0d + y: 1.5d + } + { + dependencies: ["1E9BE8D3F8A602DC"] + description: [ + "{quests.low_voltage.lv_superconductor.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_superconductor.desc.2}" + ] + id: "46AD7A6F3B6775F5" + shape: "rsquare" + size: 1.0d + subtitle: "{quests.low_voltage.lv_superconductor.subtitle}" + tasks: [{ + id: "4477AB06651827D6" + item: "gtceu:manganese_phosphide_single_wire" + type: "item" + }] + title: "{quests.low_voltage.lv_superconductor.title}" + x: -11.0d + y: 6.5d + } + { + dependencies: ["701BCADAE5CF6CA5"] + description: [ + "{quests.low_voltage.lv_chemical_bath.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_chemical_bath.desc.2}" + ] + id: "330BDB559A7BAB35" + size: 1.0d + subtitle: "{quests.low_voltage.lv_chemical_bath.subtitle}" + tasks: [{ + id: "526A5FF9B5DBB129" + item: "gtceu:lv_chemical_bath" + type: "item" + }] + title: "{quests.low_voltage.lv_chemical_bath.title}" + x: 7.5d + y: 4.5d + } + { + dependencies: ["64E1E87B8AF72968"] + description: [ + "{quests.low_voltage.programmed_circuits.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.programmed_circuits.desc.2}" ] icon: { Count: 1 @@ -577,54 +402,41 @@ } id: "59F0060B55307311" shape: "rsquare" - size: 0.66d - subtitle: "Don't want to spend your circuits to select recipes?" + size: 1.0d + subtitle: "{quests.low_voltage.programmed_circuits.subtitle}" tasks: [{ id: "7C04F3247B0C0BCB" + title: "{quests.low_voltage.programmed_circuits.task}" type: "checkmark" }] - title: "Programmed Circuits" - x: 3.375d - y: 2.25d + title: "{quests.low_voltage.programmed_circuits.title}" + x: -5.5d + y: 0.5d } { dependencies: ["648BCF486E16CCB2"] - description: [ - "Make this machine when you feel like it's time you invested into Batteries." - "" - "It'll also be required if you want to make Storage Disks from &bApplied Energistics 2&r." - ] + description: ["{quests.low_voltage.lv_canner.desc}"] id: "37307A46E70011D3" - size: 0.75d - subtitle: "This machine does nothing exciting" + size: 1.0d + subtitle: "{quests.low_voltage.lv_canner.subtitle}" tasks: [{ id: "5521E4E26119E152" item: "gtceu:lv_canner" type: "item" }] - title: "Basic Canner" - x: 3.375d - y: 3.375d + title: "{quests.low_voltage.lv_canner.title}" + x: 4.5d + y: 2.5d } { dependencies: [ "37307A46E70011D3" "6D9D54FAB21EC086" ] - description: [ - "&aBatteries&r can be put into the energy slot at the bottom middle of machine GUIs, or in a &3Battery Buffer&r." - "" - "When inside your inventory, they can be sneak-right-clicked to allow the batteries to &dcharge&r your EU items." - "" - "&7LV&r, &bMV&r, and &6HV&r Batteries come in three forms, allowing you to pick the one you find the best depending on materials you have. &dLithium&r has the best capacity, followed by &dCadmium&r, then &dSodium&r." - "" - "Our recommendation? Find a Salt vein, and either &aelectrolyze Salt&r for &dSodium&r, or &awash crushed Lepidolite&r for &dLithium&r." - "" - "Get &eany&r &aBattery&r to complete this quest." - ] + description: ["{quests.low_voltage.lv_battery.desc}"] id: "3E6DC423FE4A99F7" - size: 0.75d - subtitle: "Batteries for storing energy!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_battery.subtitle}" tasks: [{ icon: "gtceu:lv_sodium_battery" id: "47D0D12A26963702" @@ -638,31 +450,24 @@ "ftbfiltersystem:filter": "or(item_tag(gtceu:batteries/lv))" } } - title: "Any LV Battery" + title: "{quests.low_voltage.lv_battery.task}" type: "item" }] - title: "Batteries!" - x: 4.875d - y: 3.375d + title: "{quests.low_voltage.lv_battery.title}" + x: 6.0d + y: 2.5d } { dependencies: ["3E6DC423FE4A99F7"] description: [ - "By itself, the Battery Buffer does nothing. However, if you place batteries inside its internal storage, it will act as a power buffer." - "" - "The &3Battery Buffer&r handles &9two Amps in&r, and &9one Amp out&r, &dper Battery&r. The output side has the dot, and all other sides are used as inputs." - "" - "&6It'll also charge &lboth&r EU and RF Tools inside it&r." - "" - "This is a must have if you don't have unlimited power at hand. Get &eany&r &7LV&r Battery Buffer to finish the quest. However, the 16 slots variant is likely overkill at this stage." + "{quests.low_voltage.lv_battery_buffer_4x.desc.1}" "{@pagebreak}" - "&9Note:&r Don't loop your lossy Cables back to your Battery Buffer! If you think about it, you'll just end up voiding energy." - "" - "&l&3Lore:&r&o To be frank with you, the GTCE Battery Buffer was... mediocre. It's been reworked in GTCEu to provide a mix between GT5 and GTCE's functionality. Energy now splits evenly across all batteries!" + "{quests.low_voltage.lv_battery_buffer_4x.desc.2}" ] icon: "gtceu:lv_battery_buffer_4x" id: "6431381FBE07D6EF" - size: 0.75d + size: 1.0d + subtitle: "{quests.low_voltage.lv_battery_buffer_4x.subtitle}" tasks: [{ id: "3241F5B06FB7258A" item: { @@ -675,176 +480,104 @@ "ftbfiltersystem:filter": "or(item(gtceu:lv_battery_buffer_4x)item(gtceu:lv_battery_buffer_8x)item(gtceu:lv_battery_buffer_16x))" } } + title: "{quests.low_voltage.lv_battery_buffer_4x.task}" type: "item" }] - title: "Battery Buffer" - x: 6.75d - y: 3.375d + title: "{quests.low_voltage.lv_battery_buffer_4x.title}" + x: 6.0d + y: 3.5d } { - dependencies: [ - "1646BF9194100E57" - "6431381FBE07D6EF" - ] + dependencies: ["1646BF9194100E57"] description: [ - "This Quest explains the core mechanic of the &3Electric Blast Furnace&r, whilst the quest below will explore the mechanics of the Multiblock Parts that you'll also need. Be sure to refer to them." - "" - "Anyway, the &3EBF&r is your &efirst electric multiblock&r! Congrats. It's used to process materials at high temperatures." - "" - "You'll become familiar with the EBF to make &aAluminium&r and progress to &d&bMV Age&r. It can also make &7Steel&r faster than a PBF." + "{quests.low_voltage.lv_ebf.desc.1}" "{@pagebreak}" - "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators. This is why it was locked behind the Battery Quest. You may wish to consider building a separate power line, with separate Generators and Battery Buffer to run this." + "{quests.low_voltage.lv_ebf.desc.2}" ] id: "1E9BE8D3F8A602DC" - shape: "gear" - size: 1.2d - subtitle: "A big milestone!" + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_ebf.subtitle}" tasks: [{ id: "10F6305A7E5D186D" item: "gtceu:electric_blast_furnace" type: "item" }] - x: 7.875d - y: 3.375d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "The Autoclave is typically the last step of Gem Processing. It is used turn a select few &aGem Dusts&r back into regular Gems." - "" - "It's veeeery slow - thus, it is generally not advised to crush gem ores at all, as the recovery process is too expensive." - "" - "&9Note:&r In this modpack, the Autoclave is required to make &5Fluix Crystals&r if you're to progress in Applied Energistics. Sorry." - ] - id: "22A1A629AF754066" - size: 0.75d - tasks: [{ - id: "30C94122AD446D9B" - item: "gtceu:lv_autoclave" - type: "item" - }] - title: "Basic Autoclave" - x: -1.125d - y: 4.125d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: ["A rarely used machine. It uses magnetism to separate some Magnetic ores and gain additional &6Byproducts&r you would not obtain otherwise."] - id: "24B4D9608718EE27" - size: 0.75d - tasks: [{ - id: "3162F3E3D12E00FB" - item: "gtceu:lv_electromagnetic_separator" - type: "item" - }] - title: "Basic Electromagnetic Separator" - x: 0.375d - y: 3.375d + title: "{quests.low_voltage.lv_ebf.title}" + x: -9.0d + y: 6.5d } { dependencies: ["648BCF486E16CCB2"] - description: [ - "This quest is a light look over the &dfull scale of regular Ore Processing&r. Why \"regular\"? Some ores require special treatment, but that's a topic for much later. Oh no, we're already getting carried away!" - "" - "Each quest surrounding this one gives a different machine that has some involvement in Ore Processing." - "" - "&cNote:&r Don't get too preoccupied with Ore Processing! It's very slow at this point, and somewhat power hungry. Around 90% of ores are not important enough to warrant going out of your way to obtain their byproducts. That's a legitimate stat, by the way." - ] + description: ["{quests.low_voltage.other_machines.desc}"] icon: "gtceu:crushed_sulfur_ore" id: "701BCADAE5CF6CA5" shape: "circle" - size: 0.66d - subtitle: "You can't escape Greg..." + size: 1.0d + subtitle: "{quests.low_voltage.other_machines.subtitle}" tasks: [{ id: "3A7506F2C9145157" - title: "I agree to lose my sanity" + title: "{quests.low_voltage.other_machines.task}" type: "checkmark" }] - title: "What is this Mess?: Part Two" + title: "{quests.low_voltage.other_machines.title}" + x: 6.0d + y: 4.5d + } + { + description: ["{quests.low_voltage.lv_age_progression.desc}"] + icon: "gtceu:basic_electronic_circuit" + id: "648BCF486E16CCB2" + shape: "gear" + size: 3.0d + subtitle: "{quests.low_voltage.lv_age_progression.subtitle}" + tasks: [{ + id: "25A363E1BE1E2737" + item: "gtceu:basic_electronic_circuit" + type: "item" + }] + title: "{quests.low_voltage.lv_age_progression.title}" x: 0.0d y: 4.5d } { dependencies: [ - "5A8F0124E07D5025" - "4B979482EF026BFF" - ] - description: [ - "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there." - "" - "With that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main \"end goal\" of &7LV&r - should be a good target." - "" - "The EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction." - "" - "Other important goals are crafting the &3LV Assembler&r and making your first &aMV Circuits&r." - ] - icon: "gtceu:basic_electronic_circuit" - id: "648BCF486E16CCB2" - shape: "circle" - size: 0.66d - subtitle: "Too many options, too little time!" - tasks: [{ - id: "07CE2766ECA4B0D8" - title: "I... might have some sense of direction now" - type: "checkmark" - }] - title: "LV Age Progression" - x: 2.25d - y: 4.5d - } - { - dependencies: ["3D98819A799D2E64"] - description: [ - "Build this machine next to your &3Chemical Reactor&r to automatically solidify Rubber into &aRubber Sheets&r." - "" - "You can make your Chemical Reactor auto-output if you &dwrench&r the side of your &3Chemical Reactor&r and enable Fluid &9auto-output&r." - "" - "There will be more Fluids to solidify, so you may re-purpose your &3Fluid Solidifier&r when not crafting Rubber - or make a second one!" + "3D98819A799D2E64" + "5B2696206205CB2E" ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.lv_fluid_solidifier.desc}"] id: "581CDF545E1EA1FD" - size: 0.75d - subtitle: "The Fluid Solidifier solidifies..." + size: 1.0d + subtitle: "{quests.low_voltage.lv_fluid_solidifier.subtitle}" tasks: [{ id: "20B1CA4DB2750E84" item: "gtceu:lv_fluid_solidifier" type: "item" }] - title: "Basic Fluid Solidifier" - x: 4.5d + title: "{quests.low_voltage.lv_fluid_solidifier.title}" + x: -6.5d y: 4.5d } { dependencies: ["3E6DC423FE4A99F7"] - description: [ - "The Prospector is an amazing tool that'll help you find veins in no time." - "" - "Its GUI is interactive. Right-clicking will scan for ores, displaying them on a dynamic map." - "" - "&l&3Lore:&r&o Back in OUR day, the portable Prospector was locked to &dLuV&f. Kids these days have it easy." - ] + description: ["{quests.low_voltage.lv_ore_prospector.desc}"] id: "2E36E5755B2F551C" - shape: "rsquare" - size: 0.66d + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lv_ore_prospector.subtitle}" tasks: [{ id: "1AC97E61EF4958C8" item: "gtceu:prospector.lv" type: "item" }] - title: "This is Hacking" - x: 5.625d - y: 4.5d + title: "{quests.low_voltage.lv_ore_prospector.title}" + x: 6.0d + y: 1.0d } { dependencies: ["5B2696206205CB2E"] - description: [ - "Prepare &a128 Cupronickel&r, &a32 Bronze&r and &a16 Tin Alloy&r to craft the Heating Coils required for your first Electric Blast Furnace." - "" - "This is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining." - "" - "The Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us." - "" - "&6This quest unlocks a new tutorial on Coils in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] + description: ["{quests.low_voltage.cupronickel_coil.desc}"] icon: { Count: 1 id: "gtceu:cupronickel_coil_block" @@ -853,111 +586,45 @@ } } id: "1646BF9194100E57" - size: 0.75d - subtitle: "Baby's first heating coil" + size: 1.0d + subtitle: "{quests.low_voltage.cupronickel_coil.subtitle}" tasks: [{ count: 16L id: "4F19FBED1E1766AC" item: "gtceu:cupronickel_coil_block" type: "item" }] - title: "Cupronickel Coils" - x: 6.75d - y: 4.5d + title: "{quests.low_voltage.cupronickel_coil.title}" + x: -6.5d + y: 6.5d } { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "&5You:&r &oThat's it, I'm uninstalling! This pack is stupid! We're barely in &7LV&r&o, but you're asking me to make you a &6HV&r&o machine!?&r" - "" - "Yes! This is indeed not completable yet, which is also why this quest appears in the &6HV&r Chapter." - "{@pagebreak}" - "Remember how disappointing it was that you couldn't get byproducts with your Macerator? Well... that disappointment won't be going away until you reach &6HV&r." - "" - "&6The Macerator will unlock its second and third slot at HV&r. Trust us - this will be great for Ore Processing. In fact, one byproduct is absolutely locked behind this (after the Thermal Centrifuge step)." - "" - "&cNote:&r Unlike GTCE, the &bMV&r Macerator in GTCEu &cdoesn't&r have a second slot." - "" - "&5Writer:&r &oCome back to me when you are stronger, young Cricket.&r" - ] - id: "1DA54DA70E12F499" - size: 0.75d - subtitle: "What? Why?!" - tasks: [{ - id: "5580AE2868E0E451" - item: "gtceu:hv_macerator" - type: "item" - }] - title: "Universal Macerator" - x: -1.125d - y: 3.375d - } - { - dependencies: ["3A8D7FC6F316C38C"] - description: [ - "The Gas Collector collects Air that can then be centrifuged into &aOxygen&r and &aNitrogen&r." - "" - "&l&3Lore:&r&o GregTech 5 players remember when they had to use a Compressor with IC2 cells to get Compressed Air... here, cell chemistry is no more." - ] + dependencies: ["648BCF486E16CCB2"] + description: ["{quests.low_voltage.lv_gas_collector.desc}"] id: "15928F50AE80A5CF" shape: "rsquare" - size: 0.66d + size: 1.0d + subtitle: "{quests.low_voltage.lv_gas_collector.subtitle}" tasks: [{ id: "5710E0C2A7441809" item: "gtceu:lv_gas_collector" type: "item" }] - title: "Basic Gas Collector" - x: 1.125d - y: 6.75d - } - { - dependencies: ["701BCADAE5CF6CA5"] - description: [ - "The &3Packager&r compresses &aTiny Dusts&r and &aSmall Dusts&r into &afull Dusts&r, which can be compressed further into Ingots." - "" - "It can also work in reverse, change between sizes of Wires, and much more..." - "" - "Unpacking Cables back into Wires and Rubber will be &every useful&r once you rewire your Energy Network." - "{@pagebreak}" - "&oYeah, we know...&r the 3x3 compacting recipes don't seem useful, because you can just use a Crafting Table. We urge you to consider the utility of this machine when used for &9automation&r purposes." - "" - "For an &9automated&r Dust setup, route &aTiny Dusts&r into a buffer inventory (a chest will do) placed next to your &3Packager&r." - "" - "Next place a &3Robot Arm&r and configure it to \"&dImport&r\", and \"&dSupply Exact 9&r\". Finally, let the Machine auto-output on another side." - "" - "&l&3Lore:&r&o In GTCE, the reverse operation required a separate machine - the Unpackager." - ] - id: "3F123950216DF93B" - size: 0.75d - tasks: [{ - id: "33AEA84A406741FF" - item: "gtceu:lv_packer" - type: "item" - }] - title: "Basic Packer" - x: -1.125d - y: 4.875d + title: "{quests.low_voltage.lv_gas_collector.title}" + x: -4.0d + y: 6.5d } { dependencies: ["648BCF486E16CCB2"] description: [ - "The &3Chemical Reactor&r will be required for &la lot&r of recipes." - "" - "Let's give it a spin - why don't we use your freshly made Chemical Reactor to unlock a new, &6better recipe for Rubber&r? Rubber is &dunusable&r as a Fluid, so you will need to make another machine to process it further." + "{quests.low_voltage.lv_chemical_reactor.desc.1}" "{@pagebreak}" - "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: " - "" - "A &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward." - "" - "You could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler." - "" - "&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A Drum is the perfect candidate." + "{quests.low_voltage.lv_chemical_reactor.desc.2}" ] icon: "gtceu:lv_chemical_reactor" id: "3D98819A799D2E64" - size: 0.75d - subtitle: "Chemistry for dummies" + size: 1.0d + subtitle: "{quests.low_voltage.lv_chemical_reactor.subtitle}" tasks: [ { id: "108424445D0F748A" @@ -970,61 +637,40 @@ type: "item" } ] - title: "Basic Chemical Reactor" - x: 3.375d - y: 5.625d + title: "{quests.low_voltage.lv_chemical_reactor.title}" + x: -6.5d + y: 2.5d } { - dependencies: ["3D98819A799D2E64"] + dependencies: ["10ECB471A77F5136"] description: [ - "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r." - "" - "Cells hold &done bucket&r of Fluid." + "{quests.low_voltage.universal_cell.desc.1}" "{@pagebreak}" - "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. " - "" - "Cells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r will hold more by then." - "" - "Like Drums, Cells can be placed into a crafting grid to clear their contents." + "{quests.low_voltage.universal_cell.desc.2}" ] icon: "gtceu:fluid_cell" id: "292938760AB9A12B" shape: "rsquare" - size: 0.66d - subtitle: "GTCE killed cell chemistry... GTCE killed Cells!" - tasks: [ - { - id: "48507FA04651418B" - item: "gtceu:fluid_cell" - type: "item" - } - { - id: "012C90A73EC79E11" - item: "gtceu:universal_fluid_cell" - type: "item" - } - ] - title: "Dead Cells" - x: 4.5d - y: 5.625d + size: 1.0d + subtitle: "{quests.low_voltage.universal_cell.subtitle}" + tasks: [{ + id: "012C90A73EC79E11" + item: "gtceu:universal_fluid_cell" + type: "item" + }] + title: "{quests.low_voltage.universal_cell.title}" + x: -4.5d + y: 1.5d } { - dependencies: [ - "581CDF545E1EA1FD" - "5B2696206205CB2E" - ] - description: [ - "Use both of your new machines to turn a material into a Fluid, and solidify it back to a Rotor! This combination makes Rotors far easier to craft - &6four Ingots per Rotor&r, as well." - "" - "You can also do the same for &6Gears&r and &6Small Gears&r, which will then be superseded when you make a &3MV Extruder&r." - "" - "&9Note:&r Some metals require higher voltages than &7LV&r for Fluid Extraction, so make sure to keep an eye on the recipe tier in JEI." - ] + dependencies: ["581CDF545E1EA1FD"] + description: ["{quests.low_voltage.mold_rotor.desc}"] icon: "gtceu:rotor_casting_mold" id: "115C4226F6473F0C" + optional: true shape: "rsquare" - size: 0.66d - subtitle: "Time to end the misery of hand crafting rotors!" + size: 1.0d + subtitle: "{quests.low_voltage.mold_rotor.subtitle}" tasks: [ { id: "4A68C6BC78CB07E2" @@ -1037,412 +683,261 @@ type: "item" } ] - title: "Combo!" - x: 5.625d - y: 5.625d + title: "{quests.low_voltage.mold_rotor.title}" + x: -7.5d + y: 4.5d } { - dependencies: ["199361B5FEC959EA"] - description: [ - "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r." - "" - "The choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go." + dependencies: [ + "5B891BA4897FD73C" + "49896161B31DB7B4" ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.soldering_alloy.desc}"] icon: "gtceu:soldering_alloy_ingot" id: "713C8D6A20BF3A0E" shape: "rsquare" - size: 0.66d - subtitle: "I got soul but I'm not a solder" + size: 1.0d + subtitle: "{quests.low_voltage.soldering_alloy.subtitle}" tasks: [{ id: "67F9F84D66E32728" item: "gtceu:soldering_alloy_dust" type: "item" }] - title: "Soldering Alloy" - x: 7.875d - y: 5.625d - } - { - dependencies: [ - "32B08E6F414A00C0" - "4B979482EF026BFF" - ] - description: [ - "With &7LV&r power, the only way of getting &aAluminium Dust&r is by electrolyzing &9Sapphire&r or &2Green Sapphire&r. Aluminium is the main &bMV&r material, similar to how Steel is crucial in &7LV&r, and Bronze is important in the &6Steam Age&r." - "" - "It would be wise to obtain enough Sapphire to electrolyze into a full stack of &aAluminium Dust&r - it &lwill&r be useful very soon. Plus, bonus Oxygen is always nice." - ] - id: "2F1CCFEBAB71B1F3" - size: 0.75d - tasks: [{ - count: 6L - id: "3B6DC3146DB686BF" - item: "gtceu:sapphire_dust" - type: "item" - }] - title: "Sapphire" - x: -2.25d - y: 5.625d + title: "{quests.low_voltage.soldering_alloy.title}" + x: 4.0d + y: 9.0d } { dependencies: ["701BCADAE5CF6CA5"] description: [ - "&lOutside of Ore Processing:&r" - "" - "Similar to the Centrifuge, this machine does a lot of things - we can't hope to list them all! Fortunately, it's one of the cheapest &7LV&r machines, so grab it as soon as it becomes necessary." + "{quests.low_voltage.lv_electroliser.desc.1}" "{@pagebreak}" - "&lFor Ore Processing:&r" - "" - "Okay, we lied. It's not &oexactly&r used for Ore Processing, it's actually used in the &adecomposition of Dusts&r. However, most of the useful electrolysis recipes are locked at &bMV&r. You can peep at the &emolecular formula&r in a dust's tooltip to see what you can get from electrolysis." + "{quests.low_voltage.lv_electroliser.desc.2}" "{@pagebreak}" - "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count." + "{quests.low_voltage.lv_electroliser.desc.3" ] + hide_dependent_lines: true id: "32B08E6F414A00C0" - size: 0.75d + size: 1.0d + subtitle: "{quests.low_voltage.lv_electroliser.subtitle}" tasks: [{ id: "536874A8C35E1C86" item: "gtceu:lv_electrolyzer" type: "item" }] - title: "Basic Electrolyzer" - x: -1.125d - y: 5.625d + title: "{quests.low_voltage.lv_electroliser.title}" + x: 6.0d + y: 6.0d } { - dependencies: [ - "5263F866638D875C" - "2F1CCFEBAB71B1F3" - ] - description: [ - "For now, you should use &9Water&r for its recipes instead of trying to acquire Lubricant." - "" - "The &3Cutting Machine&r additionally unlocks converting &6Rods into four Bolts&r." - "" - "This machine is the only way to obtain &dGem Plates&r, which are needed to craft Filters, and by extension, the &3Gas Collector&r." - ] + dependencies: ["648BCF486E16CCB2"] + description: ["{quests.low_voltage.lv_cutter.desc}"] id: "3A8D7FC6F316C38C" - shape: "rsquare" - size: 0.66d - subtitle: "The Cutter... cuts..." + optional: true + size: 1.0d + subtitle: "{quests.low_voltage.lv_cutter.subtitle}" tasks: [{ id: "662DB818821C4EAE" item: "gtceu:lv_cutter" type: "item" }] - title: "Basic Cutter" - x: -1.125d - y: 6.75d + title: "{quests.low_voltage.lv_cutter.title}" + x: -3.5d + y: -1.5d } { - dependencies: ["701BCADAE5CF6CA5"] + dependencies: ["648BCF486E16CCB2"] description: [ - "&lOutside of Ore Processing:&r" - "" - "Oh boy, what can't this machine do? Decomposition recipes to separate dust types, separating air, do your taxes, and many others..." - "" - "The list is too long! Let's just say &cyou need the Centrifuge&r." + "{quests.low_voltage.lv_centrifuge.desc.1}" "{@pagebreak}" - "&lFor Ore Processing:&r" - "" - "This takes &aImpure Dust&r or &aPurified Dust&r and turns them into clean Dust, plus an added tiny Dust &6Byproduct&r. This is outside of the optimal chain for Byproducts, but this is also the cheapest Ore Processing machine of the presented array to run and to setup on a small scale." + "{quests.low_voltage.lv_centrifuge.desc.2}" "{@pagebreak}" - "&l&3Lore:&r&o In base GTCE, this was objectively the strongest Ore Processing machine as it was fairly easy to use, and gave three tiny dusts, just like the Ore Washer or the Thermal Centrifuge. We tuned it down in favor of diversity." + "{quests.low_voltage.lv_centrifuge.desc.3" ] id: "5263F866638D875C" - size: 0.75d + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_centrifuge.subtitle}" tasks: [{ id: "20EDB55B8D5CDAD6" item: "gtceu:lv_centrifuge" type: "item" }] - title: "Basic Centrifuge" - x: 0.0d - y: 6.75d + title: "{quests.low_voltage.lv_centrifuge.title}" + x: -2.0d + y: 7.0d } { - dependencies: ["648BCF486E16CCB2"] - description: [ - "It's recommended that you &6put this machine off&r until you actually require it for for progression - explore elsewhere if you're fresh into &7LV&r." - "" - "Some alloys previously made by hand can also be made in the mixer, except at &ahigher yield&r." - ] - id: "257DB4B39B2A928E" - size: 0.75d - subtitle: "The Mixer mixes..." - tasks: [{ - id: "4A0B4A206ED30212" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Mixer\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:lv_kinetic_mixer)item(gtceu:lv_mixer))" - } - } - type: "item" - }] - title: "Basic Mixer" - x: 2.25d - y: 7.875d - } - { - dependencies: [ - "63CD0236B337EAAD" - "37307A46E70011D3" - "3D98819A799D2E64" - ] - description: [ - "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Chemical Dye before using." - "" - "&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!" - "" - "Any (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables." - "" - "Holding the &aSpray Can&r in the offhand will automatically paint any block you place." - ] + dependencies: ["37307A46E70011D3"] + description: ["{quests.low_voltage.lv_sprayer.desc}"] id: "5AD9884E7BFB2510" - shape: "rsquare" - size: 0.66d - subtitle: "Time for server tag wars" + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lv_sprayer.subtitle}" tasks: [{ id: "28CFFA0F7A33E02F" item: "gtceu:empty_spray_can" match_nbt: false type: "item" }] - title: "Spray Can" - x: 3.375d - y: 6.75d + title: "{quests.low_voltage.lv_sprayer.title}" + x: 4.5d + y: 1.0d } { dependencies: ["648BCF486E16CCB2"] description: [ - "While this is an extremely &9important&r machine for progression, this will &9&lnot help you immediately&r as it is &cexpensive.&r Most of the recipes you will want to pursue require &cfluids&r. Set up a little bit more infrastructure before rushing this." - "" - "With that out of the way, the &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh." - "" - "We as \"modpack developers\" also love to use this to include all sorts of custom recipes - and speaking of custom recipes, the Assembler now unlocks &dApplied Energistics 2&r!" + "{quests.low_voltage.lv_assembler.desc.1}" "{@pagebreak}" - "Once you have enough infrastructure you will be able to make use of better recipes for:" - "" - "&9-&r &6Vacuum Tubes&r, giving over double the previous yield" - "" - "&9-&r &6Resistors&r, granting 4 resistors per craft!" - "" - "&9-&r &6Circuit Boards&r, greatly reducing copper used" - "" - "Wahoo!" - "" - "&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes." + "{quests.low_voltage.lv_assembler.desc.2}" ] id: "63CD0236B337EAAD" - shape: "gear" - size: 1.2d + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_assembler.subtitle}" tasks: [{ id: "6B5537B80EB05B30" item: "gtceu:lv_assembler" type: "item" }] - x: 4.5d - y: 6.75d + title: "{quests.low_voltage.lv_assembler.title}" + x: 0.0d + y: 7.0d } { - dependencies: [ - "63CD0236B337EAAD" - "5B2696206205CB2E" - ] + dependencies: ["648BCF486E16CCB2"] description: [ - "&3Voiding Covers&r can be attached to GregTech Machines, Crates or Drums. They will void stuff you don't want. How fancy!" - "" - "For machines, it will only void items in the Output slots. The Input slots are ignored." - "" - "You can attach a &aFilter&r for more precise voiding." + "{quests.low_voltage.lv_extractor.desc.1}" "{@pagebreak}" - "An advanced version also exists, which requires a &dMV Circuit&r. It enables voiding above a set threshold - great for for overflow control." - "" - "&9Note:&r They default to being switched off, to prevent accidental voiding. Right-click them with a &5Soft Mallet&r to activate them." - "" - "Obtaining &eany&r Voiding Cover will complete this Quest." - ] - icon: "gtceu:item_voiding_cover" - id: "249B9E104CAF5FE6" - shape: "rsquare" - size: 0.66d - subtitle: "The best mechanic - making an item or fluid disappear!" - tasks: [ - { - id: "69BC88293080C522" - item: "gtceu:item_voiding_cover" - type: "item" - } - { - id: "4787AD5F61E1914E" - item: "gtceu:fluid_voiding_cover" - type: "item" - } - ] - title: "Voiding Covers" - x: 5.625d - y: 6.75d - } - { - dependencies: [ - "63CD0236B337EAAD" - "581CDF545E1EA1FD" - ] - description: [ - "Hm... didn't we make this joke already?" - "" - "The reason we didn't present &7LV&r versions of &6Steam&r machines is because they are &4NOT&r required. You might not want to invest into an upgrade that does next to nothing. Except for &othis one&r specifically, because it's a big improvement over the &6Steam Age&r." - "" - "The &3Basic Extractor&r gains Fluid capabilities, which enables &aFluid Extraction&r. Use it to melt Rubber that you previously solidified, to &dmelt Soldering Alloy&r for your circuits, and to &dmelt Red Alloy&r for the &6best Vacuum Tube recipe&r in the &3Assembler&r!" - "{@pagebreak}" - "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech." + "{quests.low_voltage.lv_extractor.desc.2}" ] id: "5B2696206205CB2E" - size: 0.75d - subtitle: "The Steam Extractor extracts..." + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_extractor.subtitle}" tasks: [{ id: "5CD363C839475426" item: "gtceu:lv_extractor" type: "item" }] - x: 6.75d - y: 6.75d + title: "{quests.low_voltage.lv_extractor.title}" + x: -4.0d + y: 4.5d } { - dependencies: [ - "0DBC148D92A9F69F" - "5B2696206205CB2E" - ] + dependencies: ["0DBC148D92A9F69F"] description: [ - "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r." - "" - "Each time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall." - "" - "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu." + "{quests.low_voltage.lv_circuit_assembler.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_circuit_assembler.desc.2}" ] id: "199361B5FEC959EA" - size: 0.75d - subtitle: "Hopefully, your first MV Circuit expense" + shape: "gear" + size: 4.0d + subtitle: "{quests.low_voltage.lv_circuit_assembler.subtitle}" tasks: [{ id: "6287E8A7C254ECA7" item: "gtceu:lv_circuit_assembler" type: "item" }] - x: 7.875d - y: 6.75d + title: "{quests.low_voltage.lv_circuit_assembler.title}" + x: 0.0d + y: 14.0d } { dependencies: ["1A77CA35F054F988"] description: [ - "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces." - "" - "You can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r." - "" - "It can also recycle various components and machines back to their original material." + "{quests.low_voltage.lv_arc_furnace.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o Previous versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe. " - "" - "&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP." + "{quests.low_voltage.lv_arc_furnace.desc.2}" ] id: "63256ED95F17B242" - size: 0.75d + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_arc_furnace.subtitle}" tasks: [{ id: "2374C06C5E1EFC24" item: "gtceu:lv_arc_furnace" type: "item" }] - x: -2.25d - y: 7.875d + title: "{quests.low_voltage.lv_arc_furnace.title}" + x: -4.0d + y: 11.0d } { dependencies: [ - "5263F866638D875C" + "15928F50AE80A5CF" "32B08E6F414A00C0" ] + dependency_requirement: "one_completed" description: [ - "You could waste &o&eprecious years of your life&r in JEI looking for the most optimal Oxygen recipe, given the many ways to obtain it. Various minerals will produce it when electrolyzed." - "" - "If only the quest book had more information!" + "{quests.low_voltage.lv_oxygen.desc.1}" "{@pagebreak}" - "Surprise! The best source according to us (!) is &acentrifuging Air&r after making a &dGas Collector&r, which you might not be able to make just yet. This recipe also gives &aNitrogen&r, which is handy as it can speed up certain &3Electric Blast Furnace&r recipes&r." - "" - "The second best source according to us (!) is &aelectrolyzing Silicon Dioxide&r. Silicon Dioxide is obtained from various sources, such as Glass Dust, Granite Dust and Black Granite Dust." + "{quests.low_voltage.lv_oxygen.desc.2}" "{@pagebreak}" - "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost." - "" - "The fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks." - "" - "&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A bucket will also work." + "{quests.low_voltage.lv_oxygen.desc.3" ] icon: "gtceu:oxygen_bucket" id: "1A77CA35F054F988" shape: "rsquare" - size: 0.66d - subtitle: "Achtually, it's Dioxygen..." + size: 1.0d + subtitle: "{quests.low_voltage.lv_oxygen.subtitle}" tasks: [{ - id: "4299C881ED57472D" - item: "gtceu:oxygen_bucket" + id: "6239439140B6B39B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:oxygen\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:oxygen\"}})item(gtceu:oxygen_bucket))" + } + } type: "item" }] - title: "Breath of Fresh Oxygen" - x: -1.125d - y: 7.875d + title: "{quests.low_voltage.lv_oxygen.title}" + x: -4.0d + y: 9.0d } { dependencies: ["5263F866638D875C"] - description: [ - "You can now &3centrifuge&r &aResin&r, which will still give Raw Rubber - but this time alongside &aGlue&r (and the less useful Plantball)." - "" - "Give yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembling Machine&r (and it is especially useful &oin the near future&r)." - "" - "&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A bucket will also work." - ] + description: ["{quests.low_voltage.lv_glue.desc}"] icon: "gtceu:glue_bucket" id: "0EAC071414AEC07E" - size: 0.75d - subtitle: "Extractor? I hardly knew 'er!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_glue.subtitle}" tasks: [{ - id: "204FF37CA2846468" - item: "gtceu:glue_bucket" + id: "062DC32EE976C58B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:glue\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:glue\"}})item(gtceu:glue_bucket))" + } + } type: "item" }] - title: "Glued" - x: 0.0d - y: 7.875d + title: "{quests.low_voltage.lv_glue.title}" + x: -2.0d + y: 9.0d } { dependencies: [ - "5263F866638D875C" - "257DB4B39B2A928E" - ] - description: [ - "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials." - "" - "For &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):" - "" - "&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value." - "" - "&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r." - "" - "&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r." - "" - "For &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r." + "5B891BA4897FD73C" + "49896161B31DB7B4" ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.gallium_arsenide.desc}"] id: "4073577B7EF9B593" - size: 0.75d - subtitle: "I hate byproducts, they're awesome" + size: 1.0d + subtitle: "{quests.low_voltage.gallium_arsenide.subtitle}" tasks: [{ id: "0FDC60275B1959C3" item: "gtceu:gallium_arsenide_dust" type: "item" }] - title: "Gallium Arsenide" - x: 1.125d - y: 7.875d + title: "{quests.low_voltage.gallium_arsenide.title}" + x: 2.0d + y: 9.0d } { dependencies: [ @@ -1450,133 +945,152 @@ "0EAC071414AEC07E" ] description: [ - "This Circuit Board is used to create &dMV Circuits&r!" - "" - "&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the crafting recipe." - "" - "&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein..." - "" - "The quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading." + "{quests.low_voltage.t2_circuit_board.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o Back in GTCEu 1.12.2, these circuit boards were called \"&2Good Circuit Boards&f\". Not exactly a fitting name, as they're &4rather evil&f to craft." + "{quests.low_voltage.t2_circuit_board.desc.2}" ] id: "3647B1B964A15E4E" - size: 0.75d + size: 1.0d + subtitle: "{quests.low_voltage.t2_circuit_board.subtitle}" tasks: [{ id: "2DE7B75F25A4AB9E" item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: 3.375d - y: 7.875d + x: -0.5d + y: 9.0d } { dependencies: [ "63CD0236B337EAAD" "4073577B7EF9B593" ] - description: [ - "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode." - "" - "Diodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r." - "" - "This is required for &dMV Circuits&r." - ] + description: ["{quests.low_voltage.lv_diode.desc}"] id: "7BE7DE4C0109D788" - size: 0.75d - subtitle: "Don't be swayed by JEI!" + size: 1.0d + subtitle: "{quests.low_voltage.lv_diode.subtitle}" tasks: [{ id: "0FE8CA1C2D212378" item: "gtceu:diode" type: "item" }] - x: 5.625d - y: 7.875d + title: "{quests.low_voltage.lv_diode.title}" + x: 0.5d + y: 9.0d } { dependencies: [ "3647B1B964A15E4E" "7BE7DE4C0109D788" - "4B979482EF026BFF" - ] - description: [ - "Well... gotten any Aluminium Ingots yet?" - "" - "Each Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry." - "" - "Always be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than hand-crafting Circuits." - "" - "&6Having this and Aluminium will grant access to MV Machines.&r" ] + description: ["{quests.low_voltage.1_mv_circuit.desc}"] id: "0DBC148D92A9F69F" shape: "gear" size: 1.2d - subtitle: "Does that mean we're at MV yet?" + subtitle: "{quests.low_voltage.1_mv_circuit.subtitle}" tasks: [{ id: "70313E1917121E14" item: "gtceu:good_electronic_circuit" type: "item" }] - title: "First MV Circuit!" - x: 7.875d - y: 7.875d + title: "{quests.low_voltage.1_mv_circuit.title}" + x: 0.0d + y: 10.799999999999999d } { - dependencies: ["2F1CCFEBAB71B1F3"] - description: [ - "As mentioned in the previous quest, electrolyse the &1Sapphire Dust&r to get your &bAluminium Dust&r." - "" - "Now all you need is an EBF! If you haven't started to work towards one, move to the right on this quest page and you'll end up there." - ] - hide_dependent_lines: true + dependencies: ["1E9BE8D3F8A602DC"] + description: ["{quests.low_voltage.aluminium_dust.desc}"] id: "45B71324028F6E68" - size: 0.75d + size: 1.0d + subtitle: "{quests.low_voltage.aluminium_dust.subtitle}" tasks: [{ id: "144F4F8EF61BEEA5" item: "gtceu:aluminium_dust" type: "item" }] - title: "Aluminium Dust" - x: -3.375d - y: 6.75d + title: "{quests.low_voltage.aluminium_dust.title}" + x: -9.0d + y: 8.625d } { dependencies: ["1E9BE8D3F8A602DC"] - description: [ - "Multiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - we've written a guide to help you learn." - "" - "&6This quest unlocks a bunch of tutorials on Multiblocks in the &lTips and Tricks&r&6 tab - check them out to learn more!&r" - ] + description: ["{quests.low_voltage.multiblock_tech.desc}"] hide_text_until_complete: false icon: "gtceu:heatproof_machine_casing" id: "2FC7B1E867E4194E" - size: 0.75d - tasks: [{ - id: "2AA5580CDD655FBC" - type: "checkmark" - }] - title: "Multiblock Techniques" - x: 7.875d + size: 1.0d + subtitle: "{quests.low_voltage.multiblock_tech.subtitle}" + tasks: [ + { + id: "1B5378C55DC4AE73" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ulv_input_bus)item(gtceu:lv_input_bus))" + } + } + title: "{quests.low_voltage.multiblock_tech.task.1" + type: "item" + } + { + id: "3201D38691813B6D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ulv_output_bus)item(gtceu:lv_output_bus))" + } + } + title: "{quests.low_voltage.multiblock_tech.task.2" + type: "item" + } + { + id: "1F39902E1FB41053" + item: "gtceu:maintenance_hatch" + type: "item" + } + { + id: "705D4CC1AA36EF10" + item: "gtceu:lv_muffler_hatch" + type: "item" + } + { + count: 14L + id: "2E6781820FF96078" + item: { Count: 14, id: "gtceu:heatproof_machine_casing" } + type: "item" + } + { + id: "7E3D72FA8499654D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ulv_input_hatch)item(gtceu:lv_input_hatch))" + } + } + title: "{quests.low_voltage.multiblock_tech.task.3}" + type: "item" + } + ] + title: "{quests.low_voltage.multiblock_tech.title}" + x: -9.0d y: 4.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ - "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r" - "" - "The &3Rock Breaker&r generates different types of igneous Rocks. In order to operate, &9Water&r and &cLava&r (doesn't need to be source blocks) must both be adjacent to it. Those rocks might be pulverized and electrolyzed into certain materials." - "" - "Certain rocks, such as &b&cRed Granite&r, need up to &5EV&r power to generate." - "" - "&eAny&r Rock Breaker will complete this Quest." + "{quests.low_voltage.lv_rock_crusher.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o Obsidian requiring Redstone to generate is in reference to an ancient Minecraft bug, &7MC-4239&f. Placing Redstone where the Cobblestone would go in a cobble generator would make it generate Obsidian instead. This bug was resolved in snapshot 14w25b for Minecraft 1.8, over 9 years ago at the time of writing!" + "{quests.low_voltage.lv_rock_crusher.desc.2}" ] - hide_dependency_lines: true icon: "gtceu:lv_rock_crusher" id: "1F2359106FC95603" - shape: "rsquare" - size: 0.66d + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lv_rock_crusher.subtitle}" tasks: [{ id: "37396BE76A4F64C5" item: { @@ -1589,27 +1103,22 @@ "ftbfiltersystem:filter": "or(item(gtceu:lv_rock_crusher)item(gtceu:mv_rock_crusher)item(gtceu:hv_rock_crusher)item(gtceu:ev_rock_crusher)item(gtceu:iv_rock_crusher)item(gtceu:luv_rock_crusher)item(gtceu:zpm_rock_crusher)item(gtceu:uv_rock_crusher))" } } + title: "{quests.low_voltage.lv_rock_crusher.task}" type: "item" }] - title: "Cobble is Life" - x: 4.5d - y: 0.0d + title: "{quests.low_voltage.lv_rock_crusher.title}" + x: -2.0d + y: -6.0d } { - dependencies: ["648BCF486E16CCB2"] - description: [ - "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r" - "" - "The &3Turbo Charger&r charges &6RF and EU&r items such as &9Drills&r extremely quickly." - "It accepts up to 4 Amps for every item it charges, making it &6twice as fast&r as the &3Battery Buffer&r. It cannot discharge, though." - "" - "&eAny&r Charger will complete this Quest." - ] - hide_dependency_lines: true + dependencies: ["22510C5F2386B453"] + description: ["{quests.low_voltage.lv_turbo_charge.desc}"] icon: "gtceu:lv_charger_4x" id: "2DB259568F347C0E" - shape: "rsquare" - size: 0.66d + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lv_turbo_charge.subtitle}" tasks: [{ id: "11A5ECE835D2037C" item: { @@ -1622,28 +1131,22 @@ "ftbfiltersystem:filter": "or(item(gtceu:ulv_charger_4x)item(gtceu:lv_charger_4x)item(gtceu:mv_charger_4x)item(gtceu:hv_charger_4x)item(gtceu:ev_charger_4x)item(gtceu:iv_charger_4x)item(gtceu:luv_charger_4x)item(gtceu:zpm_charger_4x)item(gtceu:uv_charger_4x)item(gtceu:uhv_charger_4x))" } } + title: "{quests.low_voltage.lv_turbo_charge.task}" type: "item" }] - title: "Turbo Charger" - x: 5.625d - y: 0.0d + title: "{quests.low_voltage.lv_turbo_charge.title}" + x: 2.0d + y: -6.0d } { - dependencies: ["648BCF486E16CCB2"] - description: [ - "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r" - "" - "The &3Fisher&r catches fish from Water. It requires a 5x5 area of Water directly below to operate. It uses the same loot table as normal Fishing, so it can catch things like &dEnchanted Books&r. Each operation consumes 1 String and EU equivalent to its tier (32 for &7LV&r, etc.) That's about it." - "" - "&eFish Oil&r can be extracted from Fish, which can be used for &6Bio Diesel&r." - "" - "Get &eany&r tier Fisher to complete this quest. (They only go up to &5EV&r. If you forsee needing enough Fish to justify an &1IV&r or higher Fisher, make a feature request on our GitHub or Discord.)" - ] - hide_dependency_lines: true + dependencies: ["22510C5F2386B453"] + description: ["{quests.low_voltage.lv_fisher.desc}"] icon: "gtceu:lv_fisher" id: "3B26CA44EA955B07" - shape: "rsquare" - size: 0.66d + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.low_voltage.lv_fisher.subtitle}" tasks: [{ id: "54B46E0C5903092F" item: { @@ -1656,13 +1159,148 @@ "ftbfiltersystem:filter": "or(item(gtceu:lv_fisher)item(gtceu:mv_fisher)item(gtceu:hv_fisher)item(gtceu:ev_fisher))" } } + title: "{quests.low_voltage.lv_fisher.task}" type: "item" }] - title: "Fishing 50" - x: 6.75d - y: 0.0d + title: "{quests.low_voltage.lv_fisher.title}" + x: 0.0d + y: -6.0d + } + { + dependencies: ["7CCC1BDDE0C67F16"] + description: ["With that tape you wil be able to move around the crate. The main advantage? You can put anything in a crate, weight won't be an issue here."] + icon: "gtceu:basic_tape" + id: "37151F9C4A240041" + shape: "rsquare" + size: 1.0d + subtitle: "Moving stuff around" + tasks: [{ + id: "2FCA41AFFAF08816" + item: "gtceu:basic_tape" + type: "item" + }] + title: "Tape for Crate" + x: -3.0d + y: -4.0d + } + { + dependencies: ["648BCF486E16CCB2"] + description: ["{quests.low_voltage.lv_mixer.desc}"] + id: "5B891BA4897FD73C" + optional: true + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_mixer.subtitle}" + tasks: [{ + id: "27715DF608CBAE08" + item: "gtceu:lv_mixer" + type: "item" + }] + title: "{quests.low_voltage.lv_mixer.title}" + x: 4.0d + y: 7.0d + } + { + description: [ + "{quests.low_voltage.lv_machine_hull.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lv_machine_hull.desc.2}" + ] + id: "22510C5F2386B453" + shape: "octagon" + size: 1.5d + subtitle: "{quests.low_voltage.lv_machine_hull.subtitle}" + tasks: [{ + id: "499CACFF0350B3CA" + item: "gtceu:lv_machine_hull" + type: "item" + }] + title: "{quests.low_voltage.lv_machine_hull.title}" + x: 0.0d + y: -4.0d + } + { + dependencies: ["15928F50AE80A5CF"] + description: ["{quests.low_voltage.lv_nitrogen.desc}"] + id: "39F6BCF4B8DFC7D4" + shape: "rsquare" + subtitle: "{quests.low_voltage.lv_nitrogen.subtitle}" + tasks: [{ + id: "332632EB70DC54EB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:nitrogen\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:nitrogen\"}})item(gtceu:nitrogen_bucket))" + } + } + type: "item" + }] + title: "{quests.low_voltage.lv_nitrogen.title}" + x: -6.0d + y: 9.0d + } + { + dependencies: [ + "22510C5F2386B453" + "6903C72A254A7B08" + ] + description: ["{quests.low_voltage.lv_motor.desc}"] + icon: "gtceu:lv_electric_motor" + id: "7EED0084BA59FED1" + shape: "octagon" + size: 1.5d + subtitle: "{quests.low_voltage.lv_motor.subtitle}" + tasks: [{ + icon: "gtceu:lv_electric_motor" + id: "75C56AF9E28F17C2" + item: "gtceu:lv_electric_motor" + type: "item" + }] + title: "{quests.low_voltage.lv_motor.title}" + x: 0.0d + y: -0.75d + } + { + dependencies: ["581CDF545E1EA1FD"] + description: ["{quests.low_voltage.mold_plate.desc}"] + icon: "gtceu:plate_casting_mold" + id: "3526779F1E3E2DB5" + shape: "rsquare" + subtitle: "{quests.low_voltage.mold_plate.subtitle}" + tasks: [ + { + id: "27B2C629237EFB4E" + item: "gtceu:plate_casting_mold" + type: "item" + } + { + id: "32BE8D1ADFDF3231" + item: "gtceu:rubber_plate" + type: "item" + } + ] + title: "{quests.low_voltage.mold_plate.title}" + x: -6.5d + y: 5.5d + } + { + dependencies: ["3E6DC423FE4A99F7"] + id: "4B4F052F00435AFE" + shape: "heart" + tasks: [{ + id: "00E6EDB1E4C1482F" + item: { + Count: 1 + id: "gtceu:nightvision_goggles" + tag: { } + } + type: "item" + }] + x: 7.0d + y: 1.0d } ] - subtitle: ["Tame electricity and make your first machines"] - title: "&7LV&r - Low Voltage" + subtitle: ["{quests.low_voltage.subtitle}"] + title: "{quests.low_voltage}" } diff --git a/config/ftbquests/quests/chapters/multiblock_dilemma.snbt b/config/ftbquests/quests/chapters/multiblock_dilemma.snbt index f48d81530..53dd8fc3c 100644 --- a/config/ftbquests/quests/chapters/multiblock_dilemma.snbt +++ b/config/ftbquests/quests/chapters/multiblock_dilemma.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "multiblock_dilemma" - group: "" + group: "19428C6E7A36D463" icon: "gtceu:electric_blast_furnace" id: "41FEC6178ABF1998" - order_index: 13 + order_index: 2 quest_links: [ { id: "787AC5F1A89ABE41" @@ -94,20 +94,6 @@ x: 3.0d y: 0.0d } - { - id: "1666AE4895ABBED3" - linked_quest: "6C25D11A26306168" - shape: "rsquare" - x: 1.5d - y: 3.0d - } - { - id: "3656412C2AFCA8BF" - linked_quest: "7FF95F1216D104B2" - shape: "rsquare" - x: 3.0d - y: 3.0d - } { id: "026F45422E5639EB" linked_quest: "48141DBA683F6B5A" diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 346dac36c..03e0fe32b 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "rsquare" filename: "mv__medium_voltage" - group: "" + group: "44D0F3E5067B5AB8" icon: "gtceu:mv_electric_motor" id: "43E779CEEB25D55B" - order_index: 4 + order_index: 1 quest_links: [{ id: "6FCAD016C795DE93" linked_quest: "7567E885B7166603" @@ -1185,7 +1185,6 @@ { dependencies: [ "5263F866638D875C" - "257DB4B39B2A928E" "3D98819A799D2E64" ] description: [ @@ -1707,7 +1706,6 @@ y: -3.0d } { - dependencies: ["1FFD2242B94A7378"] dependency_requirement: "one_started" description: [ "Regular &o&dGregTech&r Fluid Pipes can only transport one fluid type at a time." diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt deleted file mode 100644 index ba1178c58..000000000 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ /dev/null @@ -1,5371 +0,0 @@ -{ - default_hide_dependency_lines: false - default_quest_shape: "circle" - filename: "primitive_age" - group: "" - icon: "tfc:rock/loose/gabbro" - id: "092E486344CB830A" - order_index: 0 - quest_links: [ ] - quests: [ - { - description: ["{quests.76EF4D00586A8B74.d1}"] - icon: { - Count: 1 - id: "ftbquests:custom_icon" - tag: { - Icon: "tfg:textures/gui/logo_512x512.png" - } - } - id: "76EF4D00586A8B74" - shape: "gear" - size: 3.0d - subtitle: "{quests.76EF4D00586A8B74.st}" - tasks: [{ - id: "7CFEDEBD7D6FD796" - type: "checkmark" - }] - title: "{quests.76EF4D00586A8B74.t}" - x: -1.5d - y: 0.0d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.365F6F48E0BB2EFC.d1}"] - id: "365F6F48E0BB2EFC" - size: 2.0d - subtitle: "{quests.365F6F48E0BB2EFC.st}" - tasks: [ - { - count: 5L - id: "71D34417AD85CBB7" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:can_be_lit_on_torch)" - } - } - title: "{quests.365F6F48E0BB2EFC.t1}" - type: "item" - } - { - count: 10L - id: "764DF57F97EB2AB2" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock_knapping)" - } - } - title: "{quests.365F6F48E0BB2EFC.t2}" - type: "item" - } - ] - title: "{quests.365F6F48E0BB2EFC.t}" - x: 3.5d - y: 0.0d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["Instead of ordinary pebbles, you can find pieces of ore in the world, they usually indicate that somewhere underground there is a vein with ore similar in material to a piece of ore found on the surface, but so far you do not have a pickaxe, so you should collect such pieces, because they can be melted into metal using molds and a fire pit, which we will talk about later."] - id: "40A930BEBFCFBF3B" - subtitle: "Your first metal is already available, at a discount" - tasks: [ - { - id: "45ADEA53258F0876" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_native_copper" - } - type: "item" - } - { - id: "60AD410AF2AB1F3B" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_native_gold" - } - type: "item" - } - { - id: "76CE2DAD3450854A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_hematite" - } - type: "item" - } - { - id: "1C91EB0D412DD926" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_native_silver" - } - type: "item" - } - { - id: "41B270A3D4FFF7EA" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_cassiterite" - } - type: "item" - } - { - id: "260DC2139C737E9D" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_bismuthinite" - } - type: "item" - } - { - id: "6444775ACB88FB47" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_garnierite" - } - type: "item" - } - { - id: "229B26271FA55CC9" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_malachite" - } - type: "item" - } - { - id: "4542DDBDA2B8BAEE" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_magnetite" - } - type: "item" - } - { - id: "068ACE7436DD4957" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_limonite" - } - type: "item" - } - { - id: "2CA4B0ED8BA926F6" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_sphalerite" - } - type: "item" - } - { - id: "793C84936B5B0442" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ore/small_tetrahedrite" - } - type: "item" - } - ] - title: "Pebbles with ore" - x: -3.5d - y: -2.0d - } - { - dependencies: ["2BFC2744E4DE4B5A"] - id: "373FD04AD6CA9F92" - subtitle: "{quests.373FD04AD6CA9F92.st}" - tasks: [{ - id: "794D2D1559FA7CEA" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:logs)" - } - } - title: "{quests.373FD04AD6CA9F92.t1}" - type: "item" - }] - title: "{quests.373FD04AD6CA9F92.t}" - x: 6.5d - y: 1.5d - } - { - dependencies: ["373FD04AD6CA9F92"] - description: [ - "{quests.5DB0CA9F9724D301.d1}" - "" - "{image:tfg:textures/quests/primitive_charcoal_1.png width:170 height:100 align:1}" - "" - "{quests.5DB0CA9F9724D301.d2}" - "" - "{image:tfg:textures/quests/primitive_charcoal_2.png width:200 height:100 align:1}" - "" - "{quests.5DB0CA9F9724D301.d3}" - "" - "{image:tfg:textures/quests/primitive_charcoal_3.png width:190 height:100 align:1}" - "" - "{quests.5DB0CA9F9724D301.d4}" - ] - id: "5DB0CA9F9724D301" - subtitle: "{quests.5DB0CA9F9724D301.st}" - tasks: [{ - count: 16L - id: "58361DD51C891C43" - item: "minecraft:charcoal" - type: "item" - }] - title: "{quests.5DB0CA9F9724D301.t}" - x: 8.0d - y: 1.5d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.3B3BA51C8CAEFC7F.d1}"] - id: "3B3BA51C8CAEFC7F" - subtitle: "{quests.3B3BA51C8CAEFC7F.st}" - tasks: [{ - id: "1D1EC6EF1FCBA733" - item: { - Count: 1 - id: "tfc:firestarter" - tag: { - Damage: 0 - } - } - type: "item" - }] - title: "{quests.3B3BA51C8CAEFC7F.t}" - x: 3.5d - y: -1.5d - } - { - dependencies: ["3B3BA51C8CAEFC7F"] - description: ["{quests.682B58EC2D39F1A1.d1}"] - id: "682B58EC2D39F1A1" - subtitle: "{quests.682B58EC2D39F1A1.st}" - tasks: [{ - icon: "tfc:firepit" - id: "4639272D5258BCFC" - observe_type: 0 - timer: 0L - title: "{quests.682B58EC2D39F1A1.t1}" - to_observe: "tfc:firepit" - type: "observation" - }] - x: 3.5d - y: -3.0d - } - { - dependencies: ["682B58EC2D39F1A1"] - description: ["{quests.6D940527BFF1D4C0.d1}"] - id: "6D940527BFF1D4C0" - subtitle: "{quests.6D940527BFF1D4C0.st}" - tasks: [{ - count: 2L - id: "6697694A11A541B9" - item: "tfc:torch" - type: "item" - }] - title: "{quests.6D940527BFF1D4C0.t}" - x: 2.0d - y: -3.0d - } - { - dependencies: [ - "373FD04AD6CA9F92" - "4B8BAB2494C82C36" - ] - id: "4F5C883CC5282151" - tasks: [{ - count: 16L - id: "05DD41298C7884FD" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:lumber)" - } - } - title: "Any Lumber" - type: "item" - }] - x: 8.0d - y: 3.0d - } - { - dependencies: ["76EF4D00586A8B74"] - description: [ - "{quests.387DEEADF4922AB3.d1}" - "" - "{ \"text\": \"Excel Link (Tap here)\", \"color\":\"#02FF00\", \"clickEvent\": { \"action\": \"open_url\", \"value\": \"https://docs.google.com/spreadsheets/d/1P3Baz4y5vgJ3XrCoNs4l3BXGPiFEPlW7i4taPEWpTB4\" } }" - ] - icon: "gtceu:shale_aluminium_ore" - id: "387DEEADF4922AB3" - subtitle: "{quests.387DEEADF4922AB3.st}" - tasks: [{ - id: "7E131C48FAB52A11" - type: "checkmark" - }] - title: "{quests.387DEEADF4922AB3.t}" - x: -4.5d - y: 0.5d - } - { - dependencies: ["76EF4D00586A8B74"] - id: "297996E158D0A289" - size: 2.0d - tasks: [{ - count: 64L - id: "7DE49B3518768E16" - item: "minecraft:clay_ball" - type: "item" - }] - x: -1.5d - y: 16.0d - } - { - dependencies: ["76EF4D00586A8B74"] - id: "671A79C648DE2BCD" - size: 2.0d - tasks: [{ - id: "123D5D1D8D91D88A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:kaolin_clay" - } - type: "item" - }] - x: -1.5d - y: 11.0d - } - { - dependencies: [ - "1D40CA3A293CA0B8" - "6114E7A26576FE4C" - ] - id: "70D40085219B1CC2" - tasks: [{ - id: "2AFE24D5E16E294F" - item: "tfc:fire_clay" - type: "item" - }] - x: 13.5d - y: 10.0d - } - { - dependencies: ["70D40085219B1CC2"] - id: "6E07D20BECE4AB91" - tasks: [{ - id: "3E53D8286A792931" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_fire_brick" - } - type: "item" - }] - x: 15.0d - y: 8.0d - } - { - dependencies: ["70D40085219B1CC2"] - id: "57A961BF9EE3F0A4" - tasks: [{ - id: "28CEE2DBF2AC79BD" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_fire_ingot_mold" - } - type: "item" - }] - x: 15.0d - y: 9.0d - } - { - dependencies: ["70D40085219B1CC2"] - id: "7E75A4A0E4BCCAAF" - tasks: [{ - id: "529CB26EFD86E19B" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_crucible" - } - type: "item" - }] - x: 16.5d - y: 10.0d - } - { - dependencies: [ - "671A79C648DE2BCD" - "15E8DFB91603906B" - ] - id: "1D40CA3A293CA0B8" - tasks: [{ - count: 4L - id: "6A13186D6FB447CF" - item: "tfc:powder/kaolinite" - type: "item" - }] - x: 12.0d - y: 11.0d - } - { - dependencies: [ - "15E8DFB91603906B" - "3029097F88B8AABF" - ] - id: "6114E7A26576FE4C" - tasks: [{ - count: 4L - id: "2A3B46E5AAE6DFCC" - item: "tfc:powder/graphite" - type: "item" - }] - x: 12.0d - y: 9.0d - } - { - dependencies: [ - "2286E2D7A9178E13" - "3D7FD4BCC0C66062" - ] - id: "15E8DFB91603906B" - size: 2.0d - tasks: [ - { - id: "27816718899DCD1B" - item: { - Count: 1 - id: "tfc:handstone" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "7958F44E9515823D" - item: "tfc:quern" - type: "item" - } - ] - x: 12.0d - y: 14.5d - } - { - dependencies: ["297996E158D0A289"] - id: "19D912E5A084622E" - tasks: [{ - id: "28D767CF80018E21" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_pickaxe_head_mold" - } - type: "item" - }] - x: 3.5d - y: 14.5d - } - { - dependencies: ["297996E158D0A289"] - id: "651A98D6E3FA22F5" - tasks: [{ - id: "08C6B78C9F502ADC" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_saw_blade_mold" - } - type: "item" - }] - x: 3.5d - y: 12.5d - } - { - dependencies: ["297996E158D0A289"] - id: "1485A3993C9A92FD" - tasks: [{ - id: "78D4DB54E734D433" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_ingot_mold" - } - type: "item" - }] - x: 3.5d - y: 16.5d - } - { - dependencies: ["297996E158D0A289"] - id: "5D657AAEFFE8AAD9" - tasks: [{ - id: "743306EEC814B850" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_propick_head_mold" - } - type: "item" - }] - x: 3.5d - y: 15.5d - } - { - dependencies: ["297996E158D0A289"] - id: "37D6DD778879CF23" - tasks: [{ - id: "18BE0AE52BCF136D" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_axe_head_mold" - } - type: "item" - }] - x: -6.0d - y: 11.0d - } - { - dependencies: ["297996E158D0A289"] - id: "369D8DA6CB6FE181" - tasks: [{ - id: "3300F74859EEFDA1" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_shovel_head_mold" - } - type: "item" - }] - x: -6.0d - y: 14.0d - } - { - dependencies: ["297996E158D0A289"] - id: "3B2261F507B53EDC" - tasks: [{ - id: "1BE5D35CB5FA4D90" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_hoe_head_mold" - } - type: "item" - }] - x: -6.0d - y: 18.0d - } - { - dependencies: ["297996E158D0A289"] - id: "415A6313CFFB89C4" - tasks: [{ - id: "2E7F90E71BF2E1A6" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_chisel_head_mold" - } - type: "item" - }] - x: 3.5d - y: 13.5d - } - { - dependencies: ["297996E158D0A289"] - id: "7939AE29BFFEE56C" - tasks: [{ - id: "07B71D9E1191802F" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_hammer_head_mold" - } - type: "item" - }] - x: 3.5d - y: 17.5d - } - { - dependencies: ["297996E158D0A289"] - id: "5046918F09DC9AE8" - tasks: [{ - id: "3F71BCE908797381" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_javelin_head_mold" - } - type: "item" - }] - x: -6.0d - y: 15.0d - } - { - dependencies: ["297996E158D0A289"] - id: "1551AB73122D79BC" - tasks: [{ - id: "3CC58AD9E3221D58" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_sword_blade_mold" - } - type: "item" - }] - x: -6.0d - y: 12.0d - } - { - dependencies: ["297996E158D0A289"] - id: "5FDE584FDC695E6B" - tasks: [{ - id: "23F3B86202CB3AE5" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_mace_head_mold" - } - type: "item" - }] - x: -6.0d - y: 16.0d - } - { - dependencies: ["297996E158D0A289"] - id: "6564CC704664FE81" - tasks: [{ - id: "0E36568EAD60A63D" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_knife_blade_mold" - } - type: "item" - }] - x: -6.0d - y: 23.0d - } - { - dependencies: ["297996E158D0A289"] - id: "4038DD635065F5BD" - tasks: [{ - id: "5380F63EAF5D7EB1" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_scythe_blade_mold" - } - type: "item" - }] - x: -6.0d - y: 17.0d - } - { - dependencies: ["297996E158D0A289"] - id: "7AE1B17F8F954E69" - tasks: [{ - id: "68D766E9A037BC60" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_bell_mold" - } - type: "item" - }] - x: -6.0d - y: 13.0d - } - { - dependencies: ["297996E158D0A289"] - id: "5B6A93CACD743E03" - tasks: [{ - id: "122B083A3E5A9648" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_flower_pot" - } - type: "item" - }] - x: -6.0d - y: 20.0d - } - { - dependencies: ["297996E158D0A289"] - id: "37D08CB9359AAD0D" - tasks: [{ - id: "69F4C88520EC510A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_pan" - } - type: "item" - }] - x: -6.0d - y: 21.0d - } - { - dependencies: ["297996E158D0A289"] - id: "38058B5408BFD0C2" - tasks: [{ - id: "2A2BF997858CEFBD" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_blowpipe" - } - type: "item" - }] - x: -6.0d - y: 10.0d - } - { - dependencies: ["297996E158D0A289"] - id: "1D60D48F8B91D0E0" - tasks: [{ - id: "340B47A3D494A58A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_bowl" - } - type: "item" - }] - x: -6.0d - y: 19.0d - } - { - dependencies: ["297996E158D0A289"] - id: "6D419B6EDE146616" - tasks: [{ - id: "39D1102841206461" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_jug" - } - type: "item" - }] - x: 3.5d - y: 19.5d - } - { - dependencies: ["297996E158D0A289"] - id: "4BB76F3E38A2AFFB" - tasks: [{ - id: "01564E7BA40431BB" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_pot" - } - type: "item" - }] - x: 0.0d - y: 12.5d - } - { - dependencies: ["297996E158D0A289"] - id: "0546B04FC0F85C8C" - tasks: [{ - id: "50369C29A8FED043" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_spindle_head" - } - type: "item" - }] - x: -1.5d - y: 19.5d - } - { - dependencies: ["297996E158D0A289"] - id: "0148B1F36C067BE0" - tasks: [{ - id: "684F827FEB040FFA" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_vessel" - } - type: "item" - }] - x: 3.5d - y: 18.5d - } - { - dependencies: ["297996E158D0A289"] - id: "4F4114979CB5CA03" - tasks: [{ - id: "0DA50C9F3BDE79C8" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/unfired_large_vessel" - } - type: "item" - }] - x: -6.0d - y: 22.0d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.2BFC2744E4DE4B5A.d1}"] - id: "2BFC2744E4DE4B5A" - subtitle: "{quests.2BFC2744E4DE4B5A.st}" - tasks: [{ - id: "27927A7A1267C056" - item: { - Count: 1 - id: "gtceu:stone_axe" - tag: { - Damage: 0 - GT.Tool: { - Damage: 0 - } - } - } - match_nbt: false - type: "item" - }] - x: 3.5d - y: 1.5d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.318BF1F671BC4620.d1}"] - id: "318BF1F671BC4620" - subtitle: "{quests.318BF1F671BC4620.st}" - tasks: [{ - id: "59508B56C7C3C891" - item: { - Count: 1 - id: "gtceu:stone_hoe" - tag: { - Damage: 0 - GT.Tool: { - Damage: 0 - } - } - } - match_nbt: false - type: "item" - }] - x: 2.0d - y: 1.5d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.508DA76FA2766B7B.d1}"] - id: "508DA76FA2766B7B" - subtitle: "{quests.508DA76FA2766B7B.st}" - tasks: [{ - id: "061392B0556D6810" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:stone/javelin/igneous_extrusive)item(tfc:stone/javelin/igneous_intrusive)item(tfc:stone/javelin/metamorphic)item(tfc:stone/javelin/sedimentary))" - } - } - title: "{quests.508DA76FA2766B7B.t1}" - type: "item" - }] - x: 2.0d - y: -1.5d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.716B407EEED8BE95.d1}"] - id: "716B407EEED8BE95" - subtitle: "{quests.716B407EEED8BE95.st}" - tasks: [{ - id: "10A730E97830976C" - item: { - Count: 1 - id: "gtceu:stone_shovel" - tag: { - Damage: 0 - GT.Tool: { - Damage: 0 - } - } - } - match_nbt: false - type: "item" - }] - x: 6.5d - y: 0.0d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["Hammer: mainly used only to create a stone anvil and the first copper double ingots, but there will be information about this later in the quests."] - hide_dependency_lines: true - id: "120E5C0E43EC756B" - subtitle: "Make a better copper one!" - tasks: [{ - id: "4BD017E2BEB690C4" - item: { - Count: 1 - id: "gtceu:stone_hammer" - tag: { - Damage: 0 - GT.Tool: { - Damage: 0 - } - } - } - match_nbt: false - type: "item" - }] - x: 12.0d - y: 19.5d - } - { - dependencies: [ - "318BF1F671BC4620" - "5C396041880D32FF" - ] - description: ["{quests.36A9E5CD45A79288.d1}"] - id: "36A9E5CD45A79288" - subtitle: "{quests.36A9E5CD45A79288.st}" - tasks: [{ - icon: "tfc:farmland/silt" - id: "3321FE657126AD2E" - observe_type: 1 - timer: 0L - title: "{quests.36A9E5CD45A79288.t1}" - to_observe: "tfc:farmland" - type: "observation" - }] - x: 2.0d - y: 3.0d - } - { - dependencies: ["76EF4D00586A8B74"] - dependency_requirement: "one_completed" - description: ["{quests.5C396041880D32FF.d1}"] - id: "5C396041880D32FF" - subtitle: "{quests.5C396041880D32FF.st}" - tasks: [{ - id: "24625450C85F8A04" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:seeds)" - } - } - title: "{quests.5C396041880D32FF.t1}" - type: "item" - }] - x: 0.5d - y: 3.0d - } - { - dependencies: [ - "682B58EC2D39F1A1" - "7196BB6BDBAE7B51" - ] - description: ["{quests.557D3A67A36DF9D8.d1}"] - id: "557D3A67A36DF9D8" - size: 2.0d - subtitle: "{quests.557D3A67A36DF9D8.st}" - tasks: [{ - id: "542CC6E7CC064CB7" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/cooked_meats)" - } - } - title: "{quests.557D3A67A36DF9D8.t1}" - type: "item" - }] - x: 3.5d - y: -5.0d - } - { - dependencies: ["76EF4D00586A8B74"] - dependency_requirement: "one_completed" - description: ["{quests.7196BB6BDBAE7B51.d1}"] - id: "7196BB6BDBAE7B51" - subtitle: "{quests.7196BB6BDBAE7B51.st}" - tasks: [{ - id: "094E96DABE2F5DD7" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/raw_meats)" - } - } - title: "{quests.7196BB6BDBAE7B51.t1}" - type: "item" - }] - x: -1.5d - y: -5.0d - } - { - dependencies: ["06C7B7138EDE4B38"] - description: ["{quests.45D907EF7902A200.d1}"] - id: "45D907EF7902A200" - subtitle: "{quests.45D907EF7902A200.st}" - tasks: [{ - count: 16L - id: "77860121847D8117" - item: "tfc:straw" - type: "item" - }] - x: 5.0d - y: 4.5d - } - { - dependencies: ["365F6F48E0BB2EFC"] - description: ["{quests.06C7B7138EDE4B38.d1}"] - id: "06C7B7138EDE4B38" - subtitle: "{quests.06C7B7138EDE4B38.st}" - tasks: [{ - id: "45C890F7C082CA9E" - item: { - Count: 1 - id: "gtceu:stone_knife" - tag: { - Damage: 0 - GT.Tool: { - Damage: 0 - } - } - } - match_nbt: false - type: "item" - }] - x: 5.0d - y: -1.5d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.63E6C5684E12828C.d1}"] - id: "63E6C5684E12828C" - subtitle: "{quests.63E6C5684E12828C.st}" - tasks: [{ - icon: "minecraft:water_bucket" - id: "193361529488FE5C" - observe_type: 0 - timer: 0L - title: "{quests.63E6C5684E12828C.t1}" - to_observe: "minecraft:water" - type: "observation" - }] - x: -3.5d - y: 2.0d - } - { - dependencies: ["5EBFCE37D727DFD0"] - id: "1C1CD40818C97CB4" - size: 2.0d - tasks: [{ - id: "59F6553DB3C48707" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/copper" - } - type: "item" - }] - x: 16.5d - y: 20.0d - } - { - dependencies: ["43C737BF10D3AC0E"] - id: "5A3E944192851481" - size: 2.0d - tasks: [{ - id: "42CEDE5B7EEAEC2D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:bronze_anvils)" - } - } - title: "Any anvil from any bronze" - type: "item" - }] - x: 18.5d - y: 20.0d - } - { - dependencies: ["474BC62CB10811FA"] - id: "095104BA3C842978" - size: 2.0d - tasks: [{ - id: "16D30907256FEBA9" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/wrought_iron" - } - type: "item" - }] - x: 22.5d - y: 11.0d - } - { - dependencies: ["76A8181B6F9331B9"] - id: "445E060EF3300A49" - size: 2.0d - tasks: [{ - id: "058C47108EE07BAF" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/steel" - } - type: "item" - }] - x: 24.5d - y: 20.0d - } - { - dependencies: ["2A181CB1C187FD0E"] - id: "1B241F6608950656" - size: 2.0d - tasks: [{ - id: "6E61EA191DB9B798" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/black_steel" - } - type: "item" - }] - x: 28.5d - y: 20.0d - } - { - dependencies: ["36A9E5CD45A79288"] - description: ["{quests.4CF472C9778068D6.d1}"] - icon: "tfc:wild_crop/barley" - id: "4CF472C9778068D6" - subtitle: "{quests.4CF472C9778068D6.st}" - tasks: [{ - id: "7226C69847993160" - title: "{quests.4CF472C9778068D6.t1}" - type: "checkmark" - }] - title: "{quests.4CF472C9778068D6.t}" - x: 2.0d - y: 4.5d - } - { - dependencies: ["45D907EF7902A200"] - id: "30AE1FF285B64716" - subtitle: "{quests.30AE1FF285B64716.st}" - tasks: [{ - count: 16L - id: "71AD45BFB355905E" - item: "tfc:thatch" - type: "item" - }] - x: 3.5d - y: 4.5d - } - { - dependencies: ["45D907EF7902A200"] - description: ["{quests.0ED8BE436A0ECDDB.d1}"] - id: "0ED8BE436A0ECDDB" - subtitle: "{quests.0ED8BE436A0ECDDB.st}" - tasks: [{ - count: 16L - id: "485D243786542A96" - item: "minecraft:hay_block" - type: "item" - }] - x: 3.5d - y: 6.0d - } - { - dependencies: [ - "45D907EF7902A200" - "373FD04AD6CA9F92" - ] - description: ["{quests.69D20168E26BBF59.d1}"] - id: "69D20168E26BBF59" - size: 2.0d - subtitle: "{quests.69D20168E26BBF59.st}" - tasks: [{ - icon: "tfc:firepit" - id: "4104866DD66BFB2E" - observe_type: 0 - timer: 0L - title: "{quests.69D20168E26BBF59.t1}" - to_observe: "tfc:pit_kiln" - type: "observation" - }] - x: 6.5d - y: 6.0d - } - { - dependencies: [ - "69D20168E26BBF59" - "1485A3993C9A92FD" - ] - id: "6EFCFEF4EDFBB71E" - tasks: [{ - id: "71AB3DF803604E21" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/ingot_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 16.5d - } - { - dependencies: [ - "651A98D6E3FA22F5" - "69D20168E26BBF59" - ] - id: "6C4DD58DE6015FD7" - tasks: [{ - id: "521FE5C41A7AC93F" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/saw_blade_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 12.5d - } - { - dependencies: [ - "69D20168E26BBF59" - "19D912E5A084622E" - ] - id: "64F3C1F270CFFE02" - tasks: [{ - id: "57889ADDFB9BE0C3" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/pickaxe_head_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 14.5d - } - { - dependencies: [ - "5D657AAEFFE8AAD9" - "69D20168E26BBF59" - ] - id: "78DEFFC621068E18" - tasks: [{ - id: "17482FD96A00520B" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/propick_head_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 15.5d - } - { - dependencies: [ - "7939AE29BFFEE56C" - "69D20168E26BBF59" - ] - id: "7E98FD623005E4CA" - tasks: [{ - id: "06CC57344030E519" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/hammer_head_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 17.5d - } - { - dependencies: [ - "69D20168E26BBF59" - "0148B1F36C067BE0" - ] - id: "6CCE62F683236AA6" - tasks: [{ - id: "51AD0A0E0A5EE9F8" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/vessel" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 18.5d - } - { - dependencies: [ - "6D419B6EDE146616" - "69D20168E26BBF59" - ] - id: "3E03688C03778894" - tasks: [{ - id: "2FBD3C008C1E7227" - item: "tfc:ceramic/jug" - type: "item" - }] - x: 6.5d - y: 19.5d - } - { - dependencies: ["3E03688C03778894"] - id: "3865CC2794856513" - tasks: [{ - id: "621C39B591C3100C" - item: { - Count: 1 - id: "tfc:ceramic/jug" - tag: { - fluid: { - Amount: 100 - FluidName: "minecraft:water" - } - } - } - type: "item" - }] - x: 8.0d - y: 19.5d - } - { - dependencies: ["0EB682B44D83D12A"] - description: [""] - id: "2286E2D7A9178E13" - tasks: [{ - count: 6L - id: "7ACB816A97136D3B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/raw)" - } - } - title: "Any Raw Stone" - type: "item" - }] - x: 9.5d - y: 14.5d - } - { - dependencies: ["64F3C1F270CFFE02"] - id: "0EB682B44D83D12A" - tasks: [{ - id: "6AD179467B50D005" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:copper_pickaxe)item(gtceu:bismuth_bronze_pickaxe)item(gtceu:black_bronze_pickaxe)item(gtceu:bronze_pickaxe))" - } - } - match_nbt: false - title: "Copper or bronze pickaxe" - type: "item" - }] - x: 8.0d - y: 14.5d - } - { - dependencies: ["644D51EEF0A5641E"] - id: "3D7FD4BCC0C66062" - tasks: [{ - count: 3L - id: "58914FFF11720933" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/smooth)" - } - } - title: "Any Smooth Stone" - type: "item" - }] - x: 11.0d - y: 13.5d - } - { - dependencies: [ - "415A6313CFFB89C4" - "69D20168E26BBF59" - ] - id: "3FD9C8B55B70ACC3" - tasks: [{ - id: "4E07B3CADC38A2CE" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/chisel_head_mold" - tag: { } - } - type: "item" - }] - x: 6.5d - y: 13.5d - } - { - dependencies: ["3FD9C8B55B70ACC3"] - id: "644D51EEF0A5641E" - tasks: [{ - id: "5DBB1490DF109B8E" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:metal/chisel/copper)item(tfc:metal/chisel/bismuth_bronze)item(tfc:metal/chisel/bronze)item(tfc:metal/chisel/black_bronze))" - } - } - match_nbt: false - title: "Copper or bronze chisel" - type: "item" - }] - x: 9.5d - y: 13.5d - } - { - dependencies: ["0EB682B44D83D12A"] - hide_dependency_lines: true - id: "3029097F88B8AABF" - size: 1.5d - tasks: [{ - id: "37D21B5266C73385" - item: "gtceu:crushed_graphite_ore" - type: "item" - }] - x: 12.0d - y: 6.5d - } - { - dependencies: ["7E75A4A0E4BCCAAF"] - id: "390C85E831B2B8A4" - tasks: [{ - id: "29360B07ACD7ACE3" - item: "tfc:crucible" - type: "item" - }] - x: 18.5d - y: 10.0d - } - { - dependencies: ["57A961BF9EE3F0A4"] - id: "4EE18624D06C6D14" - tasks: [{ - id: "611E42A854560727" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/fire_ingot_mold" - tag: { } - } - type: "item" - }] - x: 16.5d - y: 9.0d - } - { - dependencies: ["6E07D20BECE4AB91"] - id: "364B3A80768954B0" - tasks: [{ - id: "29608DBF0BF435D5" - item: "tfc:ceramic/fire_brick" - type: "item" - }] - x: 16.5d - y: 8.0d - } - { - dependencies: [ - "5157705DAAC2C814" - "364B3A80768954B0" - ] - id: "6BFD0EF0AA74F136" - size: 2.0d - tasks: [{ - id: "75E63C92A571122E" - item: "tfc:fire_bricks" - type: "item" - }] - x: 16.5d - y: 6.5d - } - { - dependencies: ["0AA2FEB9F4FFC4FE"] - id: "1AD820EAE686FAAB" - tasks: [{ - count: 4L - id: "4F43F136444B502A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:compressed_coke_clay" - } - type: "item" - }] - x: 30.5d - y: 9.0d - } - { - dependencies: ["1AD820EAE686FAAB"] - id: "712ACF130A558150" - tasks: [{ - count: 4L - id: "6ADC8C7254F179F6" - item: "gtceu:coke_oven_brick" - type: "item" - }] - x: 28.5d - y: 9.0d - } - { - dependencies: ["6E24ECF6CEE950D1"] - id: "5157705DAAC2C814" - tasks: [{ - count: 64L - id: "4F14DCBCEAE4C14D" - item: "tfc:mortar" - type: "item" - }] - x: 16.5d - y: 4.5d - } - { - dependencies: ["4F5C883CC5282151"] - id: "6E24ECF6CEE950D1" - size: 2.0d - tasks: [{ - id: "0CC93715D33E6211" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:barrels)" - } - } - title: "Any Barrels" - type: "item" - }] - x: 16.5d - y: -8.5d - } - { - dependencies: ["06C7B7138EDE4B38"] - hide_dependency_lines: true - id: "0AA2FEB9F4FFC4FE" - tasks: [{ - id: "1BFBA1DC92466F7E" - item: "gtceu:brick_wooden_form" - type: "item" - }] - x: 32.5d - y: 9.0d - } - { - dependencies: [ - "25E35E929922B872" - "712ACF130A558150" - ] - id: "3E82C14AF32AA103" - size: 2.0d - tasks: [ - { - id: "101D5A6CD018C6E8" - item: "gtceu:coke_oven" - type: "item" - } - { - id: "118D7D21694E2A5A" - item: "gtceu:coke_oven_hatch" - type: "item" - } - { - count: 25L - id: "6B61EDC7E4E460EF" - item: "gtceu:coke_oven_bricks" - type: "item" - } - ] - x: 28.5d - y: 11.0d - } - { - dependencies: [ - "6BFD0EF0AA74F136" - "4A1690ADC239300D" - "390C85E831B2B8A4" - "50E70601ABB5A40C" - ] - id: "460D944D0070C3AE" - size: 2.0d - tasks: [{ - id: "570752C82CA140BF" - item: "tfc:blast_furnace" - type: "item" - }] - x: 22.5d - y: 6.5d - } - { - dependencies: ["6C4DD58DE6015FD7"] - id: "4B8BAB2494C82C36" - tasks: [{ - id: "28E92E097D56A46F" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:copper_saw)item(gtceu:bismuth_bronze_saw)item(gtceu:bronze_saw)item(gtceu:black_bronze_saw))" - } - } - match_nbt: false - title: "Copper or bronze saw" - type: "item" - }] - x: 8.0d - y: 12.5d - } - { - dependencies: ["78DEFFC621068E18"] - id: "51E7834A52F80482" - tasks: [{ - id: "25CB975568D50B66" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:metal/propick/copper)item(tfc:metal/propick/bismuth_bronze)item(tfc:metal/propick/bronze)item(tfc:metal/propick/black_bronze))" - } - } - match_nbt: false - title: "Copper or bronze propick" - type: "item" - }] - x: 8.0d - y: 15.5d - } - { - dependencies: ["7E98FD623005E4CA"] - id: "3830E24B66F59E76" - tasks: [{ - id: "730D12AD7644BC1B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:copper_hammer)item(gtceu:bismuth_bronze_hammer)item(gtceu:bronze_hammer)item(gtceu:black_bronze_hammer))" - } - } - match_nbt: false - title: "A copper or bronze axe" - type: "item" - }] - x: 12.0d - y: 17.5d - } - { - dependencies: [ - "120E5C0E43EC756B" - "3830E24B66F59E76" - ] - dependency_requirement: "one_completed" - description: [ - "To make a stone anvil, you have to click on the top of the stone with a hammer" - "" - "(you need to use igneous Intrusive stone)" - ] - id: "169485270E86A50C" - tasks: [{ - icon: "tfc:rock/raw/andesite" - id: "028DBFDDC00B9949" - observe_type: 1 - timer: 0L - title: "Make Rock Anvil" - to_observe: "#tfc:rock_anvils" - type: "observation" - }] - x: 13.5d - y: 18.5d - } - { - dependencies: [ - "6EFCFEF4EDFBB71E" - "73BF0075860E666B" - ] - id: "7A266A3E0A632D42" - tasks: [{ - id: "6493AF96E8B38197" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "minecraft:copper_ingot" - } - type: "item" - }] - x: 16.5d - y: 16.5d - } - { - dependencies: [ - "7A266A3E0A632D42" - "169485270E86A50C" - ] - description: ["To make welding craft on an anvil, you need to take a hammer in your leading hand and press shift+rmb on the anvil"] - id: "5EBFCE37D727DFD0" - tasks: [{ - count: 7L - id: "5EB6E32F50CC86A9" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:copper_double_ingot" - } - type: "item" - }] - x: 16.5d - y: 18.5d - } - { - dependencies: [ - "6EFCFEF4EDFBB71E" - "69B4B677A27121CF" - "2DEEDED2F21E60B9" - "515141734CA1A002" - ] - dependency_requirement: "one_completed" - id: "1FFE279F43B0BA45" - shape: "gear" - tasks: [{ - id: "7A8EA2BE9813B1F1" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bronze_ingot)item(gtceu:black_bronze_ingot)item(gtceu:bismuth_bronze_ingot))" - } - } - title: "Any bronze ingot" - type: "item" - }] - x: 18.5d - y: 16.5d - } - { - dependencies: [ - "6EFCFEF4EDFBB71E" - "566FA805413004CF" - "18E2972322AD572E" - ] - id: "2E3F6613C490E9AD" - tasks: [{ - id: "05E9758EC5493B4C" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:wrought_iron_ingot" - } - type: "item" - }] - x: 22.5d - y: 16.5d - } - { - dependencies: [ - "6EFCFEF4EDFBB71E" - "2EF3E77C3CDA06AE" - ] - id: "4CDE17A99074ADE2" - tasks: [{ - id: "7CE0990FF2F83BD0" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:steel_ingot" - } - type: "item" - }] - x: 24.5d - y: 16.5d - } - { - dependencies: [ - "6EFCFEF4EDFBB71E" - "6BAF04F28F4153A1" - ] - id: "688799FCA2C83FBF" - tasks: [{ - id: "36EFEF0DC6BB7637" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:black_steel_ingot" - } - type: "item" - }] - x: 28.5d - y: 16.5d - } - { - dependencies: ["2E3F6613C490E9AD"] - id: "474BC62CB10811FA" - tasks: [{ - count: 7L - id: "6490BC5114D7AE13" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:wrought_iron_double_ingot" - } - type: "item" - }] - x: 22.5d - y: 14.0d - } - { - dependencies: ["4CDE17A99074ADE2"] - id: "76A8181B6F9331B9" - tasks: [{ - count: 7L - id: "523ACBC9B5E4B287" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:steel_double_ingot" - } - type: "item" - }] - x: 24.5d - y: 18.5d - } - { - dependencies: ["688799FCA2C83FBF"] - id: "2A181CB1C187FD0E" - tasks: [{ - count: 7L - id: "59B217DB0BCADB82" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:black_steel_double_ingot" - } - type: "item" - }] - x: 28.5d - y: 18.5d - } - { - dependencies: ["1FFE279F43B0BA45"] - id: "43C737BF10D3AC0E" - tasks: [{ - id: "06B99CF0B7120D13" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bismuth_bronze_double_ingot)item(gtceu:bronze_double_ingot)item(gtceu:black_bronze_double_ingot))" - } - } - title: "Double ingots of any Bronze" - type: "item" - }] - x: 18.5d - y: 18.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "73BF0075860E666B" - tasks: [{ - id: "54334DA4AC22438E" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" - } - } - title: "Any Copper Ore" - type: "item" - }] - x: 16.5d - y: 15.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:bronze_dust" - } - id: "2DEEDED2F21E60B9" - tasks: [ - { - id: "024533C5E4B89787" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any tin ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_cassiterite)item(gtceu:raw_tin)item(gtceu:raw_cassiterite)item(gtceu:raw_cassiterite_sand)item(gtceu:poor_raw_tin)item(gtceu:poor_raw_cassiterite)item(gtceu:poor_raw_cassiterite_sand)item(gtceu:rich_raw_tin)item(gtceu:rich_raw_cassiterite)item(gtceu:rich_raw_cassiterite_sand))" - } - } - title: "Any Tin Ore" - type: "item" - } - { - id: "26C207A03F30FB27" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - ] - title: "Resources for ordinary bronze" - x: 18.5d - y: 14.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "566FA805413004CF" - tasks: [{ - id: "7E987D9B30125F52" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_hematite)item(gtceu:raw_hematite)item(tfc:ore/small_hematite)item(gtceu:poor_raw_hematite)item(gtceu:rich_raw_yellow_limonite)item(tfc:ore/small_limonite)item(gtceu:poor_raw_yellow_limonite)item(gtceu:raw_yellow_limonite)item(tfc:ore/small_magnetite)item(gtceu:poor_raw_magnetite)item(gtceu:raw_magnetite)item(gtceu:rich_raw_magnetite)item(gtceu:poor_raw_iron)item(minecraft:raw_iron)item(gtceu:rich_raw_iron)item(gtceu:poor_raw_goethite)item(gtceu:raw_goethite)item(gtceu:rich_raw_goethite)item(gtceu:poor_raw_pyrite)item(gtceu:raw_pyrite)item(gtceu:rich_raw_pyrite)item(gtceu:crushed_yellow_limonite_ore))" - } - } - title: "Any Iron Ore" - type: "item" - }] - x: 22.5d - y: 18.5d - } - { - dependencies: ["6564CC704664FE81"] - id: "0006D60580FCA6B7" - tasks: [{ - id: "31AB0A3C7212977B" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/knife_blade_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 23.0d - } - { - dependencies: ["095104BA3C842978"] - id: "25E35E929922B872" - tasks: [{ - id: "7D178601494C202F" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:wrought_iron_plate" - } - type: "item" - }] - x: 26.5d - y: 11.0d - } - { - dependencies: ["4504EBE720145441"] - id: "18E2972322AD572E" - tasks: [{ - id: "07DF6C37860ADD9E" - item: "tfc:bloomery" - type: "item" - }] - x: 20.5d - y: 18.5d - } - { - dependencies: ["15E8DFB91603906B"] - id: "14FAFEA0762154C8" - tasks: [{ - id: "0126B69CF40759CA" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:dyes)" - } - } - title: "Any Dyes" - type: "item" - }] - x: 14.0d - y: 14.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:bismuth_bronze_dust" - } - id: "515141734CA1A002" - subtitle: "Cheap and shiny" - tasks: [ - { - id: "7EBB6EC50EE8CFA1" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any bismuth ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_bismuthinite)item(gtceu:raw_bismuth)item(gtceu:poor_raw_bismuth)item(gtceu:rich_raw_bismuth))" - } - } - title: "Any Bismuth Ore" - type: "item" - } - { - id: "51BEF595B2A3014C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any sphalerite ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" - } - } - title: "Any Sphalerite Ore" - type: "item" - } - { - id: "74F88351793C165A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - ] - title: "Resources for Bismuth bronze" - x: 18.5d - y: 15.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:black_bronze_dust" - } - id: "69B4B677A27121CF" - subtitle: "Expensive and black" - tasks: [ - { - id: "1294B28A98775920" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any silver ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:poor_raw_silver)item(gtceu:rich_raw_silver)item(gtceu:raw_silver))" - } - } - title: "Any Silver Ore" - type: "item" - } - { - id: "53F7A77859F53B3D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - { - id: "755505207091F3E2" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(gtceu:rich_raw_gold)item(gtceu:poor_raw_gold)item(tfc:ore/small_native_gold))" - } - } - title: "Any Gold Ore" - type: "item" - } - ] - title: "Resources for Black Bronze" - x: 18.5d - y: 13.0d - } - { - dependencies: ["4F4114979CB5CA03"] - id: "0CB5D5A3FF258C2C" - tasks: [{ - id: "13D08E8EA04659F0" - item: "tfc:ceramic/large_vessel" - type: "item" - }] - x: -9.0d - y: 22.0d - } - { - dependencies: ["37D08CB9359AAD0D"] - id: "645D1F1C55674079" - tasks: [{ - id: "5BD053FC7A395E87" - item: "tfc:pan/empty" - type: "item" - }] - x: -9.0d - y: 21.0d - } - { - dependencies: ["5B6A93CACD743E03"] - id: "4B5609ADA167EF65" - tasks: [{ - id: "50C9808E69958D2E" - item: "minecraft:flower_pot" - type: "item" - }] - x: -9.0d - y: 20.0d - } - { - dependencies: ["1D60D48F8B91D0E0"] - id: "245241812B8A125A" - tasks: [{ - id: "5BF0AE970A14403F" - item: "tfc:ceramic/bowl" - type: "item" - }] - x: -9.0d - y: 19.0d - } - { - dependencies: ["4F5C883CC5282151"] - id: "3D775FAB15E65046" - tasks: [{ - id: "607994BEE87AF0BA" - item: "minecraft:bowl" - type: "item" - }] - x: 10.5d - y: 4.0d - } - { - dependencies: ["3B2261F507B53EDC"] - id: "6CA1156138DDBB87" - tasks: [{ - id: "0E4CF40332113E7C" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/hoe_head_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 18.0d - } - { - dependencies: ["4038DD635065F5BD"] - id: "48C6511271D0A92B" - tasks: [{ - id: "6FB7FE40C788F24B" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/scythe_blade_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 17.0d - } - { - dependencies: ["5FDE584FDC695E6B"] - id: "6EE2DE4CC361E610" - tasks: [{ - id: "21FF8E20FE64F87A" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/mace_head_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 16.0d - } - { - dependencies: ["5046918F09DC9AE8"] - id: "56ECE9EF79EF554C" - tasks: [{ - id: "2E08B9C22F3D7B0E" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/javelin_head_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 15.0d - } - { - dependencies: ["369D8DA6CB6FE181"] - id: "07791DB794470ACF" - tasks: [{ - id: "7508240046289642" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/shovel_head_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 14.0d - } - { - dependencies: ["7AE1B17F8F954E69"] - id: "598FEC668DB77423" - tasks: [{ - id: "70D15B063F22CD98" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/bell_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 13.0d - } - { - dependencies: ["1551AB73122D79BC"] - id: "51F4F8B0BEF6F7EE" - tasks: [{ - id: "7A4E17F7DD605A9E" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/sword_blade_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 12.0d - } - { - dependencies: ["37D6DD778879CF23"] - id: "4D7DEF827C6EF646" - tasks: [{ - id: "1B07BBCD49CB41CD" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/axe_head_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 11.0d - } - { - dependencies: ["38058B5408BFD0C2"] - id: "2765DB2E20A745F8" - tasks: [{ - id: "3E84976D6C8AB0EA" - item: "tfc:ceramic_blowpipe" - match_nbt: false - type: "item" - }] - x: -6.0d - y: 7.5d - } - { - dependencies: ["2765DB2E20A745F8"] - description: ["{quests.478D0DF94D7495EF.d1}"] - id: "478D0DF94D7495EF" - subtitle: "{quests.478D0DF94D7495EF.st}" - tasks: [{ - id: "19D772A3B1F41323" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:glass)" - } - } - title: "{quests.478D0DF94D7495EF.t1}" - type: "item" - }] - x: -4.0d - y: 6.5d - } - { - dependencies: ["4BB76F3E38A2AFFB"] - id: "70B6D235B47288B4" - tasks: [{ - id: "4641D6A5C6FEC1CF" - item: "tfc:ceramic/pot" - type: "item" - }] - x: 0.0d - y: 9.0d - } - { - dependencies: [ - "7C3F180555E12A88" - "37034449C5583151" - "70B6D235B47288B4" - ] - id: "6E13B0241CB1D536" - size: 2.0d - subtitle: "Did you think we would force you to use treetaps...?" - tasks: [{ - id: "44C1C7857D5E60D7" - item: "gtceu:sticky_resin" - type: "item" - }] - x: 5.0d - y: 9.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "3CE7C64290BADE9F" - size: 1.5d - tasks: [{ - icon: "tfc:wood/log/kapok" - id: "33278CA851060438" - observe_type: 1 - timer: 0L - title: "Find the tree: Kapok" - to_observe: "tfc:kapok_logs" - type: "observation" - }] - x: 0.0d - y: 7.5d - } - { - dependencies: ["3CE7C64290BADE9F"] - id: "6D34C97EA8A09223" - tasks: [{ - id: "2BA6C9F89AF196C8" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "treetap:tap" - } - type: "item" - }] - x: 1.5d - y: 7.0d - } - { - dependencies: [ - "463F14478757D8E8" - "6D34C97EA8A09223" - ] - id: "7C3F180555E12A88" - tasks: [{ - id: "4DB6481F8CA18725" - item: { - Count: 1 - id: "tfc:wooden_bucket" - tag: { - fluid: { - Amount: 1000 - FluidName: "tfg:latex" - } - } - } - match_nbt: true - type: "item" - }] - x: 3.0d - y: 7.5d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "5BBF0B6AED98072E" - tasks: [{ - id: "0D09463BB351AC9C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:glass_panes)" - } - } - title: "Any Glass Panes" - type: "item" - }] - x: -4.0d - y: 7.5d - } - { - dependencies: ["645D1F1C55674079"] - id: "4CD7FDA83B07AE22" - size: 1.5d - tasks: [{ - id: "1B60EBE483C770FF" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:ore_deposits)" - } - } - title: "Any Ore Deposits" - type: "item" - }] - x: -11.0d - y: 21.0d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "370D5A954DCBFD34" - tasks: [{ - id: "5D1224E1DF6E68BC" - item: "tfc:lens" - type: "item" - }] - x: -6.0d - y: 5.5d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "1C0F2765DF1B5C87" - tasks: [{ - id: "1EE0A271B94ACAA0" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:glass_bottles)" - } - } - title: "Any Glass Bottles" - type: "item" - }] - x: -7.5d - y: 7.5d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "6046F7F26FD4C211" - tasks: [{ - id: "500BF56DE086107E" - item: "tfc:empty_jar" - type: "item" - }] - x: -7.0d - y: 5.5d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "17C487CFAE48B01B" - tasks: [{ - id: "3A23979846A39A53" - item: "tfc:lamp_glass" - type: "item" - }] - x: -7.5d - y: 8.5d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "11C979E4259CDA45" - tasks: [{ - id: "40DD2FEBD1C6EC31" - item: "firmalife:reinforced_glass" - type: "item" - }] - x: -4.0d - y: 8.5d - } - { - dependencies: ["370D5A954DCBFD34"] - id: "70814114EF197414" - tasks: [{ - id: "152BB23D954315F0" - item: "firmaciv:firmaciv_compass" - type: "item" - }] - x: -6.5d - y: 4.0d - } - { - dependencies: ["370D5A954DCBFD34"] - id: "7426983EBC6002F6" - tasks: [{ - id: "3A5DF1FBEBFB2473" - item: "minecraft:spyglass" - type: "item" - }] - x: -5.5d - y: 4.0d - } - { - dependencies: ["17C487CFAE48B01B"] - id: "60984D79C839BDE2" - tasks: [{ - id: "1BFBF95B7BEAA370" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:lamps)" - } - } - title: "Any Lamps" - type: "item" - }] - x: -9.0d - y: 8.5d - } - { - dependencies: [ - "3CE7C64290BADE9F" - "4B8BAB2494C82C36" - ] - id: "463F14478757D8E8" - tasks: [{ - id: "5930A278D214573B" - item: "tfc:wooden_bucket" - match_nbt: false - type: "item" - }] - x: 1.5d - y: 8.0d - } - { - dependencies: [ - "253860AD4DF4224C" - "15E8DFB91603906B" - ] - id: "37034449C5583151" - tasks: [{ - id: "65C9755F4CB3A287" - item: "tfc:powder/sulfur" - type: "item" - }] - x: 10.5d - y: 9.0d - } - { - dependencies: ["0EB682B44D83D12A"] - hide_dependency_lines: true - id: "253860AD4DF4224C" - tasks: [{ - id: "6E70D453F693036D" - item: "gtceu:crushed_sulfur_ore" - type: "item" - }] - x: 10.5d - y: 7.5d - } - { - dependencies: ["095104BA3C842978"] - id: "50E70601ABB5A40C" - tasks: [{ - id: "40F8D7AFB08F80D7" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:double_wrought_iron_plate" - } - type: "item" - }] - x: 22.5d - y: 8.5d - } - { - dependencies: ["5A3E944192851481"] - id: "4504EBE720145441" - tasks: [{ - count: 8L - id: "262D71606A86F023" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:double_sheets/any_bronze)" - } - } - title: "Any Bronze Double Plates" - type: "item" - }] - x: 20.5d - y: 20.0d - } - { - dependencies: [ - "0A5D47D74F841FFE" - "24FBEFECE4BA6899" - ] - id: "1BA0A6A06A37EC81" - size: 3.0d - tasks: [{ - id: "14FACDCDCCC7A916" - item: "minecraft:bucket" - type: "item" - }] - x: 44.0d - y: 16.0d - } - { - dependencies: ["4307F49F7BE46863"] - id: "0A5D47D74F841FFE" - size: 2.0d - tasks: [{ - id: "6C695F8BF1AD660F" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/bucket/red_steel" - } - type: "item" - }] - x: 41.0d - y: 14.5d - } - { - dependencies: ["32EFAF9DD97AC387"] - id: "24FBEFECE4BA6899" - size: 2.0d - tasks: [{ - id: "25AA212ADC5A71A6" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/bucket/blue_steel" - } - type: "item" - }] - x: 41.0d - y: 18.0d - } - { - dependencies: ["460D944D0070C3AE"] - id: "1F33E1E5FAFDD5A1" - tasks: [{ - id: "537CD0EEF5A7CFAF" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/pig_iron" - } - type: "item" - }] - x: 24.5d - y: 6.5d - } - { - dependencies: ["1F33E1E5FAFDD5A1"] - id: "2EF3E77C3CDA06AE" - tasks: [{ - id: "0889E2054105C782" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/high_carbon_steel" - } - type: "item" - }] - x: 24.5d - y: 14.0d - } - { - dependencies: [ - "4CDE17A99074ADE2" - "27AC71D2454EF0FC" - "6EFCFEF4EDFBB71E" - ] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_steel" - } - id: "6BAF04F28F4153A1" - tasks: [ - { - id: "79A36E758132D64C" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_steel" - } - type: "item" - } - { - id: "48A6F6C306A1FDC1" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/pig_iron" - } - type: "item" - } - ] - x: 26.5d - y: 16.5d - } - { - dependencies: [ - "0EB682B44D83D12A" - "1FFE279F43B0BA45" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:nickel_dust" - } - id: "27AC71D2454EF0FC" - tasks: [ - { - id: "4433C1C9D816AD13" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:black_bronze_ingot" - } - type: "item" - } - { - id: "305EFF0F0ECD2E16" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Nickel Ore\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:raw_nickel)item(gtceu:raw_garnierite)item(gtceu:raw_pentlandite)item(gtceu:rich_raw_nickel)item(gtceu:rich_raw_garnierite)item(gtceu:rich_raw_pentlandite)item(gtceu:poor_raw_nickel)item(gtceu:poor_raw_garnierite)item(gtceu:poor_raw_pentlandite))" - } - } - title: "Any Nickel Ore" - type: "item" - } - ] - x: 26.5d - y: 14.0d - } - { - dependencies: ["06C62B63E81ACA3A"] - id: "32B56CE2EED9E237" - tasks: [{ - id: "0C28F63E10B0FF53" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:red_steel_ingot" - } - type: "item" - }] - x: 33.5d - y: 14.5d - } - { - dependencies: ["4F0E2C231AA63BB9"] - id: "159F9D956BB2578B" - tasks: [{ - id: "54DAC2F8584DE8A0" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:blue_steel_ingot" - } - type: "item" - }] - x: 33.5d - y: 18.0d - } - { - dependencies: ["32B56CE2EED9E237"] - id: "1FCCE634F644AE61" - tasks: [{ - count: 7L - id: "01D77B3A73A693A6" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:red_steel_double_ingot" - } - type: "item" - }] - x: 35.0d - y: 14.5d - } - { - dependencies: ["159F9D956BB2578B"] - id: "6069CE93C1D1197C" - tasks: [{ - count: 7L - id: "640895BC7A01C685" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:blue_steel_double_ingot" - } - type: "item" - }] - x: 35.0d - y: 18.0d - } - { - dependencies: [ - "1FCCE634F644AE61" - "6069CE93C1D1197C" - ] - dependency_requirement: "one_completed" - id: "1D19FFD228A4951F" - size: 2.0d - tasks: [{ - id: "0CA421EA60D850F6" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:metal/anvil/blue_steel)item(tfc:metal/anvil/red_steel))" - } - } - title: "Any Anvil of 6 Tier" - type: "item" - }] - x: 37.0d - y: 16.0d - } - { - dependencies: ["1D19FFD228A4951F"] - id: "32EFAF9DD97AC387" - tasks: [{ - id: "52FC94E909B16B77" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:blue_steel_plate" - } - type: "item" - }] - x: 39.0d - y: 18.0d - } - { - dependencies: ["1D19FFD228A4951F"] - id: "4307F49F7BE46863" - tasks: [{ - id: "2F79F1596417EAF4" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:red_steel_plate" - } - type: "item" - }] - x: 39.0d - y: 14.5d - } - { - dependencies: ["1C3E72B84AF7C13A"] - id: "06C62B63E81ACA3A" - tasks: [{ - id: "63A236D7475FB9E5" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/high_carbon_red_steel" - } - type: "item" - }] - x: 32.0d - y: 14.5d - } - { - dependencies: ["510827EC0C6AB4EE"] - id: "4F0E2C231AA63BB9" - tasks: [{ - id: "46B1590B1988E0AA" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/high_carbon_blue_steel" - } - type: "item" - }] - x: 32.0d - y: 18.0d - } - { - dependencies: [ - "688799FCA2C83FBF" - "3F22B645928A5D36" - "06F1724135B11DDF" - ] - id: "1C3E72B84AF7C13A" - tasks: [{ - id: "35F1B208A0D51148" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_red_steel" - } - type: "item" - }] - x: 30.5d - y: 15.5d - } - { - dependencies: [ - "688799FCA2C83FBF" - "5B2E14BD237A35A3" - ] - id: "510827EC0C6AB4EE" - tasks: [{ - id: "1E7331DE0C534612" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_blue_steel" - } - type: "item" - }] - x: 30.5d - y: 17.0d - } - { - dependencies: ["758B2176634789F6"] - id: "06F1724135B11DDF" - tasks: [{ - id: "348CC201F9D3211C" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:brass_ingot" - } - type: "item" - }] - x: 31.0d - y: 14.0d - } - { - dependencies: ["483D7FE6554FDC96"] - id: "3F22B645928A5D36" - tasks: [{ - id: "5B7CE32CA4276722" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:rose_gold_ingot" - } - type: "item" - }] - x: 30.0d - y: 14.0d - } - { - dependencies: ["0E0C589495AA31E8"] - id: "5B2E14BD237A35A3" - tasks: [{ - id: "1F5CD5DBE6D75E7A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:sterling_silver_ingot" - } - type: "item" - }] - x: 30.5d - y: 18.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:rose_gold_dust" - } - id: "483D7FE6554FDC96" - tasks: [ - { - id: "184806817B6D9921" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(minecraft:raw_gold)item(gtceu:rich_raw_gold))" - } - } - title: "Any Gold Ore" - type: "item" - } - { - id: "3101B42F9E34CDA1" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - ] - title: "Materials for Rose Gold" - x: 30.0d - y: 13.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:brass_dust" - } - id: "758B2176634789F6" - tasks: [ - { - id: "763128F1BD1FEB9B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any sphalerite ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" - } - } - title: "Any Sphalerite Ore" - type: "item" - } - { - id: "34F5CDD35DDE2295" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - ] - title: "Materials for Brass" - x: 31.0d - y: 13.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:sterling_silver_dust" - } - id: "0E0C589495AA31E8" - tasks: [ - { - id: "3E9AC72D1AF2CE1A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any silver ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:poor_raw_silver)item(gtceu:rich_raw_silver)item(gtceu:raw_silver))" - } - } - title: "Any Silver Ore" - type: "item" - } - { - id: "4E12D679975AEE9A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" - } - } - title: "Any Copper Ore" - type: "item" - } - ] - title: "Materials for Sterling Silver" - x: 30.5d - y: 19.5d - } - { - dependencies: ["644D51EEF0A5641E"] - id: "6BBB162F1035BC83" - tasks: [{ - count: 4L - id: "5955D55A629EB9CA" - item: "tfc:alabaster_brick" - type: "item" - }] - x: 9.5d - y: 6.5d - } - { - dependencies: [ - "5157705DAAC2C814" - "6BBB162F1035BC83" - ] - id: "0A341EF6883561D9" - tasks: [{ - id: "415C7A5D0ABBBB3C" - item: "tfc:alabaster/bricks" - type: "item" - }] - x: 12.0d - y: 4.5d - } - { - dependencies: ["7A266A3E0A632D42"] - hide_dependency_lines: true - id: "4A1690ADC239300D" - tasks: [{ - id: "0606E0C9495E1A59" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:tuyeres)" - } - } - match_nbt: false - title: "Any Tuyeres" - type: "item" - }] - x: 22.5d - y: 4.5d - } - { - dependencies: ["4B8BAB2494C82C36"] - id: "3CEA1756725CF02D" - tasks: [{ - count: 16L - id: "3A134909F4B25CAE" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:support_beams)" - } - } - title: "Any Support" - type: "item" - }] - x: 13.0d - y: 12.5d - } - { - dependencies: ["4F5C883CC5282151"] - id: "147911B5CA3A7DD8" - tasks: [{ - id: "3E96D38D538B5A5D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:looms)" - } - } - title: "Any Loom" - type: "item" - }] - x: 13.0d - y: 3.0d - } - { - dependencies: [ - "7E8F9F6F35614B13" - "25C1C646790CFB6E" - ] - dependency_requirement: "one_completed" - id: "2658E7679CD42ACD" - tasks: [{ - id: "5D95FC92B930ACC0" - item: "minecraft:paper" - type: "item" - }] - x: 21.5d - y: 3.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "0D47455ABB97C81D" - tasks: [{ - id: "3A90FF5E36D0ACF8" - item: "tfc:papyrus" - type: "item" - }] - x: 23.5d - y: -3.5d - } - { - dependencies: ["0D47455ABB97C81D"] - id: "195C0979480DB5B5" - tasks: [{ - id: "4FF48A0BE471DEE3" - item: "tfc:papyrus_strip" - type: "item" - }] - x: 23.5d - y: -1.0d - } - { - dependencies: [ - "6E24ECF6CEE950D1" - "195C0979480DB5B5" - ] - id: "6F769ABFCA894E24" - tasks: [{ - id: "2C900A7A96A61FF2" - item: "tfc:soaked_papyrus_strip" - type: "item" - }] - x: 19.5d - y: -1.0d - } - { - dependencies: [ - "147911B5CA3A7DD8" - "6F769ABFCA894E24" - "0F9BE65A65F9CF4D" - ] - dependency_requirement: "one_completed" - description: ["You can either use 4 Papyrus Strips in a Loom, or Dry a Soaked Unrefined Paper in a Drying Mat"] - id: "7E8F9F6F35614B13" - tasks: [{ - id: "2677C234ED0D56FF" - item: "tfc:unrefined_paper" - type: "item" - }] - x: 19.5d - y: 3.0d - } - { - dependencies: [ - "42FD437930CA74C7" - "2658E7679CD42ACD" - "593CC9165759B714" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - id: "5346CD3039C4B55A" - tasks: [{ - id: "3634DBCEBC5306F4" - item: "minecraft:map" - type: "item" - }] - x: 21.0d - y: -3.5d - } - { - dependencies: ["2658E7679CD42ACD"] - id: "1E1A13F6B8D24207" - tasks: [{ - id: "040477E95932FAC8" - item: "minecraft:name_tag" - type: "item" - }] - x: 23.5d - y: 3.0d - } - { - dependencies: [ - "2658E7679CD42ACD" - "42FD437930CA74C7" - "593CC9165759B714" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - id: "20F878A238471ED7" - tasks: [{ - id: "33347A566327E820" - item: "minecraft:book" - type: "item" - }] - x: 22.0d - y: -4.5d - } - { - dependencies: ["45D907EF7902A200"] - id: "27DA5AAB102611A2" - subtitle: "{quests.27DA5AAB102611A2.st}" - tasks: [{ - id: "5F944342D5C4195B" - item: { - Count: 1 - id: "tfcambiental:straw_hat" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 3.5d - y: 3.0d - } - { - dependencies: [ - "6E24ECF6CEE950D1" - "05C53EAAFCA780B4" - ] - id: "42FD437930CA74C7" - tasks: [{ - id: "0A5EC3144D038A37" - item: "minecraft:leather" - type: "item" - }] - x: 13.5d - y: -6.0d - } - { - dependencies: [ - "3FF7A081DF360DDF" - "147911B5CA3A7DD8" - ] - id: "593CC9165759B714" - tasks: [{ - id: "1F0B9004170C5CBD" - item: "firmalife:pineapple_leather" - type: "item" - }] - x: 12.5d - y: 0.0d - } - { - dependencies: [ - "0988DE53C9217CE6" - "6E24ECF6CEE950D1" - ] - id: "05C53EAAFCA780B4" - tasks: [{ - id: "2C29795E14F3C008" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:prepared_hides)" - } - } - title: "Any Prepared Hide" - type: "item" - }] - x: 6.5d - y: -7.0d - } - { - dependencies: [ - "5D0BA3647DAC9FC3" - "06C7B7138EDE4B38" - ] - id: "0988DE53C9217CE6" - tasks: [{ - id: "2EA9AB18C7A79409" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:scraped_hides)" - } - } - title: "Any Scraped Hide" - type: "item" - }] - x: 5.0d - y: -7.0d - } - { - dependencies: [ - "6E24ECF6CEE950D1" - "20DD59D97629F911" - ] - id: "5D0BA3647DAC9FC3" - tasks: [{ - id: "32617E98CE91FDEF" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:soaked_hides)" - } - } - title: "Any Soaked Hides" - type: "item" - }] - x: 5.0d - y: -8.5d - } - { - dependencies: [ - "76EF4D00586A8B74" - "0E5EFAEF4FC0C6FD" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - id: "20DD59D97629F911" - tasks: [{ - id: "69C31B73DF761B58" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:raw_hides)" - } - } - title: "Any Raw Hides" - type: "item" - }] - x: 3.5d - y: -8.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "0E5EFAEF4FC0C6FD" - tasks: [{ - id: "20EB604378FA0807" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:sheepskin_hides)" - } - } - title: "Any Sheepskin Hides" - type: "item" - }] - x: 8.0d - y: 0.0d - } - { - dependencies: [ - "0A6AADCDD2A635EC" - "147911B5CA3A7DD8" - ] - id: "314212B496B2D3C3" - tasks: [{ - id: "2E70F72F0CE2CF36" - item: "tfc:silk_cloth" - type: "item" - }] - x: 14.5d - y: 0.0d - } - { - dependencies: [ - "55FC54011FA3CB0B" - "147911B5CA3A7DD8" - ] - id: "4E37B4C1A68FFE59" - tasks: [{ - id: "398F5736EF244DEB" - item: "tfc:burlap_cloth" - type: "item" - }] - x: 13.5d - y: 0.0d - } - { - dependencies: [ - "6BC4DB9BEE8E6640" - "147911B5CA3A7DD8" - ] - id: "665BC6BB76CE0EA3" - tasks: [{ - count: 4L - id: "27B7CD3F7AEF6CCA" - item: "tfc:wool_cloth" - type: "item" - }] - x: 11.5d - y: 0.0d - } - { - dependencies: ["665BC6BB76CE0EA3"] - id: "35F316301C475302" - tasks: [{ - count: 8L - id: "3B8D2051DC0792E5" - item: "minecraft:white_wool" - type: "item" - }] - x: 11.0d - y: 2.0d - } - { - dependencies: [ - "0E5EFAEF4FC0C6FD" - "06C7B7138EDE4B38" - ] - id: "42B0AF008FFE3F48" - tasks: [{ - id: "1CDCB41630875DC5" - item: "tfc:wool" - type: "item" - }] - x: 6.5d - y: -1.5d - } - { - dependencies: ["0546B04FC0F85C8C"] - hide_dependent_lines: true - id: "5B9E3FCFA11BB275" - tasks: [{ - id: "64D9B70849F6176A" - item: { - Count: 1 - id: "tfc:spindle" - tag: { - Damage: 0 - } - } - match_nbt: false - type: "item" - }] - x: -1.5d - y: 23.0d - } - { - dependencies: [ - "42B0AF008FFE3F48" - "5B9E3FCFA11BB275" - ] - id: "6BC4DB9BEE8E6640" - tasks: [{ - count: 16L - id: "471F8DF182B967E4" - item: "tfc:wool_yarn" - type: "item" - }] - x: 8.0d - y: -1.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "56E985CAC2E08785" - tasks: [{ - id: "32068C359E9916DD" - item: "tfc:jute" - type: "item" - }] - x: 19.5d - y: -4.0d - } - { - dependencies: [ - "6E24ECF6CEE950D1" - "56E985CAC2E08785" - ] - id: "55FC54011FA3CB0B" - tasks: [{ - count: 12L - id: "247B795897DEAD16" - item: "tfc:jute_fiber" - type: "item" - }] - x: 15.0d - y: -4.0d - } - { - dependencies: [ - "4E37B4C1A68FFE59" - "095104BA3C842978" - ] - id: "6A4FB96DB86D6CAB" - size: 1.5d - tasks: [{ - id: "1500208D4CBDD15A" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "waterflasks:iron_flask" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 19.5d - y: 4.5d - } - { - dependencies: ["4E37B4C1A68FFE59"] - id: "788103BCA370A39E" - tasks: [ - { - id: "39EB804E4B7FC490" - item: { - Count: 1 - id: "tfcambiental:burlap_cowl" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "719810851FA5EFE6" - item: { - Count: 1 - id: "tfcambiental:burlap_shirt" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "62BBC7A8EDA7A4C5" - item: { - Count: 1 - id: "tfcambiental:burlap_pants" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "178A66BEB7E191E1" - item: { - Count: 1 - id: "tfcambiental:burlap_shoes" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - x: 15.5d - y: -2.5d - } - { - dependencies: ["4E37B4C1A68FFE59"] - id: "23E44778FCDE781A" - tasks: [ - { - id: "774D01EFA53FECB1" - item: { - Count: 1 - id: "firmalife:beekeeper_helmet" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "65A217CF81AC8FD6" - item: { - Count: 1 - id: "firmalife:beekeeper_chestplate" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "1C003267F992867C" - item: { - Count: 1 - id: "firmalife:beekeeper_leggings" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "65D6BDB93F7483B5" - item: { - Count: 1 - id: "firmalife:beekeeper_boots" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - x: 15.5d - y: -1.5d - } - { - dependencies: [ - "798AEDB4DC009396" - "5B9E3FCFA11BB275" - ] - id: "3FF7A081DF360DDF" - tasks: [{ - id: "47B475261FF66E8E" - item: "firmalife:pineapple_yarn" - type: "item" - }] - x: 8.0d - y: -3.0d - } - { - dependencies: [ - "2D8BA79A54F6C352" - "06C7B7138EDE4B38" - "7BCC18E3FCE6CE38" - ] - id: "798AEDB4DC009396" - tasks: [{ - id: "0C4C55F612C6AC7C" - item: "firmalife:pineapple_fiber" - type: "item" - }] - x: 6.5d - y: -3.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "2D8BA79A54F6C352" - tasks: [{ - id: "2A2503A086F19FAC" - item: { - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: 4842000L - traits: [ ] - } - } - id: "firmalife:food/pineapple" - } - type: "item" - }] - x: 6.5d - y: -4.5d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "7BCC18E3FCE6CE38" - tasks: [{ - id: "25B194987FE9B85D" - item: "firmalife:drying_mat" - type: "item" - }] - x: 8.0d - y: -4.5d - } - { - dependencies: ["314212B496B2D3C3"] - id: "3D959ED3EA366859" - tasks: [ - { - id: "3D9D58C3CFF2AF0A" - item: { - Count: 1 - id: "tfcambiental:silk_cowl" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "180F099449E82FC0" - item: { - Count: 1 - id: "tfcambiental:silk_shirt" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "74366DE2E50A1A36" - item: { - Count: 1 - id: "tfcambiental:silk_pants" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "4F216CC704FBB28B" - item: { - Count: 1 - id: "tfcambiental:silk_shoes" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - x: 18.0d - y: 1.5d - } - { - dependencies: ["665BC6BB76CE0EA3"] - id: "6F848650CAF10E9A" - tasks: [{ - id: "4A9AB33FDB17322A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:beds)" - } - } - title: "Any Beds" - type: "item" - }] - x: 10.0d - y: 2.0d - } - { - dependencies: [ - "6BC4DB9BEE8E6640" - "3D889F02ABAFEB85" - ] - dependency_requirement: "one_completed" - id: "5D0B6CA6E0EB320B" - size: 1.5d - tasks: [ - { - id: "786C737E1798C9E5" - item: { - Count: 1 - id: "tfcambiental:insulated_leather_boots" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "1B056220F83FD83B" - item: { - Count: 1 - id: "tfcambiental:insulated_leather_pants" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "3EF69630C6A9ED0F" - item: { - Count: 1 - id: "tfcambiental:insulated_leather_tunic" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "0F57D87B84D2DFBC" - item: { - Count: 1 - id: "tfcambiental:insulated_leather_hat" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - x: 9.75d - y: -4.5d - } - { - dependencies: [ - "42FD437930CA74C7" - "593CC9165759B714" - ] - dependency_requirement: "one_completed" - id: "3D889F02ABAFEB85" - tasks: [ - { - id: "14606DAF5A6A5F37" - item: { - Count: 1 - id: "minecraft:leather_helmet" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "74D51682F729B0D1" - item: { - Count: 1 - id: "minecraft:leather_chestplate" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "00A04086241B4D4B" - item: { - Count: 1 - id: "minecraft:leather_leggings" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "263FCB75FC8D55A9" - item: { - Count: 1 - id: "minecraft:leather_boots" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "0D3CD273F67E8E3B" - item: { - Count: 1 - id: "tfcambiental:leather_apron" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - x: 11.5d - y: -5.5d - } - { - dependencies: [ - "6BC4DB9BEE8E6640" - "42FD437930CA74C7" - "593CC9165759B714" - ] - dependency_requirement: "one_completed" - id: "4A957A44753A5B84" - tasks: [{ - id: "1C2176D311281B7E" - item: { - Count: 1 - id: "waterflasks:leather_flask" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 11.0d - y: -3.5d - } - { - dependencies: ["1E1A13F6B8D24207"] - id: "4E39A32FAA011FF5" - size: 2.0d - tasks: [{ - id: "79E2F0E9233F4A86" - item: "sophisticatedbackpacks:backpack" - match_nbt: false - type: "item" - }] - x: 26.5d - y: 3.0d - } - { - dependencies: ["25E35E929922B872"] - id: "07CC118AAC67889D" - tasks: [ - { - id: "62EC0AEA77AF5C14" - item: { - Count: 1 - id: "toolbelt:belt" - tag: { } - } - match_nbt: false - type: "item" - } - { - id: "7FE573C15954DF3B" - item: "toolbelt:pouch" - type: "item" - } - ] - x: 26.5d - y: 9.0d - } - { - dependencies: [ - "42FD437930CA74C7" - "593CC9165759B714" - ] - dependency_requirement: "one_completed" - id: "51A6F6EC85D7CDF7" - size: 2.0d - tasks: [{ - id: "33B3C1F3663F5694" - item: "tfc:bellows" - type: "item" - }] - x: 13.302380952381057d - y: -2.280952380952357d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "0A6AADCDD2A635EC" - subtitle: "Kill the spiders!" - tasks: [{ - id: "6218E98E7B9F86B6" - item: "minecraft:string" - type: "item" - }] - x: 18.0d - y: 0.0d - } - { - dependencies: [ - "314212B496B2D3C3" - "665BC6BB76CE0EA3" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - id: "706F66F81DDEAA2D" - tasks: [{ - id: "59433C4042267637" - item: "minecraft:painting" - type: "item" - }] - x: 21.0d - y: -4.5d - } - { - dependencies: [ - "42FD437930CA74C7" - "593CC9165759B714" - "2658E7679CD42ACD" - ] - dependency_requirement: "one_completed" - hide_dependency_lines: true - id: "61C41D648B6BD1B1" - tasks: [{ - id: "154A263744D9BD15" - item: "minecraft:item_frame" - type: "item" - }] - x: 22.0d - y: -3.5d - } - { - dependencies: [ - "4F5C883CC5282151" - "06F1724135B11DDF" - ] - hide_dependency_lines: true - id: "3D3508CB85E24741" - tasks: [{ - id: "1305D6C4E52B055B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Wheel\"}" - } - "ftbfiltersystem:filter": "or(item_tag(tfcastikorcarts:cart_wheel))" - } - } - type: "item" - }] - x: 13.5d - y: 6.5d - } - { - dependencies: ["3D3508CB85E24741"] - id: "219306E39AD47499" - tasks: [{ - id: "74EB9E449D473FC9" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Supply Cart\"}" - } - "ftbfiltersystem:filter": "or(item_tag(tfcastikorcarts:supply_cart))" - } - } - type: "item" - }] - x: 14.5d - y: 6.5d - } - { - dependencies: ["3D3508CB85E24741"] - id: "146B900F623869B5" - tasks: [{ - id: "54A97AF79AA8E551" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Plow\"}" - } - "ftbfiltersystem:filter": "or(item_tag(tfcastikorcarts:plow))" - } - } - type: "item" - }] - x: 14.0d - y: 5.5d - } - { - dependencies: ["3D3508CB85E24741"] - id: "671C2E5239C4E644" - tasks: [{ - id: "575BC984BA6ED21C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Animal Cart\"}" - } - "ftbfiltersystem:filter": "or(item_tag(tfcastikorcarts:animal_cart))" - } - } - type: "item" - }] - x: 15.0d - y: 5.5d - } - { - dependencies: ["70D40085219B1CC2"] - id: "1A28C8439C0DEC68" - tasks: [{ - id: "586CBB50F542C2EE" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfcchannelcasting:unfired_channel" - } - type: "item" - }] - x: 15.0d - y: 11.0d - } - { - dependencies: ["70D40085219B1CC2"] - id: "5773060592E254AF" - tasks: [{ - id: "53663E2AA8284479" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfcchannelcasting:unfired_mold_table" - } - type: "item" - }] - x: 15.0d - y: 12.0d - } - { - dependencies: ["1A28C8439C0DEC68"] - id: "2E3834B5FA53CC37" - tasks: [{ - id: "487D2E3A7B940B10" - item: "tfcchannelcasting:channel" - type: "item" - }] - x: 16.5d - y: 11.0d - } - { - dependencies: ["5773060592E254AF"] - id: "4BCDA03CE74059FA" - tasks: [{ - id: "4A483474864ADD17" - item: "tfcchannelcasting:mold_table" - type: "item" - }] - x: 16.5d - y: 12.0d - } - { - dependencies: ["297996E158D0A289"] - id: "30CC45D36D640C8F" - tasks: [{ - id: "0A1674892B490462" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfcchannelcasting:unfired_heart_mold" - } - type: "item" - }] - x: -6.0d - y: 24.0d - } - { - dependencies: ["30CC45D36D640C8F"] - id: "4BC384B85E698C86" - tasks: [{ - id: "5DE11577CF333011" - item: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfcchannelcasting:heart_mold" - tag: { } - } - type: "item" - }] - x: -9.0d - y: 24.0d - } - { - dependencies: ["2765DB2E20A745F8"] - id: "04D4E196824D53C4" - tasks: [{ - id: "0121A0A3EFBF3A46" - item: "gtceu:glass_tube" - type: "item" - }] - x: -5.0d - y: 5.5d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.6D43C29AC049341D.d1}"] - icon: "minecraft:cake" - id: "6D43C29AC049341D" - subtitle: "{quests.6D43C29AC049341D.st}" - tasks: [{ - id: "124CFC2DE7647588" - title: "{quests.6D43C29AC049341D.t1}" - type: "checkmark" - }] - title: "{quests.6D43C29AC049341D.t}" - x: -3.5d - y: -1.0d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.0B42D4AE2AC67F93.d1}"] - icon: "createaddition:chocolate_cake" - id: "0B42D4AE2AC67F93" - subtitle: "{quests.0B42D4AE2AC67F93.st}" - tasks: [{ - id: "5EB438DED5A994C4" - title: "{quests.0B42D4AE2AC67F93.t1}" - type: "checkmark" - }] - title: "{quests.0B42D4AE2AC67F93.t}" - x: -3.5d - y: 1.0d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.2672C65095539E23.d1}"] - icon: { - Count: 1 - id: "gtceu:aluminium_hammer" - tag: { - DisallowContainerItem: 0b - GT.Behaviours: { } - GT.Tool: { - Damage: 0 - HarvestLevel: 2 - MaxDamage: 4607 - ToolSpeed: 10.0f - } - HideFlags: 2 - } - } - id: "2672C65095539E23" - subtitle: "{quests.2672C65095539E23.st}" - tasks: [{ - id: "5CD6F659836A78C8" - title: "{quests.2672C65095539E23.t1}" - type: "checkmark" - }] - title: "{quests.2672C65095539E23.t}" - x: -4.5d - y: -0.5d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["{quests.3D7B0F3134C30364.d1}"] - icon: { - Count: 1 - id: "patchouli:guide_book" - tag: { - "patchouli:book": "tfc:field_guide" - } - } - id: "3D7B0F3134C30364" - rewards: [{ - id: "497758E935ED5CBA" - item: { - Count: 1 - id: "patchouli:guide_book" - tag: { - "patchouli:book": "tfc:field_guide" - } - } - type: "item" - }] - tasks: [{ - id: "6EB0915B34A4054C" - title: "{quests.3D7B0F3134C30364.t1}" - type: "checkmark" - }] - title: "{quests.3D7B0F3134C30364.t}" - x: 0.0d - y: -3.0d - } - { - id: "16F09B1402BDD6AD" - tasks: [ - { - id: "684551EA31A129D3" - item: "minecraft:copper_block" - type: "item" - } - { - id: "15191ED470DFC144" - item: "firmalife:beeswax" - type: "item" - } - ] - title: "Copper Waxing [WIP]" - x: -8.0d - y: 0.0d - } - { - id: "0C1314591528B194" - tasks: [{ - id: "2708890F286F7653" - title: "Cellar [WIP]" - type: "checkmark" - }] - x: -7.0d - y: -1.0d - } - { - id: "13C1E19024011698" - tasks: [{ - id: "4694D073712B6BE1" - title: "Bees [WIP]" - type: "checkmark" - }] - x: -7.0d - y: 1.0d - } - { - id: "260CCACEAE35BFDC" - tasks: [{ - id: "06F24C35A067A09B" - title: "Greenhouse [WIP]" - type: "checkmark" - }] - x: -7.0d - y: 0.0d - } - { - dependencies: ["32895F66C7A66088"] - description: [ - "The &dSolid Boiler&r is the only available Boiler for now, as the &aGlass&r needed for the others is not available just yet. You can get by with only one, but we would recommend making at least two." - "" - "Important: Boilers can explode! This still catches out &eexperienced GT players&r, so keep this warning in mind when setting your Boiler up." - "{@pagebreak}" - "Water does not gel well with &6high temperatures&r, and a &cSteam Explosion&r (Launch!) may occur under the following conditions:" - "" - "- The Boiler is &4overheating.&r Its temperature is indicated by the &cred bar&r in the GUI." - "...and..." - "- The Boiler does not have any &bwater&r. This is signified by the absence of a &bblue bar&r in the GUI." - "...AND..." - "- The Boiler receives water whilst &6both&r conditions are &2true&r." - "{@pagebreak}" - "You can avert catastrophe by filling the boiler with water before heating it up, and making sure the water supply is constant. The drain is slow - &b1 mB&r of Water boils into &7160 mB&r of Steam - so you shouldn't have to worry about running out." - "" - "The Boiler can auto eject steam on all its faces except the bottom. For automated Water input, use the bottom face." - "" - "&3Note:&r In this modpack, explosions are configured to &cnot&r damage any block or entity, but you'll &dstill lose&r your machine." - "" - "You may recall that regular Steam machines had a duration penalty, and were twice as slow. Not great." - "" - "&5High Pressure&r Steam machines no longer bear a &bduration penalty &rfor recipes, making them objective upgrades." - "" - "Make &eone&r of the proposed HP machines to complete this quest." - ] - id: "3FB3EE093DDC6B56" - shape: "gear" - size: 3.0d - subtitle: "Putting the Steam in Steam Age" - tasks: [{ - id: "4DCB027DEC293E72" - item: "gtceu:bronze_brick_casing" - type: "item" - }] - title: "Pressure Cookin'" - x: 18.5d - y: 24.0d - } - { - dependencies: ["5A3E944192851481"] - id: "32895F66C7A66088" - tasks: [{ - count: 5L - id: "4D3A57BC6B9D5DF4" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:bronze_plate" - } - type: "item" - }] - x: 18.5d - y: 22.0d - } - { - dependencies: ["6E24ECF6CEE950D1"] - id: "517EFADD8F22717F" - tasks: [{ - id: "223513705634C41C" - item: "tfc:glue" - type: "item" - }] - x: 19.5d - y: -8.5d - } - { - dependencies: ["095104BA3C842978"] - id: "4718D375758B9219" - tasks: [{ - id: "37312BCB967DE348" - item: { - Count: 1 - id: "hangglider:hang_glider" - tag: { - Damage: 0 - } - } - type: "item" - }] - x: 20.5d - y: 11.0d - } - { - dependencies: ["365F6F48E0BB2EFC"] - id: "23510E30D813C549" - tasks: [{ - id: "09C1DBDEB5A47AB8" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item_tag(tfchotornot:tongs))" - } - } - title: "Any Tongs" - type: "item" - }] - x: 0.5d - y: 1.5d - } - { - dependencies: ["4F5C883CC5282151"] - id: "2A3FEA1A48B598D1" - size: 1.5d - tasks: [{ - id: "616E6313036EF00C" - item: "framedblocks:framed_cube" - type: "item" - }] - x: 9.0d - y: 5.0d - } - { - dependencies: ["6156D157921CC5A8"] - id: "6EB5582F224A7D9E" - tasks: [{ - id: "5C217C7C0FB5DC97" - item: "etched:etching_table" - type: "item" - }] - x: 24.5d - y: 25.5d - } - { - dependencies: ["6156D157921CC5A8"] - id: "3F197DAB22F73BD1" - tasks: [{ - id: "4D6AB30FD04E29E1" - item: "etched:album_jukebox" - type: "item" - }] - x: 23.0d - y: 24.0d - } - { - dependencies: ["6156D157921CC5A8"] - id: "7169A1209E35121A" - tasks: [{ - id: "2E6731CF239E5118" - item: "etched:radio" - type: "item" - }] - x: 26.0d - y: 25.5d - } - { - dependencies: ["6156D157921CC5A8"] - id: "3FE5DFFD7F79426E" - tasks: [{ - id: "0714CB1F55EC4D1B" - item: "etched:jukebox_minecart" - type: "item" - }] - x: 23.0d - y: 25.5d - } - { - dependencies: ["6156D157921CC5A8"] - id: "00DAC3E31BDB0775" - tasks: [{ - id: "07EA44BEC48D43E3" - item: "etched:boombox" - type: "item" - }] - x: 26.0d - y: 24.0d - } - { - dependencies: ["754CA10FD1725EC6"] - id: "38469FBD2B7998C1" - tasks: [{ - id: "5B2D048464054ACA" - item: { - Count: 1 - id: "etched:music_label" - tag: { - Label: { } - } - } - type: "item" - }] - x: 24.5d - y: 23.0d - } - { - dependencies: [ - "4CDE17A99074ADE2" - "2658E7679CD42ACD" - ] - hide_dependency_lines: true - id: "754CA10FD1725EC6" - tasks: [{ - id: "1E751F479E4D6B0A" - item: "etched:album_cover" - type: "item" - }] - x: 24.5d - y: 22.0d - } - { - dependencies: ["38469FBD2B7998C1"] - id: "6156D157921CC5A8" - tasks: [{ - id: "09CBD3F693A3CA6C" - item: "etched:blank_music_disc" - type: "item" - }] - x: 24.5d - y: 24.0d - } - { - dependencies: [ - "0988DE53C9217CE6" - "332C0086D53DDAA3" - ] - id: "25C1C646790CFB6E" - tasks: [{ - id: "7ACE2BE9075B650E" - item: "tfc:treated_hide" - type: "item" - }] - x: 21.5d - y: -7.0d - } - { - dependencies: ["76EF4D00586A8B74"] - hide_dependency_lines: true - id: "332C0086D53DDAA3" - tasks: [{ - id: "322DF9A30CFE57CE" - item: "tfc:groundcover/pumice" - type: "item" - }] - x: 21.5d - y: -8.5d - } - { - dependencies: ["07EACA7D4EB51EB8"] - description: ["Press the Thermochemically Treated Hardwood Pulp into a Sheet"] - id: "0F9BE65A65F9CF4D" - tasks: [{ - id: "06E98C5646CEF615" - item: "tfg:soaked_unrefined_paper" - type: "item" - }] - x: 21.5d - y: 1.0d - } - { - dependencies: ["2B95877FDA27F418"] - description: ["Cook the Hardwood Pulp in Lye using a Vat or a Pot"] - id: "07EACA7D4EB51EB8" - tasks: [{ - id: "2521D9D73CC0BCA5" - item: "gtceu:thermochemically_treated_hardwood_dust" - type: "item" - }] - x: 23.5d - y: 1.0d - } - { - dependencies: ["72B2543628818D03"] - description: ["Quern the Soaked Hardwood Strip to get Hardwood Pulp"] - id: "2B95877FDA27F418" - tasks: [{ - id: "392BBB461D37F945" - item: "gtceu:hardwood_dust" - type: "item" - }] - x: 26.5d - y: 1.0d - } - { - dependencies: [ - "6E24ECF6CEE950D1" - "5FD97BDCAA82B23A" - ] - description: ["Submerge the Hardwood Strip in a Barrel full of Water to Soak it"] - id: "72B2543628818D03" - tasks: [{ - id: "27EC545C4FD8B47E" - item: "tfg:soaked_hardwood_strip" - type: "item" - }] - x: 26.5d - y: -3.5d - } - { - dependencies: ["3579D6F2BC5DAABB"] - description: ["Put an Axe and a Stripped Hardwood Log in a Crafting Table to create the Strips"] - id: "5FD97BDCAA82B23A" - tasks: [{ - id: "0324746AB4D87295" - item: "tfg:hardwood_strip" - type: "item" - }] - x: 26.5d - y: -7.0d - } - { - dependencies: ["0CC8FB9750DF4E27"] - description: ["Right click a placed Hardwood Log to Strip it"] - id: "3579D6F2BC5DAABB" - tasks: [{ - id: "6831FBD90C8DD7A6" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:stripped_hardwood)" - } - } - title: "Any #tfg:stripped_hardwood" - type: "item" - }] - title: "Any Stripped Hardwood" - x: 26.5d - y: -8.5d - } - { - dependencies: ["76EF4D00586A8B74"] - description: ["Get any kind of Hardwood, check the Papermaking page for a list of valid wood types"] - hide_dependency_lines: true - id: "0CC8FB9750DF4E27" - tasks: [{ - id: "5067BA8D80512DF4" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:hardwood)" - } - } - title: "Any #tfg:hardwood" - type: "item" - }] - title: "Get Hardwood" - x: 24.5d - y: -8.5d - } - ] - title: "Primitive Age" -} diff --git a/config/ftbquests/quests/chapters/progression.snbt b/config/ftbquests/quests/chapters/progression.snbt index 1776fe76f..bbf0b3a3a 100644 --- a/config/ftbquests/quests/chapters/progression.snbt +++ b/config/ftbquests/quests/chapters/progression.snbt @@ -3,7 +3,7 @@ default_quest_shape: "" disable_toast: true filename: "progression" - group: "" + group: "19428C6E7A36D463" icon: { Count: 1 id: "gtceu:lapotronic_energy_orb" @@ -12,16 +12,8 @@ } } id: "28EBC0FF82EFD94B" - order_index: 14 + order_index: 3 quest_links: [ - { - id: "2BB2FC2D9D2F2E57" - linked_quest: "4B979482EF026BFF" - shape: "rsquare" - size: 0.75d - x: 0.0d - y: 0.0d - } { id: "77A0335E38D755CA" linked_quest: "0DBC148D92A9F69F" @@ -86,14 +78,6 @@ x: 2.0d y: 3.0d } - { - id: "5572AB3517FCEE5F" - linked_quest: "3CF550B81716B8B9" - shape: "rsquare" - size: 0.8d - x: 0.0d - y: -1.0d - } { id: "2B8FBCD290196265" linked_quest: "14D277A164202FF8" @@ -329,11 +313,7 @@ ] quests: [ { - dependencies: [ - "3CF550B81716B8B9" - "0DBC148D92A9F69F" - "4B979482EF026BFF" - ] + dependencies: ["0DBC148D92A9F69F"] description: [ "Early game Circuits are hand craftable." "" @@ -342,6 +322,7 @@ hide_dependency_lines: true icon: "gtceu:bronze_machine_casing" id: "4252B1AF36FFB4F6" + progression_mode: "linear" size: 0.85d subtitle: "Hand crafted and artisanal" title: "Craftable in &6Steam Age&r and &7LV&r" @@ -364,6 +345,7 @@ hide_dependency_lines: true icon: "gtceu:mv_machine_hull" id: "5E4FBB2287D9E635" + progression_mode: "linear" size: 0.85d subtitle: "Integrated Dynamics" title: "Craftable in &bMV&r" @@ -387,6 +369,7 @@ hide_dependency_lines: true icon: "gtceu:hv_machine_hull" id: "1D717E742E50A6BD" + progression_mode: "linear" size: 0.85d subtitle: "Micro Miners" title: "Craftable in &bMV&r and &6HV&r" @@ -413,6 +396,7 @@ hide_dependency_lines: true icon: "gtceu:ev_machine_hull" id: "29C2A82490261F1C" + progression_mode: "linear" size: 0.85d subtitle: "Nano Age" title: "Craftable in &5EV&r" @@ -434,6 +418,7 @@ hide_dependency_lines: true icon: "gtceu:iv_machine_hull" id: "66A23AC2EE9BC4AE" + progression_mode: "linear" size: 0.85d subtitle: "GregTech gets Quantum" title: "Craftable in &1IV&r" @@ -455,6 +440,7 @@ hide_dependency_lines: true icon: "gtceu:luv_machine_hull" id: "6906121936A688C0" + progression_mode: "linear" size: 0.85d subtitle: "Crystallisation" title: "Craftable in &dLuV&r" @@ -476,6 +462,7 @@ hide_dependency_lines: true icon: "gtceu:zpm_machine_hull" id: "629E023752317A31" + progression_mode: "linear" size: 0.85d subtitle: "Soft and Wetware" title: "Craftable in &cZPM&r" @@ -483,14 +470,12 @@ y: -2.0d } { - dependencies: [ - "3CF550B81716B8B9" - "15EC934CE8F4DC86" - ] + dependencies: ["15EC934CE8F4DC86"] description: ["On this line you can see the Steam, or &8&8ULV&r, equivalents."] hide_dependency_lines: true - icon: "gtceu:ulv_machine_casing" + icon: "gtceu:ulv_machine_hull" id: "1C1976238A2FBEE0" + progression_mode: "linear" size: 0.85d title: "&8ULV&r Circuits" x: -1.0d @@ -499,7 +484,6 @@ { dependencies: [ "5C17BF90DA2AAEEE" - "4B979482EF026BFF" "5E76D4C24026157D" ] description: [ @@ -514,6 +498,7 @@ hide_dependency_lines: true icon: "gtceu:lv_machine_casing" id: "7707E5B061A7FFF7" + progression_mode: "linear" size: 0.85d title: "&7LV&r Circuits" x: -1.0d @@ -533,6 +518,7 @@ hide_dependency_lines: true icon: "gtceu:mv_machine_casing" id: "45CA8DCA8226945A" + progression_mode: "linear" size: 0.85d title: "&bMV&r Circuits" x: -1.0d @@ -552,6 +538,7 @@ hide_dependency_lines: true icon: "gtceu:hv_machine_casing" id: "54CF2016ED44CC45" + progression_mode: "linear" size: 0.85d title: "&6HV&r Circuits" x: -1.0d @@ -571,6 +558,7 @@ hide_dependency_lines: true icon: "gtceu:ev_machine_casing" id: "2A9ECD745E15A5D8" + progression_mode: "linear" size: 0.85d title: "&5EV&r Circuits" x: -1.0d @@ -591,6 +579,7 @@ hide_dependency_lines: true icon: "gtceu:iv_machine_casing" id: "5B0AC445672E14B6" + progression_mode: "linear" size: 0.85d title: "&1IV&r Circuits" x: -1.0d @@ -615,6 +604,7 @@ hide_dependency_lines: true icon: "gtceu:luv_machine_casing" id: "140E91C53C30C096" + progression_mode: "linear" size: 0.85d title: "&dLuV&r Circuits" x: -1.0d @@ -630,6 +620,7 @@ hide_dependency_lines: true icon: "gtceu:zpm_machine_casing" id: "2E00E10D4E92F64D" + progression_mode: "linear" size: 0.85d title: "&cZPM&r Circuits" x: -1.0d @@ -644,6 +635,7 @@ hide_dependency_lines: true icon: "gtceu:uv_machine_casing" id: "35EFFA6C85EFCA58" + progression_mode: "linear" size: 0.85d title: "&3UV&r Circuits" x: -1.0d @@ -659,16 +651,14 @@ hide_dependency_lines: true icon: "gtceu:uhv_machine_casing" id: "177ADFFD33DDA624" + progression_mode: "linear" size: 0.85d title: "&4UHV&r Circuits" x: -1.0d y: 8.0d } { - dependencies: [ - "257DB4B39B2A928E" - "5B2696206205CB2E" - ] + dependencies: ["5B2696206205CB2E"] id: "70432F650591353C" shape: "rsquare" size: 0.66d diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt new file mode 100644 index 000000000..a08b8fd91 --- /dev/null +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -0,0 +1,1320 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "questsmetallurgy" + group: "3C4612A920658A7E" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:wrought_iron_ingot" + } + id: "5F560FF28458A555" + order_index: 1 + quest_links: [ + { + id: "763EE3CC2D320738" + linked_quest: "48A8E3210B2BAE1C" + shape: "gear" + size: 4.0d + x: 2.0d + y: -26.0d + } + { + id: "118AABC6BC02A7AB" + linked_quest: "7B2068B200631D5C" + x: 5.0d + y: -34.0d + } + { + id: "227B6C88FFE99435" + linked_quest: "4EBABACAB444244D" + x: 16.5d + y: -23.0d + } + { + id: "19CF6D922179DFF9" + linked_quest: "11C45DBB20ED7647" + x: 9.0d + y: -34.0d + } + ] + quests: [ + { + dependencies: ["003EB186944BD36E"] + description: ["{quests.metal_age.this_is_a_bucket.desc}"] + id: "25551B8DB67BE0A9" + shape: "gear" + size: 4.0d + subtitle: "{quests.metal_age.this_is_a_bucket.subtitle}" + tasks: [{ + id: "4AB43F0CB3DCFD4B" + item: "minecraft:bucket" + type: "item" + }] + title: "{quests.metal_age.this_is_a_bucket.title}" + x: 13.5d + y: -24.5d + } + { + dependencies: ["56CA2EB7812529C5"] + description: ["{quests.metal_age.redblu_buckets.desc}"] + id: "003EB186944BD36E" + size: 1.0d + subtitle: "{quests.metal_age.redblu_buckets.subtitle}" + tasks: [ + { + id: "7218CBCCA313343B" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/bucket/red_steel" + } + type: "item" + } + { + id: "41001037515E3120" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/bucket/blue_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.redblu_buckets.title}" + x: 16.5d + y: -24.5d + } + { + dependencies: ["7E0239E9CC73F09F"] + description: ["{quests.metal_age.black_steel_anvil.desc}"] + id: "52DAF93E2F3D688A" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.black_steel_anvil.subtitle}" + tasks: [{ + id: "5E7E9401FF7C5402" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/black_steel" + } + type: "item" + }] + title: "{quests.metal_age.black_steel_anvil.title}" + x: 27.5d + y: -24.5d + } + { + dependencies: ["4310B619B57276ED"] + description: ["{quests.metal_age.steel_anvil.desc}"] + id: "04DE7C58F20B535A" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.steel_anvil.subtitle}" + tasks: [{ + id: "338F94FE331E0954" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/steel" + } + type: "item" + }] + title: "{quests.metal_age.steel_anvil.title}" + x: 27.5d + y: -32.0d + } + { + dependencies: ["358571B6E692F198"] + description: ["{quests.metal_age.wrought_iron_anvil.desc}"] + id: "174DA15847665CF8" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.wrought_iron_anvil.subtitle}" + tasks: [{ + id: "0E566B2921529CFE" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/wrought_iron" + } + type: "item" + }] + title: "{quests.metal_age.wrought_iron_anvil.title}" + x: 9.0d + y: -32.0d + } + { + dependencies: ["133DB645B6E0585A"] + description: ["{quests.metal_age.bronze_anvil.desc}"] + id: "3C173357029AB649" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.bronze_anvil.subtitle}" + tasks: [{ + id: "19778123CAB30DAA" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:bronze_anvils)" + } + } + title: "{quests.tasktype.item.any} #tfc:bronze_anvils" + type: "item" + }] + title: "{quests.metal_age.bronze_anvil.title}" + x: 2.0d + y: -32.0d + } + { + dependencies: ["48A8E3210B2BAE1C"] + description: ["{quests.metal_age.weld_bronze_ingots.desc}"] + id: "133DB645B6E0585A" + subtitle: "{quests.metal_age.weld_bronze_ingots.subtitle}" + tasks: [{ + count: 7L + id: "497C431206F498A5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:bronze_double_ingot)item(gtceu:black_bronze_double_ingot)item(gtceu:bismuth_bronze_double_ingot))" + } + } + title: "{quests.tasktype.item.any} #forge:double_ingots/bronze" + type: "item" + }] + title: "{quests.metal_age.weld_bronze_ingots.title}" + x: 2.0d + y: -29.5d + } + { + dependencies: [ + "3C173357029AB649" + "7B2068B200631D5C" + ] + description: ["{quests.metal_age.bloomery.desc}"] + id: "0A92F5C4BB6AF972" + size: 2.0d + subtitle: "{quests.metal_age.bloomery.subtitle}" + tasks: [ + { + id: "323A28991DD98C8D" + item: "tfc:bloomery" + type: "item" + } + { + id: "15B937178A5E5D8E" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:raw_iron_bloom" + } + type: "item" + } + { + id: "38651A52735D8872" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:wrought_iron_ingot" + } + type: "item" + } + ] + title: "{quests.metal_age.bloomery.title}" + x: 5.0d + y: -32.0d + } + { + dependencies: [ + "12CB3B9ADC586521" + "7CD2922D9F6FA6C5" + "00B22730B33CB4DB" + ] + description: ["{quests.metal_age.blast_furnace.desc}"] + id: "5996A3A0D475B8A6" + size: 2.0d + subtitle: "{quests.metal_age.blast_furnace.subtitle}" + tasks: [ + { + id: "3A2A3286F594F977" + item: "tfc:blast_furnace" + type: "item" + } + { + id: "0EE45FC2BA2E363E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:tuyeres)" + } + } + title: "{quests.tasktype.item.any} #tfc:tuyeres" + type: "item" + } + { + id: "35F0EFF2E4A514E3" + item: "tfc:bellows" + type: "item" + } + { + id: "5115EB2096C8E86C" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/pig_iron" + } + type: "item" + } + { + id: "2153FE85D0898117" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_ingot" + } + type: "item" + } + ] + title: "{quests.metal_age.blast_furnace.title}" + x: 23.5d + y: -32.0d + } + { + dependencies: [ + "0A92F5C4BB6AF972" + "021D3DEEB15A3D17" + ] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.weld_wrought_iron_ingots.desc}"] + id: "358571B6E692F198" + subtitle: "{quests.metal_age.weld_wrought_iron_ingots.subtitle}" + tasks: [{ + count: 7L + id: "05AD17F66DFE3C56" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:wrought_iron_double_ingot" + } + type: "item" + }] + title: "{quests.metal_age.weld_wrought_iron_ingots.title}" + x: 7.0d + y: -32.0d + } + { + dependencies: ["48A8E3210B2BAE1C"] + description: ["{quests.metal_age.bellows.desc}"] + hide_dependency_lines: true + id: "021D3DEEB15A3D17" + subtitle: "{quests.metal_age.bellows.subtitle}" + tasks: [{ + id: "588EB07E980386F9" + item: "tfc:bellows" + type: "item" + }] + title: "{quests.metal_age.bellows.title}" + x: 7.0d + y: -34.0d + } + { + dependencies: ["5996A3A0D475B8A6"] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.weld_steel_ingots.desc}"] + id: "4310B619B57276ED" + subtitle: "{quests.metal_age.weld_steel_ingots.subtitle}" + tasks: [{ + count: 7L + id: "0EDB1D851E198274" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_double_ingot" + } + type: "item" + }] + title: "{quests.metal_age.weld_steel_ingots.title}" + x: 25.5d + y: -32.0d + } + { + dependencies: [ + "061116CF508D54F6" + "68B7D07D57A103BE" + ] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.kaolin_clay.desc}"] + id: "72F1C122FC26229C" + shape: "octagon" + size: 3.0d + subtitle: "{quests.metal_age.kaolin_clay.subtitle}" + tasks: [ + { + id: "673D38EB62FFD65F" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:kaolin_clay" + } + type: "item" + } + { + icon: "tfc:red_kaolin_clay" + id: "576163D694ECF915" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfc:kaolin_clay" + to_observe: "#tfc:kaolin_clay" + type: "observation" + } + ] + title: "{quests.metal_age.kaolin_clay.title}" + x: 13.5d + y: -36.0d + } + { + dependencies: ["5A936E9BCF30AA3D"] + dependency_requirement: "one_started" + description: ["{quests.metal_age.overworld_graphite.desc}"] + icon: "tfc:ore/graphite/gabbro" + id: "53E1383F12EC6765" + optional: true + subtitle: "{quests.metal_age.overworld_graphite.subtitle}" + tasks: [{ + id: "25A552657AFA7BC2" + type: "checkmark" + }] + title: "{quests.metal_age.overworld_graphite.title}" + x: 13.0d + y: -30.5d + } + { + dependencies: [ + "53E1383F12EC6765" + "2DB82986FE176CD7" + ] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.graphite.desc}"] + id: "31CE13462759950C" + shape: "octagon" + size: 3.0d + subtitle: "{quests.metal_age.graphite.subtitle}" + tasks: [{ + id: "6B0C9D862BFD27BC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:raw_graphite)item(gtceu:rich_raw_graphite)item(gtceu:poor_raw_graphite)item(gtceu:graphite_dust)item(gtceu:crushed_graphite_ore))" + } + } + title: "{quests.metal_age.graphite.task}" + type: "item" + }] + title: "{quests.metal_age.graphite.title}" + x: 13.5d + y: -28.5d + } + { + dependencies: [ + "5301A38F7EA81140" + "5E186CD5E83BFDF0" + "72F1C122FC26229C" + "31CE13462759950C" + "5A936E9BCF30AA3D" + ] + description: ["{quests.metal_age.fire_clay.desc}"] + id: "2C76EE197C14B0DC" + size: 2.0d + subtitle: "{quests.metal_age.fire_clay.subtitle}" + tasks: [{ + count: 5L + id: "71DAE9C9C0192316" + item: "tfc:fire_clay" + type: "item" + }] + title: "{quests.metal_age.fire_clay.title}" + x: 17.5d + y: -32.0d + } + { + dependencies: ["2C76EE197C14B0DC"] + description: ["{quests.metal_age.crucible.desc}"] + id: "12CB3B9ADC586521" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.crucible.subtitle}" + tasks: [ + { + id: "768BF97F77EBFD73" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/unfired_crucible" + } + type: "item" + } + { + id: "5F344E4EF2AD2CE3" + item: "tfc:crucible" + type: "item" + } + ] + title: "{quests.metal_age.crucible.title}" + x: 20.5d + y: -30.0d + } + { + dependencies: ["48A8E3210B2BAE1C"] + description: ["{quests.metal_age.anvil_recycling.desc}"] + icon: "tfc:firepit" + id: "3B2550394C94CEC9" + size: 1.0d + subtitle: "{quests.metal_age.anvil_recycling.subtitle}" + tasks: [{ + id: "6C6A16120567D008" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.anvil_recycling.title}" + x: 0.0d + y: -29.5d + } + { + dependencies: ["3C173357029AB649"] + description: ["{quests.metal_age.mining.desc}"] + icon: "gtceu:almandine_indicator" + id: "234B68E86F72C29E" + subtitle: "{quests.metal_age.mining.subtitle}" + tasks: [ + { + id: "6BB5900B1E695C61" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + { + id: "42657F198063D88B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/mining_hammers)" + } + } + optional_task: true + title: "Any #forge:tools/mining_hammers" + type: "item" + } + ] + title: "{quests.metal_age.mining.title}" + x: 0.0d + y: -32.0d + } + { + dependencies: ["5A936E9BCF30AA3D"] + dependency_requirement: "one_started" + description: ["{quests.metal_age.beneath_kaolin.desc}"] + id: "061116CF508D54F6" + optional: true + subtitle: "{quests.metal_age.beneath_kaolin.subtitle}" + tasks: [ + { + dimension: "minecraft:the_nether" + icon: "minecraft:netherrack" + id: "42372A0532A8AEDC" + title: "{quests.metal_age.beneath_kaolin.task}" + type: "dimension" + } + { + entity: "kaolinclayze:tfc" + icon: "kaolinclayze:tfc_spawn_egg" + id: "710B94F88C7078C9" + optional_task: true + type: "kill" + value: 1L + } + { + biome: "tfg:nether/lush_hollow" + icon: "tfc:plant/blood_lily" + id: "5261A2540855D957" + title: "{quests.tasktype.travelto} tfg:nether/lush_hollow" + type: "biome" + } + ] + title: "{quests.metal_age.beneath_kaolin.title}" + x: 14.0d + y: -33.5d + } + { + dependencies: ["2C76EE197C14B0DC"] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.fire_bricks.desc}"] + id: "7CD2922D9F6FA6C5" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.fire_bricks.subtitle}" + tasks: [ + { + count: 4L + id: "26919640A9BC222C" + item: "tfc:fire_bricks" + type: "item" + } + { + count: 4L + id: "42C0B7955F4E1A44" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfcbetterbf:insulation" + } + optional_task: true + type: "item" + } + ] + title: "{quests.metal_age.fire_bricks.title}" + x: 20.5d + y: -34.0d + } + { + dependencies: ["2C76EE197C14B0DC"] + description: ["{quests.metal_age.fire_clay_products.desc}"] + id: "0DB1BDFB493C5040" + optional: true + shape: "heart" + subtitle: "{quests.metal_age.fire_clay_products.subtitle}" + tasks: [ + { + id: "50FAEE2106AD2BFE" + item: "tfc:crucible" + type: "item" + } + { + id: "074B26FF3804A5DE" + item: "tfcchannelcasting:mold_table" + optional_task: true + type: "item" + } + { + id: "73561E6E6C7EEABA" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/fire_ingot_mold" + } + optional_task: true + type: "item" + } + { + id: "7FB54E81CE55D1B7" + item: "tfc:ceramic/fire_brick" + type: "item" + } + { + id: "740B80F0D5B72950" + item: "tfcchannelcasting:channel" + optional_task: true + type: "item" + } + ] + title: "{quests.metal_age.fire_clay_products.title}" + x: 17.5d + y: -34.0d + } + { + dependencies: [ + "7CD2922D9F6FA6C5" + "5996A3A0D475B8A6" + ] + description: ["{quests.metal_age.fully_stacked_blast_furnace.desc}"] + id: "0DF072EF25B2628D" + optional: true + shape: "heart" + subtitle: "{quests.metal_age.fully_stacked_blast_furnace.subtitle}" + tasks: [ + { + count: 20L + id: "55970B2D0D17C183" + item: "tfc:fire_bricks" + type: "item" + } + { + count: 20L + id: "7D122F795DD5ED22" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfcbetterbf:insulation" + } + optional_task: true + type: "item" + } + ] + title: "{quests.metal_age.fully_stacked_blast_furnace.title}" + x: 23.5d + y: -34.0d + } + { + dependencies: ["52DAF93E2F3D688A"] + description: ["{quests.metal_age.red_blu.desc}"] + disable_toast: true + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfchotornot:tongs/red_steel" + tag: { + Damage: 0 + } + } + id: "5792DDAA82895E67" + subtitle: "{quests.metal_age.red_blu.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "720D64916D1E3892" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.metal_age.red_blu.title}" + x: 24.0d + y: -24.5d + } + { + dependencies: ["56CA2EB7812529C5"] + description: ["{quests.metal_age.red_steel_flask.desc}"] + id: "30D49878F3CEB08A" + subtitle: "{quests.metal_age.red_steel_flask.subtitle}" + tasks: [{ + id: "7394672B4D19B0B2" + item: "waterflasks:red_steel_flask" + type: "item" + }] + title: "{quests.metal_age.red_steel_flask.title}" + x: 16.5d + y: -26.0d + } + { + dependencies: [ + "5088768AAA28FCBA" + "6D04BAC5B215F90F" + ] + description: ["{quests.metal_age.redblu_anvil.desc}"] + id: "56CA2EB7812529C5" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.redblu_anvil.subtitle}" + tasks: [{ + id: "20BCD64D8D893582" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:red_or_blue_anvil)" + } + } + title: "{quests.tasktype.item.any} #tfc:red_or_blue_anvil" + type: "item" + }] + title: "{quests.metal_age.redblu_anvil.title}" + x: 18.5d + y: -24.5d + } + { + dependencies: ["3C173357029AB649"] + description: ["{quests.metal_age.bronze_goodies.desc}"] + icon: "greate:andesite_alloy_cogwheel" + id: "26F07C926959FACF" + subtitle: "{quests.metal_age.bronze_goodies.subtitle}" + tasks: [{ + id: "3AD41F7E9EE1076B" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.bronze_goodies.title}" + x: 2.0d + y: -34.0d + } + { + dependencies: ["174DA15847665CF8"] + description: ["{quests.metal_age.wrought_iron_goodies.desc}"] + icon: "create:chute" + id: "20C2CE92459BE14A" + subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" + tasks: [{ + id: "60605AA92B6947D8" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.wrought_iron_goodies.title}" + x: 9.0d + y: -30.0d + } + { + dependencies: ["174DA15847665CF8"] + description: ["{quests.metal_age.fire_clay_ingredients.desc}"] + icon: "minecraft:cartography_table" + id: "5A936E9BCF30AA3D" + subtitle: "{quests.metal_age.fire_clay_ingredients.subtitle}" + tasks: [{ + id: "39CA01175999A291" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.fire_clay_ingredients.title}" + x: 13.5d + y: -32.0d + } + { + dependencies: ["5A936E9BCF30AA3D"] + description: ["{quests.metal_age.beneath_graphite.desc}"] + id: "2DB82986FE176CD7" + subtitle: "{quests.metal_age.beneath_graphite.subtitle}" + tasks: [ + { + dimension: "minecraft:the_nether" + icon: "minecraft:netherrack" + id: "77162ADDC8732968" + title: "{quests.metal_age.beneath_graphite.task}" + type: "dimension" + } + { + entity: "kaolinclayze:golem_2" + icon: "kaolinclayze:golem_2_spawn_egg" + id: "0981F64F296CDDC5" + optional_task: true + type: "kill" + value: 1L + } + ] + title: "{quests.metal_age.beneath_graphite.title}" + x: 14.0d + y: -30.5d + } + { + dependencies: ["5A936E9BCF30AA3D"] + description: ["{quests.metal_age.overworld_kaolin.desc}"] + icon: "tfc:plant/tree_fern" + id: "68B7D07D57A103BE" + subtitle: "{quests.metal_age.overworld_kaolin.subtitle}" + tasks: [{ + id: "14DF5B1544AB9BA9" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.overworld_kaolin.title}" + x: 13.0d + y: -33.5d + } + { + dependencies: [ + "2DB82986FE176CD7" + "061116CF508D54F6" + ] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.blast_furance_fuel.desc}"] + hide_dependency_lines: true + id: "00B22730B33CB4DB" + subtitle: "{quests.metal_age.blast_furnace_fuel.subtitle}" + tasks: [{ + id: "5133FF6E770AAB1C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:blast_furnace_fuel)" + } + } + title: "Any #tfc:blast_furnace_fuel" + type: "item" + }] + title: "{quests.metal_age.blast_furnace_fuel.title}" + x: 23.5d + y: -30.0d + } + { + dependencies: ["04DE7C58F20B535A"] + description: ["{quests.metal_age.steel_goodies.desc}"] + icon: "greate:steel_mechanical_pump" + id: "0C9B7745D812555A" + subtitle: "{quests.metal_age.steel_goodies.subtitle}" + tasks: [{ + id: "3EB7C3AE88950E4B" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.steel_goodies.title}" + x: 29.5d + y: -30.0d + } + { + dependencies: ["52DAF93E2F3D688A"] + description: ["{quests.metal_age.black_steel_goodies.desc}"] + icon: "gtceu:hp_steam_solid_boiler" + id: "2C7368B3F573B284" + shape: "gear" + size: 2.0d + subtitle: "{quests.metal_age.black_steel_goodies.subtitle}" + tasks: [{ + id: "0CF65A33917DB2B4" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.metal_age.black_steel_goodies.title}" + x: 25.5d + y: -22.5d + } + { + dependencies: [ + "1CE0FF455668C145" + "04DE7C58F20B535A" + ] + description: ["{quests.metal_age.highcarb_black_steel.desc}"] + id: "7E0239E9CC73F09F" + subtitle: "{quests.metal_age.highcarb_black_steel.subtitle}" + tasks: [ + { + id: "3FBF024C565CB67E" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/pig_iron" + } + type: "item" + } + { + id: "3D2B14604D281C6C" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/weak_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.highcarb_black_steel.title}" + x: 27.5d + y: -30.0d + } + { + dependencies: ["5996A3A0D475B8A6"] + description: ["{quests.metal_age.weak_steel.desc}"] + id: "1CE0FF455668C145" + subtitle: "{quests.metal_age.weak_steel.subtitle}" + tasks: [ + { + count: 2L + id: "3BEC54E69E2BDB05" + item: { + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_ingot" + } + type: "item" + } + { + id: "531F312BC55FD4E2" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:nickel_ingot" + } + type: "item" + } + { + id: "538C8C5AB2F8D282" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:black_bronze_ingot" + } + type: "item" + } + ] + title: "{quests.metal_age.weak_steel.title}" + x: 25.5d + y: -30.0d + } + { + dependencies: ["27FF92982A24BC4E"] + description: ["{quests.metal_age.highcarb_red_steel.desc}"] + id: "5088768AAA28FCBA" + subtitle: "{quests.metal_age.highcarb_red_steel.subtitle}" + tasks: [ + { + id: "21F560D36B3B4DCD" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/weak_red_steel" + } + type: "item" + } + { + id: "75019ACF15E50D54" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/black_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.highcarb_red_steel.title}" + x: 20.5d + y: -25.5d + } + { + dependencies: ["5792DDAA82895E67"] + description: ["{quests.metal_age.weak_red_steel.desc}"] + id: "27FF92982A24BC4E" + subtitle: "{quests.metal_age.weak_red_steel.subtitle}" + tasks: [ + { + id: "0843FBE28514A29F" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:rose_gold_ingot" + } + type: "item" + } + { + id: "43C81DD8CF335763" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "create:brass_ingot" + } + type: "item" + } + { + count: 2L + id: "5D133B38BBBBB102" + item: { + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_ingot" + } + type: "item" + } + { + count: 4L + id: "3E57E946103AD6C3" + item: { + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/black_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.weak_red_steel.title}" + x: 22.0d + y: -25.5d + } + { + dependencies: ["5792DDAA82895E67"] + description: ["{quests.metal_age.weak_blu_steel.desc}"] + id: "64F8A358EC3FEF45" + subtitle: "{quests.metal_age.weak_blu_steel.subtitle}" + tasks: [ + { + id: "75B02DD1C85701E2" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:sterling_silver_ingot" + } + type: "item" + } + { + id: "6C8633B40E4AFA08" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:bismuth_bronze_ingot" + } + type: "item" + } + { + count: 2L + id: "4F5FD0F3F99A8FAB" + item: { + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_ingot" + } + type: "item" + } + { + count: 4L + id: "0D755D99AD9C3DA0" + item: { + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/black_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.weak_blu_steel.title}" + x: 22.0d + y: -23.5d + } + { + dependencies: ["64F8A358EC3FEF45"] + description: ["{quests.metal_age.highcarb_blu_steel.desc}"] + id: "6D04BAC5B215F90F" + subtitle: "{quests.metal_age.highcarb_blu_steel.subtitle}" + tasks: [ + { + id: "3E67A3CFA3FE7F32" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/weak_blue_steel" + } + type: "item" + } + { + id: "4774AFBF9D811C3D" + item: { + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/ingot/black_steel" + } + type: "item" + } + ] + title: "{quests.metal_age.highcarb_blu_steel.title}" + x: 20.5d + y: -23.5d + } + { + dependencies: ["3C173357029AB649"] + description: ["{quests.metal_age.copper_diving.desc}"] + id: "70FE6706B43FC5FC" + subtitle: "{quests.metal_age.copper_diving.subtitle}" + tasks: [ + { + id: "63FC28D0F3FCDE11" + item: { + Count: 1 + id: "create:copper_diving_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "039434E2FD245F63" + item: { + Count: 1 + id: "create:copper_diving_helmet" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "58440049BDA56F74" + item: { + Count: 1 + id: "create:copper_backtank" + tag: { + Air: 900 + } + } + type: "item" + } + ] + title: "{quests.metal_age.copper_diving.title}" + x: 0.0d + y: -34.0d + } + ] + subtitle: ["{quests.metal_age.subtitle}"] + title: "{quests.metal_age}" +} diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt new file mode 100644 index 000000000..f2fd57329 --- /dev/null +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -0,0 +1,1645 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "questssteam_age" + group: "3C4612A920658A7E" + icon: "gtceu:steel_gear" + id: "784A885090386609" + order_index: 2 + quest_links: [ + { + id: "39027CF4DC307D33" + linked_quest: "5E186CD5E83BFDF0" + x: -27.5d + y: -3.0d + } + { + id: "0CE64B9914191C56" + linked_quest: "6FFD4990FF07078A" + shape: "diamond" + x: -11.5d + y: 9.5d + } + { + id: "23A27702FF816291" + linked_quest: "6903C72A254A7B08" + x: -13.5d + y: 7.5d + } + { + id: "00B33DFF6076A2C0" + linked_quest: "7EED0084BA59FED1" + x: -13.5d + y: 5.5d + } + { + id: "044ADF2296BC1A8F" + linked_quest: "6E186F9C57155BFA" + shape: "square" + size: 1.5d + x: -13.5d + y: 3.5d + } + { + id: "1F1E7097C015BE33" + linked_quest: "48A8E3210B2BAE1C" + shape: "octagon" + size: 2.0d + x: -27.5d + y: -5.0d + } + ] + quests: [ + { + dependencies: ["6F1BC99BE641B671"] + description: ["{quests.steam_age.basic_millstone.desc}"] + id: "48C1E980F7D64317" + subtitle: "{quests.steam_age.basic_millstone.subtitle}" + tasks: [{ + id: "486DE7D228F3589B" + item: "greate:andesite_alloy_millstone" + type: "item" + }] + title: "{quests.steam_age.basic_millstone.title}" + x: -18.0d + y: -5.0d + } + { + dependencies: ["6F1BC99BE641B671"] + description: [ + "{quests.steam_age.horse_crank.desc.1}" + "{@pagebreak}" + "{quests.steam_age.horse_crank.desc.2}" + ] + id: "1059288C22CB56BB" + subtitle: "{quests.steam_age.horse_crank.subtitle}" + tasks: [{ + id: "1F3EE2CB3B8875EC" + item: "createhorsepower:horse_crank" + type: "item" + }] + title: "{quests.steam_age.horse_crank.title}" + x: -22.0d + y: -5.0d + } + { + dependencies: ["7B045998769930F0"] + description: ["{quests.steam_age.helve_hammer.desc}"] + id: "611EB6284CA7119C" + size: 1.5d + subtitle: "{quests.steam_age.helve_hammer.subtitle}" + tasks: [{ + id: "340B4B4665295100" + item: "vintageimprovements:helve_hammer" + type: "item" + }] + title: "{quests.steam_age.helve_hammer.title}" + x: -20.0d + y: -1.0d + } + { + dependencies: ["6F1BC99BE641B671"] + description: ["{quests.steam_age.basic_greate.desc}"] + id: "7B045998769930F0" + subtitle: "{quests.steam_age.basic_greate.subtitle}" + tasks: [ + { + id: "53E8B404D5233367" + item: "greate:andesite_alloy_cogwheel" + optional_task: true + type: "item" + } + { + id: "54B5DC1982F4D816" + item: "greate:large_andesite_alloy_cogwheel" + type: "item" + } + { + id: "59AD69460AE89682" + item: "greate:andesite_alloy_shaft" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.basic_greate.title}" + x: -20.0d + y: -3.0d + } + { + dependencies: ["0D0D461AE3A3F7BF"] + description: ["{quests.steam_age.water_wheel.desc}"] + id: "61DDB00751D1E7CB" + subtitle: "{quests.steam_age.water_wheel.subtitle}" + tasks: [ + { + id: "1D82D22878EE6D21" + item: "create:water_wheel" + type: "item" + } + { + id: "1A20DE855DEB137C" + item: "create:large_water_wheel" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.water_wheel.title}" + x: -14.5d + y: -3.0d + } + { + dependencies: ["0D0D461AE3A3F7BF"] + description: ["{quests.steam_age.windmill.desc}"] + id: "617E0AFB7BA3D7A8" + subtitle: "{quests.steam_age.windmill.subtitle}" + tasks: [ + { + id: "26EA0D8EDFCF3727" + item: "create:windmill_bearing" + type: "item" + } + { + count: 8L + id: "3095A44065C9F130" + item: "create:white_sail" + type: "item" + } + ] + title: "{quests.steam_age.windmill.title}" + x: -14.5d + y: -7.0d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: ["{quests.steam_age.metal_casing.desc}"] + id: "7F14D2A34F480ACA" + size: 1.5d + subtitle: "{quests.steam_age.metal_casing.subtitle}" + tasks: [{ + id: "1554B18D816C3549" + item: "create:andesite_casing" + type: "item" + }] + title: "{quests.steam_age.metal_casing.title}" + x: -9.5d + y: -5.0d + } + { + dependencies: ["09D913288896A67A"] + description: ["{quests.steam_age.steel_encased_fan.desc}"] + id: "616E28977F3216D9" + subtitle: "{quests.steam_age.steel_encased_fan.subtitle}" + tasks: [{ + id: "32279C21D7553637" + item: { Count: 32, id: "greate:steel_encased_fan" } + type: "item" + }] + title: "{quests.steam_age.steel_encased_fan.title}" + x: -4.5d + y: -1.0d + } + { + dependencies: ["09D913288896A67A"] + description: [ + "{quests.steam_age.steel_pump.desc.1}" + "{@pagebreak}" + "{quests.steam_age.steel_pump.desc.2}" + "{@pagebreak}" + "{quests.steam_age.steel_pump.desc.3}" + ] + id: "51CBF7378FFAD514" + subtitle: "{quests.steam_age.steel_pump.subtitle}" + tasks: [{ + id: "1E7DD1C4FCCFD937" + item: "greate:steel_mechanical_pump" + type: "item" + }] + title: "{quests.steam_age.steel_pump.title}" + x: -2.5d + y: -3.0d + } + { + dependencies: ["209958FE2EEA5D72"] + description: [ + "{quests.steam_age.boilers.desc.1}" + "{@pagebreak}" + "{quests.steam_age.boilers.desc.2}" + ] + id: "46FA9DD4755A5548" + size: 1.5d + subtitle: "{quests.steam_age.boilers.subtitle}" + tasks: [{ + id: "07FFA9C76EE39D36" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:hp_steam_solid_boiler)item(gtceu:hp_steam_liquid_boiler)item(gtceu:hp_steam_solar_boiler))" + } + } + title: "{quests.steam_age.boilers.tasks}" + type: "item" + }] + title: "{quests.steam_age.boilers.title}" + x: -19.5d + y: 7.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.steam_engine.desc}"] + hide_dependent_lines: true + id: "183D47F04CAEBFA7" + size: 1.5d + subtitle: "{quests.steam_age.steam_engine.subtitle}" + tasks: [ + { + id: "704B7094BE2FB3E1" + item: "create:steam_engine" + type: "item" + } + { + id: "4655500474F4236C" + item: "create:blaze_burner" + type: "item" + } + ] + title: "{quests.steam_age.steam_engine.title}" + x: -16.5d + y: 14.5d + } + { + dependencies: ["7F14D2A34F480ACA"] + description: ["{quests.steam_age.mechanical_saw.desc}"] + id: "069825FBCFB0FB9C" + subtitle: "{quests.steam_age.mechanical_saw.subtitle}" + tasks: [{ + id: "5005121E0361DBD2" + item: "greate:andesite_alloy_mechanical_saw" + type: "item" + }] + title: "{quests.steam_age.mechanical_saw.title}" + x: -9.5d + y: -3.0d + } + { + dependencies: ["7F14D2A34F480ACA"] + description: ["{quests.steam_age.mechanical_harvester.desc}"] + id: "76871B4CEEEC70B8" + subtitle: "{quests.steam_age.mechanical_harvester.subtitle}" + tasks: [{ + id: "34092F5FBDFB9761" + item: "create:mechanical_harvester" + type: "item" + }] + title: "{quests.steam_age.mechanical_harvester.title}" + x: -9.5d + y: -7.0d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: ["{quests.steam_age.chute.desc}"] + id: "05CC8C5E63CD1DB8" + subtitle: "{quests.steam_age.chute.subtitle}" + tasks: [ + { + id: "7CB1E90EAF7861FB" + item: "create:chute" + type: "item" + } + { + id: "66E04B6A41557709" + item: "create:andesite_funnel" + optional_task: true + type: "item" + } + { + id: "6E500B14003B937D" + item: "minecraft:hopper" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.chute.title}" + x: -12.0d + y: -3.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.mold_table.desc.1}" + "{@pagebreak}" + "{quests.steam_age.mold_table.desc.2}" + ] + id: "66DBF1C68493A406" + subtitle: "{quests.steam_age.mold_table.subtitle}" + tasks: [{ + id: "7258D0D474B6F26E" + item: "tfcchannelcasting:mold_table" + type: "item" + }] + title: "{quests.steam_age.mold_table.title}" + x: -2.5d + y: -1.0d + } + { + dependencies: ["32046292AA5B0E30"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.steel_greate.desc}"] + id: "09D913288896A67A" + size: 1.5d + subtitle: "{quests.steam_age.steel_greate.subtitle}" + tasks: [ + { + id: "23DE370285589CB4" + item: "greate:steel_shaft" + type: "item" + } + { + id: "4FDD99090C920E21" + item: "greate:steel_cogwheel" + type: "item" + } + { + id: "5569D0030FB45C5D" + item: "greate:large_steel_cogwheel" + type: "item" + } + ] + title: "{quests.steam_age.steel_greate.title}" + x: -4.5d + y: -3.0d + } + { + dependencies: ["09D913288896A67A"] + description: ["{quests.steam_age.steel_millstone.desc}"] + hide_dependent_lines: true + id: "5E4FC017E09ACF44" + subtitle: "{quests.steam_age.steel_millstone.subtitle}" + tasks: [{ + id: "3E3D4CD3283461DE" + item: "greate:steel_millstone" + type: "item" + }] + title: "{quests.steam_age.steel_millstone.title}" + x: -6.5d + y: -3.0d + } + { + dependencies: ["5917B0D4708BF534"] + description: ["{quests.steam_age.crushing_wheel.desc}"] + id: "4F3D0D746D26B59F" + optional: true + subtitle: "{quests.steam_age.crushing_wheel.subtitle}" + tasks: [{ + count: 2L + id: "7EDCBC04DAEA477C" + item: "greate:steel_crushing_wheel" + type: "item" + }] + title: "{quests.steam_age.crushing_wheel.title}" + x: -19.5d + y: 18.0d + } + { + dependencies: ["7DB7AB5349218605"] + description: ["{quests.steam_age.treated_planks.desc}"] + id: "246D2C5989E3E907" + subtitle: "{quests.steam_age.treated_planks.subtitle}" + tasks: [ + { + id: "7CF3C09E3907B1C0" + item: "gtceu:treated_wood_planks" + type: "item" + } + { + id: "72112F5EC062766C" + item: "gtceu:treated_wood_dust" + type: "item" + } + { + id: "0D95727196D033B5" + item: "gtceu:treated_wood_plate" + type: "item" + } + ] + title: "{quests.steam_age.treated_planks.title}" + x: -19.5d + y: 12.0d + } + { + dependencies: [ + "246D2C5989E3E907" + "233B414B4F189140" + "781C6AD30194CB45" + ] + description: ["{quests.steam_age.electron_tube.desc}"] + id: "033E74BC588E7EAD" + shape: "octagon" + size: 2.0d + subtitle: "{quests.steam_age.electron_tube.subtitle}" + tasks: [{ + id: "471CCF5193150865" + item: "create:electron_tube" + type: "item" + }] + title: "{quests.steam_age.electron_tube.title}" + x: -19.5d + y: 14.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + dependency_requirement: "one_completed" + description: [ + "{quests.steam_age.miner.desc.1}" + "{@pagebreak}" + "{quests.steam_age.miner.desc.2}" + ] + id: "65066C9D630B7FFA" + optional: true + subtitle: "{quests.steam_age.miner.subtitle}" + tasks: [ + { + id: "068F7BD3AA0EF8E7" + item: "gtceu:hp_steam_miner" + type: "item" + } + { + id: "5ADC94CEBC196702" + item: "create:mechanical_drill" + type: "item" + } + ] + title: "{quests.steam_age.miner.title}" + x: -7.0d + y: 14.0d + } + { + dependencies: [ + "22E604DB7E7E87FB" + "09E12A399EE0A628" + "1912758422EEB006" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.glass_tube.desc}"] + id: "233B414B4F189140" + subtitle: "{quests.steam_age.glass_tube.subtitle}" + tasks: [{ + id: "004AF02E40B60ECF" + item: "gtceu:glass_tube" + type: "item" + }] + title: "{quests.steam_age.glass_tube.title}" + x: -25.0d + y: 14.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.deployers.desc}"] + id: "6AA07588374B59AB" + subtitle: "{quests.steam_age.deployers.subtitle}" + tasks: [ + { + id: "717CF950E5000569" + item: "create:deployer" + type: "item" + } + { + id: "38F9301A818347F7" + item: "create:depot" + optional_task: true + type: "item" + } + { + id: "66D11CA9FCD6933A" + item: "greate:rubber_belt_connector" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.deployers.title}" + x: -16.5d + y: 12.0d + } + { + dependencies: ["1912758422EEB006"] + description: ["{quests.steam_age.molding.desc}"] + icon: "gtceu:ball_casting_mold" + id: "09E12A399EE0A628" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.molding.subtitle}" + tasks: [ + { + id: "02A8B23277FFD95E" + item: "gtceu:plate_casting_mold" + type: "item" + } + { + id: "57B2773550AA7D37" + item: "gtceu:ball_casting_mold" + type: "item" + } + ] + title: "{quests.steam_age.molding.title}" + x: -25.0d + y: 9.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.mech_crafter.desc}"] + id: "5917B0D4708BF534" + optional: true + subtitle: "{quests.steam_age.mech_crafter.subtitle}" + tasks: [{ + id: "084E6F06E79A3B0F" + item: "create:mechanical_crafter" + type: "item" + }] + title: "{quests.steam_age.mech_crafter.title}" + x: -19.5d + y: 17.0d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.steam_bloomery.desc}"] + icon: "gtceu:steam_bloomery" + id: "0805CCABC8E7F6CF" + size: 1.5d + subtitle: "{quests.steam_age.steam_bloomery.subtitle}" + tasks: [ + { + id: "72D748120CACABE2" + item: "gtceu:steam_bloomery" + type: "item" + } + { + count: 3L + id: "019C4D427A06DF0E" + item: { Count: 3, id: "gtceu:bronze_firebox_casing" } + type: "item" + } + { + id: "402700D6CCD2BEF1" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "7B99996072C53AD9" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "6E4B41FDD286E184" + item: "gtceu:steam_output_bus" + type: "item" + } + ] + title: "{quests.steam_age.steam_bloomery.title}" + x: -22.5d + y: 4.0d + } + { + dependencies: ["05CC8C5E63CD1DB8"] + description: [ + "{quests.steam_age.item_pipes.desc.1}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.2}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.3}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.4}" + ] + icon: "gtceu:tin_small_item_pipe" + id: "08672B3000450F14" + size: 1.0d + subtitle: "{quests.steam_age.item_pipes.subtitle}" + tasks: [{ + id: "3122D989BAB787F4" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"Any item pipe\"}" + } + "ftbfiltersystem:filter": "or(item_tag(forge:small_item_pipes)item_tag(forge:normal_item_pipes)item_tag(forge:large_item_pipes)item_tag(forge:huge_item_pipes))" + } + } + title: "Any Item Pipes" + type: "item" + }] + title: "{quests.steam_age.item_pipes.title}" + x: -12.0d + y: -1.0d + } + { + dependencies: [ + "6FFD4990FF07078A" + "05BE9FE74E4F1AE9" + ] + description: ["{quests.steam_age.circuit_boards.desc}"] + icon: "gtceu:resin_printed_circuit_board" + id: "43D0B4F2ACB9931B" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.circuit_boards.subtitle}" + tasks: [{ + id: "2B8B038789480789" + item: "gtceu:resin_printed_circuit_board" + type: "item" + }] + title: "{quests.steam_age.circuit_boards.title}" + x: -11.5d + y: 8.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.compressor.desc}"] + id: "7DB7AB5349218605" + size: 1.0d + subtitle: "{quests.steam_age.compressor.subtitle}" + tasks: [{ + id: "422B0536DAAF3DD4" + item: "gtceu:hp_steam_compressor" + type: "item" + }] + title: "{quests.steam_age.compressor.title}" + x: -19.5d + y: 9.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.alloy_smelter.desc}"] + id: "1912758422EEB006" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.alloy_smelter.subtitle}" + tasks: [{ + id: "47ABB2F2EB140120" + item: "gtceu:hp_steam_alloy_smelter" + type: "item" + }] + title: "{quests.steam_age.alloy_smelter.title}" + x: -22.5d + y: 9.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.forge_hammer.desc}"] + id: "59F7F7A8C76DE31C" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.forge_hammer.subtitle}" + tasks: [{ + id: "18FFF2B9BC20C28B" + item: "gtceu:hp_steam_forge_hammer" + type: "item" + }] + title: "{quests.steam_age.forge_hammer.title}" + x: -22.5d + y: 8.0d + } + { + dependencies: [ + "5F3063C539C9CBBF" + "05BE9FE74E4F1AE9" + ] + description: ["{quests.steam_age.vacuum_tubes.desc}"] + id: "2C35D4E01AEC02AA" + shape: "octagon" + size: 2.0d + subtitle: "{quests.steam_age.vacuum_tubes.subtitle}" + tasks: [{ + id: "71433924A1ACEDA1" + item: "gtceu:vacuum_tube" + type: "item" + }] + title: "{quests.steam_age.vacuum_tubes.title}" + x: -10.0d + y: 12.0d + } + { + dependencies: ["7DB7AB5349218605"] + description: ["{quests.steam_age.wood_plank.desc}"] + id: "3E175E20C91F168B" + subtitle: "{quests.steam_age.wood_plank.subtitle}" + tasks: [{ + id: "339B48BCF11A29E0" + item: "gtceu:wood_plate" + type: "item" + }] + title: "{quests.steam_age.wood_plank.title}" + x: -16.5d + y: 9.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.extractor.desc}"] + id: "1DF4DBE41BB0B6FD" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.extractor.subtitle}" + tasks: [{ + id: "5C84856667925F76" + item: "gtceu:hp_steam_extractor" + type: "item" + }] + title: "{quests.steam_age.extractor.title}" + x: -16.5d + y: 7.5d + } + { + dependencies: [ + "6FFD4990FF07078A" + "16CF5A9012EF4B27" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.resistors.desc}"] + id: "69BDD31A69062B6C" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.resistors.subtitle}" + tasks: [{ + id: "4E6D1A59F2BAE607" + item: "gtceu:resistor" + type: "item" + }] + title: "{quests.steam_age.resistors.title}" + x: -7.0d + y: 9.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.coiling_machine.desc}"] + id: "072F6E48A1C5ECE9" + optional: true + subtitle: "{quests.steam_age.coiling_machine.subtitle}" + tasks: [{ + id: "07B7D41ACDCD1DEA" + item: "vintageimprovements:spring_coiling_machine" + type: "item" + }] + title: "{quests.steam_age.coiling_machine.title}" + x: -12.0d + y: 15.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.steel_mixer.desc}"] + id: "49896161B31DB7B4" + optional: true + size: 1.25d + subtitle: "{quests.steam_age.steel_mixer.subtitle}" + tasks: [{ + id: "42F060A386ADF999" + item: "greate:steel_mechanical_mixer" + type: "item" + }] + title: "{quests.steam_age.steel_mixer.title}" + x: -7.0d + y: 12.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.lathe.desc}"] + id: "6A92E8396DE40577" + optional: true + subtitle: "{quests.steam_age.lathe.subtitle}" + tasks: [{ + id: "269D79581AC1E0D6" + item: "vintageimprovements:lathe" + type: "item" + }] + title: "{quests.steam_age.lathe.title}" + x: -8.0d + y: 15.0d + } + { + dependencies: [ + "033E74BC588E7EAD" + "5917B0D4708BF534" + ] + description: ["{quests.steam_age.centrifuge.desc}"] + id: "19A1D52A7F550478" + optional: true + subtitle: "{quests.steam_age.centrifuge.subtitle}" + tasks: [{ + id: "69668479444FF064" + item: "vintageimprovements:centrifuge" + type: "item" + }] + title: "{quests.steam_age.centrifuge.title}" + x: -18.0d + y: 17.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.vibrating_table.desc}"] + id: "1E8CC993E0251828" + optional: true + subtitle: "{quests.steam_age.vibrating_table.subtitle}" + tasks: [{ + id: "3035C0B44A0E1854" + item: "vintageimprovements:vibrating_table" + type: "item" + }] + title: "{quests.steam_age.vibrating_table.title}" + x: -10.0d + y: 15.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: [ + "{quests.steam_age.rolling_mill.desc.1}" + "{@pagebreak}" + "{quests.steam_age.rolling_mill.desc.2}" + ] + id: "4C22BE513927247B" + optional: true + size: 1.25d + subtitle: "{quests.steam_age.rolling_mill.subtitle}" + tasks: [{ + id: "621AA4E967D54305" + item: "createaddition:rolling_mill" + type: "item" + }] + title: "{quests.steam_age.rolling_mill.title}" + x: -7.0d + y: 11.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.steel_saw.desc}"] + id: "0078B9234C554C6E" + optional: true + subtitle: "{quests.steam_age.steel_saw.subtitle}" + tasks: [{ + id: "40E3951B8862B9A4" + item: "greate:steel_mechanical_saw" + type: "item" + }] + title: "{quests.steam_age.steel_saw.title}" + x: -9.0d + y: 15.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.curving_press.desc}"] + id: "6ABACC7B9967851D" + optional: true + subtitle: "{quests.steam_age.curving_press.subtitle}" + tasks: [{ + id: "2AE28D5C5FC74A56" + item: "vintageimprovements:curving_press" + type: "item" + }] + title: "{quests.steam_age.curving_press.title}" + x: -11.0d + y: 15.0d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.steam_furnace.desc}"] + id: "799288FB7A4DCA11" + subtitle: "{quests.steam_age.steam_furnace.subtitle}" + tasks: [{ + id: "3F510CDD8E437540" + item: "gtceu:hp_steam_furnace" + type: "item" + }] + title: "{quests.steam_age.steam_furnace.title}" + x: -16.5d + y: 5.5d + } + { + dependencies: ["799288FB7A4DCA11"] + description: [ + "{quests.steam_age.steam_oven.desc.1}" + "{@pagebreak}" + "{quests.steam_age.steam_oven.desc.2}" + ] + icon: "gtceu:steam_oven" + id: "3E6DE0B94490FCEC" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.steam_oven.subtitle}" + tasks: [ + { + id: "1675EA4117A36C72" + item: "gtceu:steam_oven" + type: "item" + } + { + id: "4EE63FDD07EC0467" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "0C9D5C87DEC212D2" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "60828361A38F4E1E" + item: "gtceu:steam_output_bus" + type: "item" + } + { + count: 8L + id: "10EC49FF899232F6" + item: "gtceu:steam_machine_casing" + type: "item" + } + { + count: 8L + id: "27DDD13BE482E8A3" + item: "gtceu:bronze_firebox_casing" + type: "item" + } + ] + title: "{quests.steam_age.steam_oven.title}" + x: -16.5d + y: 3.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.rock_crusher.desc}"] + id: "2491CB5921B66446" + optional: true + subtitle: "{quests.steam_age.rock_crusher.subtitle}" + tasks: [{ + id: "5CA302572EF6D4E1" + item: "gtceu:hp_steam_rock_crusher" + type: "item" + }] + title: "{quests.steam_age.rock_crusher.title}" + x: -22.5d + y: 7.0d + } + { + dependencies: [ + "1912758422EEB006" + "12CB3B9ADC586521" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.red_alloy.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:red_alloy_ingot" + } + id: "781C6AD30194CB45" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.red_alloy.subtitle}" + tasks: [ + { + id: "4D1E98E699F1E724" + item: "gtceu:red_alloy_ingot" + type: "item" + } + { + id: "41331A38F9664605" + item: "gtceu:red_alloy_single_wire" + type: "item" + } + { + id: "747DB1DB09BA185B" + item: "gtceu:red_alloy_single_cable" + type: "item" + } + ] + title: "{quests.steam_age.red_alloy.title}" + x: -22.5d + y: 12.0d + } + { + dependencies: [ + "183D47F04CAEBFA7" + "3D8174C64DDC268B" + ] + description: [ + "{quests.steam_age.alternator.desc.1}" + "{@pagebreak}" + "{quests.steam_age.alternator.desc.2}" + "{image:tfg:textures/quests/alternator_multiblock.png width:100 height:100 align:center}" + ] + id: "0E57FC7FBFF1CFEB" + optional: true + shape: "square" + size: 1.5d + subtitle: "{quests.steam_age.alternator.subtitle}" + tasks: [ + { + id: "2A48D5B33BB7C9FE" + item: "createaddition:alternator" + type: "item" + } + { + id: "0115F13A8C4E6872" + item: "gtceu:lv_4a_energy_converter" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.alternator.title}" + x: -10.0d + y: 3.5d + } + { + dependencies: ["3D8174C64DDC268B"] + description: ["{quests.steam_age.what_next.desc}"] + icon: "gtceu:lv_machine_hull" + id: "0DAE3D612E70F462" + shape: "diamond" + subtitle: "{quests.steam_age.what_next.subtitle}" + tasks: [{ + id: "759B03FB27B79731" + type: "checkmark" + }] + title: "{quests.steam_age.what_next.title}" + x: -7.0d + y: 6.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.fluid_pipes.desc.1}" + "{@pagebreak}" + "{quests.steam_age.fluid_pipes.desc.2}" + ] + icon: "gtceu:bronze_normal_fluid_pipe" + id: "0109231F33296868" + size: 1.0d + subtitle: "{quests.steam_age.fluid_pipes.subtitle}" + tasks: [ + { + id: "59512A7A04D517E6" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:bronze_tiny_fluid_pipe)item(gtceu:bronze_quadruple_fluid_pipe)item(gtceu:bronze_nonuple_fluid_pipe)item(gtceu:bronze_huge_fluid_pipe)item(gtceu:bronze_large_fluid_pipe)item(gtceu:bronze_normal_fluid_pipe)item(gtceu:bronze_small_fluid_pipe))" + } + } + title: "Any Bronze Pipe" + type: "item" + } + { + id: "143EA7ABC19B6AFC" + item: "gtceu:wood_normal_fluid_pipe" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.fluid_pipes.title}" + x: -2.5d + y: -5.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.fluid_drums.desc.1}" + "{@pagebreak}" + "{quests.steam_age.fluid_drums.desc.2}" + ] + icon: "gtceu:bronze_drum" + id: "499D24AFADC25AA9" + size: 1.0d + subtitle: "{quests.steam_age.fluid_drums.subtitle}" + tasks: [{ + id: "73A31AC2888A851E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:bronze_drum)item(gtceu:steel_drum)item(gtceu:aluminium_drum)item(gtceu:stainless_steel_drum)item(gtceu:gold_drum)item(gtceu:titanium_drum)item(gtceu:tungsten_steel_drum))" + } + } + type: "item" + }] + title: "{quests.steam_age.fluid_drums.title}" + x: -0.5d + y: -3.0d + } + { + dependencies: ["49896161B31DB7B4"] + description: [ + "{quests.steam_age.potin.desc.1}" + "{@pagebreak}" + "{quests.steam_age.potin.desc.2}" + ] + icon: "gtceu:potin_normal_fluid_pipe" + id: "6B6FEF3DC6299CD9" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.potin.subtitle}" + tasks: [{ + id: "3FC7579C544460B1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:potin_tiny_fluid_pipe)item(gtceu:potin_small_fluid_pipe)item(gtceu:potin_normal_fluid_pipe)item(gtceu:potin_large_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_quadruple_fluid_pipe)item(gtceu:potin_nonuple_fluid_pipe))" + } + } + title: "Any Potin Pipe" + type: "item" + }] + title: "{quests.steam_age.potin.title}" + x: -5.5d + y: 12.5d + } + { + dependencies: ["6F1BC99BE641B671"] + description: ["{quests.steam_age.create_tools.desc}"] + id: "2F81902C6B1D4902" + subtitle: "{quests.steam_age.create_tools.subtitle}" + tasks: [ + { + id: "272B2620E00219B5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/wrench)" + } + } + title: "Any #forge:tools/wrench" + type: "item" + } + { + id: "12C909F6EB4BB615" + item: "create:goggles" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.create_tools.title}" + x: -18.0d + y: -3.0d + } + { + dependencies: ["6AA07588374B59AB"] + description: ["{quests.steam_age.trains.desc}"] + id: "02854A3E8A5D5043" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.trains.subtitle}" + tasks: [ + { + id: "7D63DDE72E9AC188" + item: "create:track_station" + type: "item" + } + { + id: "48F6ED366BE64A71" + item: "create:railway_casing" + type: "item" + } + { + id: "1BC698B7C0124CA0" + item: "create:controls" + type: "item" + } + ] + title: "{quests.steam_age.trains.title}" + x: -16.5d + y: 13.0d + } + { + dependencies: ["6AA07588374B59AB"] + description: ["{quests.steam_age.vacuum_chamber.desc}"] + id: "5F3063C539C9CBBF" + subtitle: "{quests.steam_age.vacuum_chamber.subtitle}" + tasks: [{ + id: "5BAA167FA59D5C32" + item: "vintageimprovements:vacuum_chamber" + type: "item" + }] + title: "{quests.steam_age.vacuum_chamber.title}" + x: -13.5d + y: 12.0d + } + { + description: ["{quests.metal_age.black_steel_goodies.desc}"] + id: "209958FE2EEA5D72" + shape: "gear" + size: 3.0d + subtitle: "{quests.metal_age.black_steel_goodies.subtitle}" + tasks: [{ + id: "066CDB0C97CF74EF" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/black_steel" + } + type: "item" + }] + title: "{quests.metal_age.black_steel_goodies.title}" + x: -19.5d + y: 3.0d + } + { + dependencies: ["1059288C22CB56BB"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.poor_paths.desc}"] + id: "6356072A435EFE81" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.poor_paths.subtitle}" + tasks: [ + { + disable_toast: true + id: "4F3DE27E5A72D7BD" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:dirt)" + } + } + optional_task: true + title: "Any #tfc:dirt" + type: "item" + } + { + disable_toast: true + id: "2A6A80CC908180C5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:grass)" + } + } + optional_task: true + title: "Any #tfc:grass" + type: "item" + } + { + id: "63E8E70536A0E327" + type: "checkmark" + } + ] + title: "{quests.steam_age.poor_paths.title}" + x: -23.5d + y: -6.5d + } + { + dependencies: ["1059288C22CB56BB"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.normal_paths.desc}"] + id: "494E81202B0F36A7" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.normal_paths.subtitle}" + tasks: [ + { + id: "0E4FF871FD6313B1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:paths)" + } + } + optional_task: true + title: "Any #tfc:paths" + type: "item" + } + { + disable_toast: true + id: "5F38585D28010C6C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/gravel)" + } + } + optional_task: true + title: "Any #tfc:rock/gravel" + type: "item" + } + { + id: "2ED43D8943143635" + item: "rnr:hoggin" + optional_task: true + type: "item" + } + { + id: "4CBEBCFBCB80C624" + type: "checkmark" + } + ] + title: "{quests.steam_age.normal_paths.title}" + x: -24.0d + y: -5.0d + } + { + dependencies: ["1059288C22CB56BB"] + description: ["{quests.steam_age.good_paths.desc}"] + id: "52A82511A64B0A5B" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.good_paths.subtitle}" + tasks: [ + { + id: "17BE9908916FD48D" + item: "rnr:rock/sett_road/granite" + optional_task: true + type: "item" + } + { + id: "276FE934DBA46B50" + item: "rnr:rock/cobbled_road/granite" + optional_task: true + type: "item" + } + { + id: "3ED818D7E317850A" + item: "rnr:rock/flagstones/granite" + optional_task: true + type: "item" + } + { + id: "781B70D87BB8051D" + item: "rnr:pink_sandstone_flagstones" + optional_task: true + type: "item" + } + { + id: "3A58D37BC4DA80A9" + item: "rnr:rock/gravel_road/granite" + optional_task: true + type: "item" + } + { + id: "11F7E8FFE4575FF8" + item: "rnr:rock/macadam_road/granite" + optional_task: true + type: "item" + } + { + id: "5782F5692D6AF00A" + type: "checkmark" + } + ] + title: "{quests.steam_age.good_paths.title}" + x: -23.5d + y: -3.5d + } + { + dependencies: [ + "69BDD31A69062B6C" + "43D0B4F2ACB9931B" + "6903C72A254A7B08" + "2C35D4E01AEC02AA" + ] + description: ["{quests.steam_age.lv_circuit.desc}"] + icon: "gtceu:basic_electronic_circuit" + id: "3D8174C64DDC268B" + shape: "gear" + size: 3.0d + subtitle: "{quests.steam_age.lv_circuit.subtitle}" + tasks: [{ + id: "59CF003A962651B0" + item: "gtceu:basic_electronic_circuit" + type: "item" + }] + title: "{quests.steam_age.lv_circuit.title}" + x: -10.0d + y: 6.0d + } + { + dependencies: ["4CD3F04793CE47A2"] + description: ["{quests.steam_age.paper.desc}"] + disable_toast: true + id: "16CF5A9012EF4B27" + shape: "diamond" + subtitle: "{quests.steam_age.paper.subtitle}" + tasks: [{ + id: "1567AABEC83A6346" + item: "minecraft:paper" + type: "item" + }] + title: "{quests.steam_age.paper.title}" + x: -5.5d + y: 9.5d + } + { + description: ["{quests.metal_age.bronze_goodies.desc}"] + disable_toast: true + id: "6F1BC99BE641B671" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.bronze_goodies.subtitle}" + tasks: [{ + id: "5B891E7A5DB66813" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:bronze_anvils)" + } + } + title: "Any #tfc:bronze_anvils" + type: "item" + }] + title: "{quests.metal_age.bronze_goodies.title}" + x: -20.0d + y: -5.0d + } + { + description: ["{quests.metal_age.wrought_iron_goodies.desc}"] + id: "6E8CEE02CB5B678B" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" + tasks: [{ + id: "14980AA2D20804BA" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/wrought_iron" + } + type: "item" + }] + title: "{quests.metal_age.wrought_iron_goodies.title}" + x: -12.0d + y: -5.0d + } + { + description: ["{quests.metal_age.steel_goodies.desc}"] + id: "32046292AA5B0E30" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.steel_goodies.subtitle}" + tasks: [{ + id: "6D4629A2C1063653" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/steel" + } + type: "item" + }] + title: "{quests.metal_age.steel_goodies.title}" + x: -4.5d + y: -5.0d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.steam_macerator.desc}"] + id: "6CF7DCC996BACBFA" + optional: true + subtitle: "{quests.steam_age.steam_macerator.subtitle}" + tasks: [{ + id: "19146D7510558652" + item: "gtceu:hp_steam_macerator" + type: "item" + }] + title: "{quests.steam_age.steam_macerator.title}" + x: -22.5d + y: 6.0d + } + { + dependencies: [ + "6CF7DCC996BACBFA" + "5E4FC017E09ACF44" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.steam_grinder.desc}"] + id: "0CC370A6FC56935B" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steam_grinder.subtitle}" + tasks: [{ + id: "1CD61C4F273665DE" + item: "gtceu:steam_grinder" + type: "item" + }] + title: "{quests.steam_age.steam_grinder.title}" + x: -25.0d + y: 6.0d + } + { + dependencies: ["3E175E20C91F168B"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.organization.desc}"] + icon: "create:clipboard" + id: "03CCE899894A3364" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.organization.subtitle}" + tasks: [ + { + id: "2F56DA36512D2363" + item: "create:clipboard" + type: "item" + } + { + id: "6A41DD1F9FFD1781" + item: "create:crafting_blueprint" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.organization.title}" + x: -16.5d + y: 10.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.rotation_speed_controller.desc}"] + id: "414835BADD34513F" + optional: true + subtitle: "{quests.steam_age.rotation_speed_controller.subtitle}" + tasks: [{ + id: "74770DF964D26059" + item: "create:rotation_speed_controller" + type: "item" + }] + title: "{quests.steam_age.rotation_speed_controller.title}" + x: -21.0d + y: 17.0d + } + { + dependencies: [ + "6FFD4990FF07078A" + "3E175E20C91F168B" + ] + description: ["{quests.steam_age.resin_boards.desc}"] + id: "05BE9FE74E4F1AE9" + subtitle: "{quests.steam_age.resin_boards.subtitle}" + tasks: [{ + id: "1367C83F3529D5EA" + item: "gtceu:resin_circuit_board" + type: "item" + }] + title: "{quests.steam_age.resin_boards.title}" + x: -13.5d + y: 9.5d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: [ + "{quests.metal_age.coke_oven.desc.1}" + "{@pagebreak}" + "{quests.metal_age.coke_oven.desc.2}" + "{@pagebreak}" + "" + "{image:tfg:textures/quests/auto_coke.png width:100 height:100 align:center}" + ] + id: "0D0D461AE3A3F7BF" + size: 1.5d + subtitle: "{quests.metal_age.coke_oven.subtitle}" + tasks: [ + { + id: "1D22CEA76A676434" + item: "gtceu:coke_oven" + type: "item" + } + { + id: "7C2595BA70CBB39E" + item: "gtceu:coke_oven_bricks" + type: "item" + } + { + id: "11981B2183C67CE0" + item: "gtceu:coke_oven_hatch" + type: "item" + } + ] + title: "{quests.metal_age.coke_oven.title}" + x: -14.5d + y: -5.0d + } + ] + subtitle: ["{quests.steam_age.subtitle}"] + title: "{quests.steam_age}" +} diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt new file mode 100644 index 000000000..d0f810272 --- /dev/null +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -0,0 +1,2230 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "questsstoneage" + group: "3C4612A920658A7E" + icon: "tfc:rock/loose/granite" + id: "66469D508CDD9C7E" + images: [ + { + height: 1.0d + image: "tfc:item/grass_block_top" + rotation: 0.0d + width: 1.0d + x: -3.0d + y: 10.5d + } + { + height: 1.0d + image: "minecraft:block/blue_ice" + rotation: 0.0d + width: 1.0d + x: -6.0d + y: 10.5d + } + { + height: 1.0d + image: "minecraft:block/lava_still" + rotation: 0.0d + width: 1.0d + x: 0.0d + y: 10.5d + } + ] + order_index: 0 + quest_links: [ + { + id: "409385C6F6640BEA" + linked_quest: "427814F6E9386772" + shape: "gear" + size: 4.0d + x: 0.0d + y: 0.0d + } + { + disable_toast: true + id: "40D0029A2097C68F" + linked_quest: "3D7B0F3134C30364" + shape: "octagon" + size: 3.0d + x: 4.5d + y: 0.0d + } + ] + quests: [ + { + dependencies: ["3D7B0F3134C30364"] + description: [ + "{quests.stone_age.find_rock.desc}" + "{@pagebreak}" + "" + "{image:tfc:textures/gui/book/gui/rock_knapping.png width:100 height:100 align:center fit:true}" + ] + id: "78E3BF0BEB48635B" + size: 1.0d + subtitle: "{quests.stone_age.find_rock.subtitle}" + tasks: [{ + count: 4L + id: "6EC31A845E58B399" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock_knapping)" + } + } + title: "{quests.tasktype.item.any} #tfc:rock_knapping" + type: "item" + }] + title: "{quests.stone_age.find_rock.title}" + x: 7.0d + y: 0.0d + } + { + dependencies: ["3D7B0F3134C30364"] + description: ["{quests.stone_age.find_potable_water.desc}"] + icon: "createdeco:decal_fluid" + id: "1D40CAE675C4BB91" + size: 1.0d + subtitle: "{quests.stone_age.find_potable_water.subtitle}" + tasks: [{ + icon: "minecraft:water_bucket" + id: "73E3594A5481E63F" + observe_type: 0 + timer: 0L + title: "{quests.tasktype.lookat} {quests.stone_age.find_potable_water.task}" + to_observe: "minecraft:water" + type: "observation" + }] + title: "{quests.stone_age.find_potable_water.title}" + x: 4.5d + y: 6.0d + } + { + dependencies: ["3D7B0F3134C30364"] + description: ["{quests.stone_age.find_stick.desc}"] + hide_dependency_lines: true + id: "4C3414E10EDB2E82" + size: 1.0d + subtitle: "{quests.stone_age.find_stick.subtitle}" + tasks: [{ + count: 2L + id: "0D15681D9A617758" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:rods/wooden)" + } + } + title: "{quests.tasktype.item.any} #forge:rods/wooden" + type: "item" + }] + title: "{quests.stone_age.find_stick.title}" + x: 11.0d + y: -2.0d + } + { + dependencies: [ + "78E3BF0BEB48635B" + "4C3414E10EDB2E82" + ] + description: ["{quests.stone_age.stone_tools.desc}"] + hide_until_deps_visible: true + id: "6EBC3E2B59B1833D" + optional: true + shape: "heart" + subtitle: "{quests.stone_age.stone_tools.subtitle}" + tasks: [ + { + id: "5DB5F5F064D03CFE" + item: { + Count: 1 + id: "gtceu:stone_hammer" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + Damage: 0 + HarvestLevel: 1 + MaxDamage: 47 + ToolSpeed: 5.2f + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "7C6E5778818C6FE8" + item: { + Count: 1 + id: "gtceu:stone_shovel" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + Damage: 0 + HarvestLevel: 1 + MaxDamage: 47 + ToolSpeed: 5.2f + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "69717EBC7DE9352A" + item: { + Count: 1 + id: "gtceu:stone_axe" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { + DisableShields: 1b + TreeFelling: 1b + } + GT.Tool: { + Damage: 0 + HarvestLevel: 1 + MaxDamage: 47 + ToolSpeed: 3.2f + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "2D3A37C316A73D7C" + item: { + Count: 1 + id: "gtceu:stone_hoe" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + Damage: 0 + MaxDamage: 47 + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "646B2D350F952962" + item: { + Count: 1 + id: "gtceu:stone_knife" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + AttackDamage: 1.0f + AttackSpeed: 3.0f + Damage: 0 + MaxDamage: 47 + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "6A9611EA5D090E35" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:stone_javelins)" + } + } + title: "Any #tfc:stone_javelins" + type: "item" + } + ] + title: "{quests.stone_age.stone_tools.title}" + x: 7.0d + y: -2.0d + } + { + dependencies: ["20B910AAAC661E09"] + description: ["{quests.stone_age.gather_logs.desc}"] + id: "2108338E1693768B" + subtitle: "{quests.stone_age.gather_logs.subtitle}" + tasks: [{ + count: 10L + id: "1BC63DC54B3067C5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:logs)" + } + } + title: "{quests.tasktype.item.any} #minecraft:logs" + type: "item" + }] + title: "{quests.stone_age.gather_logs.title}" + x: 12.0d + y: 2.0d + } + { + dependencies: ["0B140885C77A752D"] + description: ["{quests.stone_age.workbench.desc}"] + id: "4C444814F1C7B600" + shape: "octagon" + size: 3.0d + subtitle: "{quests.stone_age.workbench.subtitle}" + tasks: [{ + id: "370C19839C680D81" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:workbenches)" + } + } + title: "{quests.tasktype.item.any} #tfc:workbenches" + type: "item" + }] + title: "{quests.stone_age.workbench.title}" + x: 11.0d + y: 13.5d + } + { + dependencies: [ + "669F84C6A2A64145" + "13BC619900C60011" + "3CA3B76D09F03ED6" + ] + dependency_requirement: "one_completed" + description: [ + "{quests.stone_age.first_saw.desc.1}" + "{@pagebreak}" + "{quests.stone_age.first_saw.desc.2}" + ] + id: "76B145EFF9B5DB67" + min_required_dependencies: 2 + subtitle: "{quests.stone_age.first_saw.subtitle}" + tasks: [{ + id: "552927025A57B775" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:copper_saw)item(gtceu:bismuth_bronze_saw)item(gtceu:bronze_saw)item(gtceu:black_bronze_saw))" + } + } + title: "{quests.stone_age.first_saw.tasks.2}" + type: "item" + }] + title: "{quests.stone_age.first_saw.title}" + x: 11.0d + y: 8.5d + } + { + dependencies: ["76B145EFF9B5DB67"] + description: ["{quests.stone_age.craft_lumber.desc}"] + id: "0B140885C77A752D" + subtitle: "{quests.stone_age.craft_lumber.subtitle}" + tasks: [ + { + count: 16L + id: "7B775F77AB42DB25" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:lumber)" + } + } + title: "{quests.tasktype.item.any} #tfc:lumber" + type: "item" + } + { + count: 4L + id: "2AE7605A5E0535EE" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:planks)" + } + } + title: "{quests.tasktype.item.any} #minecraft:planks" + type: "item" + } + ] + title: "{quests.stone_age.craft_lumber.title}" + x: 11.0d + y: 10.5d + } + { + dependencies: [ + "718CDC407CDE32E1" + "1D40CAE675C4BB91" + ] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.water_jug.desc}"] + id: "7D828280098F6BEE" + subtitle: "{quests.stone_age.water_jug.subtitle}" + tasks: [{ + id: "0D682F8BE96153F9" + item: { + Count: 1 + id: "tfc:ceramic/jug" + tag: { + fluid: { + Amount: 100 + FluidName: "minecraft:water" + } + } + } + type: "item" + }] + title: "{quests.stone_age.water_jug.title}" + x: 7.0d + y: 6.0d + } + { + dependencies: [ + "2108338E1693768B" + "015E7A116CCD3191" + ] + description: [ + "{quests.stone_age.pit_kiln.desc}" + "{@pagebreak}" + "" + "{image:tfc:textures/gui/book/tutorial/pit_kiln_2.png width:100 height:100 align:center}" + "{@pagebreak}" + "" + "{image:tfc:textures/gui/book/tutorial/pit_kiln_3.png width:100 height:100 align:center}" + "{@pagebreak}" + "" + "{image:tfc:textures/gui/book/tutorial/pit_kiln_4.png width:100 height:100 align:center}" + "{@pagebreak}" + "" + "{image:tfc:textures/gui/book/tutorial/pit_kiln_5.png width:100 height:100 align:center}" + ] + id: "3630ED3B85753BB2" + size: 2.0d + subtitle: "{quests.stone_age.pit_kiln.subtitle}" + tasks: [{ + icon: "tfc:firepit" + id: "66D681FE9C9D8249" + observe_type: 0 + timer: 0L + title: "{quests.tasktype.lookat} tfc:pit_kiln" + to_observe: "tfc:pit_kiln" + type: "observation" + }] + title: "{quests.stone_age.pit_kiln.title}" + x: 11.0d + y: 4.0d + } + { + dependencies: ["20B910AAAC661E09"] + description: ["{quests.stone_age.gather_straw.desc}"] + id: "015E7A116CCD3191" + subtitle: "{quests.stone_age.gather_straw.subtitle}" + tasks: [{ + count: 8L + id: "6F6ACDBC97DEF163" + item: { Count: 8, id: "tfc:straw" } + type: "item" + }] + title: "{quests.stone_age.gather_straw.title}" + x: 10.0d + y: 2.0d + } + { + dependencies: [ + "560B17BFBE8D477D" + "1D40CAE675C4BB91" + ] + description: ["{quests.stone_age.leather_flask.desc}"] + id: "62BD1E75FD629161" + subtitle: "{quests.stone_age.leather_flask.subtitle}" + tasks: [{ + id: "19738C50367BC37B" + item: { + Count: 1 + id: "waterflasks:leather_flask" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.stone_age.leather_flask.title}" + x: 1.5d + y: 6.0d + } + { + dependencies: [ + "1562419608EB333D" + "174DA15847665CF8" + ] + description: ["{quests.stone_age.iron_flask.desc}"] + id: "11C45DBB20ED7647" + subtitle: "{quests.stone_age.iron_flask.subtitle}" + tasks: [{ + id: "6D628C84743356F0" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "waterflasks:iron_flask" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.stone_age.iron_flask.title}" + x: 2.5d + y: 8.0d + } + { + dependencies: ["3D7B0F3134C30364"] + description: ["{quests.stone_age.find_clay.desc}"] + hide_dependency_lines: true + id: "021921B4D2044B3B" + subtitle: "{quests.stone_age.find_clay.subtitle}" + tasks: [ + { + icon: "tfc:clay_grass/loam" + id: "365FB8F8FC235855" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfc:clay" + to_observe: "#tfc:clay" + type: "observation" + } + { + icon: "tfc:plant/pampas_grass" + id: "0DEAAE4416D8F289" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfc:clay_indicators" + to_observe: "#tfc:clay_indicators" + type: "observation" + } + ] + title: "{quests.stone_age.find_clay.title}" + x: 18.5d + y: 6.0d + } + { + dependencies: ["021921B4D2044B3B"] + description: ["{quests.stone_age.clay.desc}"] + id: "3687ACAD307EE7EF" + subtitle: "{quests.stone_age.clay.subtitle}" + tasks: [{ + count: 5L + id: "4FCD61B48E983629" + item: "minecraft:clay_ball" + type: "item" + }] + title: "{quests.stone_age.clay.title}" + x: 17.0d + y: 6.0d + } + { + dependencies: ["3D7B0F3134C30364"] + description: [ + "{quests.stone_age.native_ores.desc.1}" + "{@pagebreak}" + "{quests.stone_age.native_ores.desc.2}" + ] + hide_dependency_lines: true + id: "669F84C6A2A64145" + shape: "diamond" + subtitle: "{quests.stone_age.native_ores.subtitle}" + tasks: [{ + id: "0B70FD35D2C27E4C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:small_ore_pieces)" + } + } + title: "Any #tfc:small_ore_pieces" + type: "item" + }] + title: "{quests.stone_age.native_ores.title}" + x: 14.0d + y: 8.5d + } + { + dependencies: [ + "4C3414E10EDB2E82" + "2108338E1693768B" + ] + description: [ + "{quests.stone_age.firepit.desc.1}" + "{@pagebreak}" + "{quests.stone_age.firepit.desc.2}" + "{image:tfg:textures/quests/firepit.png width:100 height:100 align:center}" + ] + icon: "tfc:firepit" + id: "5301A38F7EA81140" + subtitle: "{quests.stone_age.firepit.subtitle}" + tasks: [ + { + id: "77A0EB7DDAA334C8" + item: { + Count: 1 + id: "tfc:firestarter" + tag: { + Damage: 0 + } + } + type: "item" + } + { + icon: "tfc:firepit" + id: "201FCF5880F6237F" + observe_type: 0 + timer: 0L + title: "{quests.tasktype.lookat} tfc:firepit" + to_observe: "tfc:firepit" + type: "observation" + } + ] + title: "{quests.stone_age.firepit.title}" + x: 14.5d + y: -2.0d + } + { + dependencies: ["45A09AD0043FF92B"] + description: ["{quests.metal_age.copper_anvil.desc}"] + id: "48A8E3210B2BAE1C" + shape: "gear" + size: 4.0d + subtitle: "{quests.metal_age.copper_anvil.subtitle}" + tasks: [{ + id: "3F1120F05AD5FB2B" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/copper" + } + type: "item" + }] + title: "{quests.metal_age.copper_anvil.title}" + x: 26.0d + y: 8.5d + } + { + dependencies: [ + "30E26DC33FD019FE" + "6EEBBF78AFA3F42A" + "706A1824B1487385" + "4D1CD95482EE2CDD" + ] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.weld_copper_ingots.desc}"] + id: "45A09AD0043FF92B" + subtitle: "{quests.stone_age.weld_copper_ingots.subtitle}" + tasks: [ + { + count: 7L + id: "5A6EF9EBF232601C" + item: { + Count: 7 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:copper_double_ingot" + } + type: "item" + } + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfchotornot:tongs/wood" + tag: { + Damage: 0 + } + } + id: "16434B6660C44E17" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfchotornot:insulating)" + } + } + optional_task: true + title: "Any #tfchotornot:insulating" + type: "item" + } + ] + title: "{quests.stone_age.weld_copper_ingots.title}" + x: 21.0d + y: 8.5d + } + { + dependencies: ["5E186CD5E83BFDF0"] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.flux.desc}"] + id: "30E26DC33FD019FE" + subtitle: "{quests.stone_age.flux.subtitle}" + tasks: [ + { + id: "3CADC091B8162193" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:fluxstone)" + } + } + title: "{quests.tasktype.item.any} #tfc:fluxstone" + type: "item" + } + { + id: "655B1B05EE4BABF7" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:powder/flux" + } + type: "item" + } + ] + title: "{quests.stone_age.flux.title}" + x: 19.5d + y: 10.0d + } + { + dependencies: [ + "618090A6D0D3B2F1" + "669F84C6A2A64145" + "3462FD6E24F9BE0B" + ] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.copper_for_anvil.desc}"] + id: "6EEBBF78AFA3F42A" + subtitle: "{quests.stone_age.copper_for_anvil.subtitle}" + tasks: [{ + id: "302196CB1816F316" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "minecraft:copper_ingot" + } + type: "item" + }] + title: "{quests.stone_age.copper_for_anvil.title}" + x: 17.0d + y: 8.5d + } + { + dependencies: ["193F214E9F154980"] + description: ["{quests.stone_age.rock_anvil.desc}"] + id: "706A1824B1487385" + subtitle: "{quests.stone_age.rock_anvil.subtitle}" + tasks: [ + { + icon: { + Count: 1 + id: "gtceu:stone_hammer" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + Damage: 0 + HarvestLevel: 1 + MaxDamage: 47 + ToolSpeed: 5.2f + } + HideFlags: 2 + } + } + id: "0425FDD03AEC4F0D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:hammers)" + } + } + title: "{quests.tasktype.item.any} #tfc:hammers" + type: "item" + } + { + icon: "tfc:rock/anvil/gabbro" + id: "2C45B0BB9F3521D6" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfc:rock_anvils" + to_observe: "#tfc:rock_anvils" + type: "observation" + } + ] + title: "{quests.stone_age.rock_anvil.title}" + x: 21.0d + y: 11.0d + } + { + dependencies: [ + "4333D5794A37CF2D" + "4C3414E10EDB2E82" + ] + description: ["{quests.stone_age.first_stone_tools.desc}"] + id: "20B910AAAC661E09" + subtitle: "{quests.stone_age.first_stone_tools.subtitle}" + tasks: [ + { + id: "3D3D5F09154EC219" + item: { + Count: 1 + id: "gtceu:stone_knife" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + AttackDamage: 1.0f + AttackSpeed: 3.0f + Damage: 0 + MaxDamage: 47 + } + HideFlags: 2 + } + } + type: "item" + } + { + id: "62B0EA7926874079" + item: { + Count: 1 + id: "gtceu:stone_axe" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { + DisableShields: 1b + TreeFelling: 1b + } + GT.Tool: { + Damage: 0 + HarvestLevel: 1 + MaxDamage: 47 + ToolSpeed: 3.2f + } + HideFlags: 2 + } + } + type: "item" + } + ] + title: "{quests.stone_age.first_stone_tools.title}" + x: 11.0d + y: 0.0d + } + { + dependencies: ["78E3BF0BEB48635B"] + description: ["{quests.stone_age.rock_knapping.desc}"] + id: "4333D5794A37CF2D" + subtitle: "{quests.stone_age.rock_knapping.subtitle}" + tasks: [ + { + id: "7F838F64A76D8DE9" + item: "gtceu:stone_axe_head" + type: "item" + } + { + id: "688B76AB2E2E898B" + item: "gtceu:stone_knife_head" + type: "item" + } + ] + title: "{quests.stone_age.rock_knapping.title}" + x: 9.0d + y: 0.0d + } + { + dependencies: [ + "3630ED3B85753BB2" + "3687ACAD307EE7EF" + ] + description: ["{quests.stone_age.make_vessel.desc}"] + id: "13BC619900C60011" + subtitle: "{quests.stone_age.make_vessel.subtitle}" + tasks: [{ + id: "3D22B852717C116B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:vessels)" + } + } + title: "{quests.tasktype.item.any} #tfc:vessels" + type: "item" + }] + title: "{quests.stone_age.make_vessel.title}" + x: 12.5d + y: 6.0d + } + { + dependencies: [ + "3630ED3B85753BB2" + "3687ACAD307EE7EF" + ] + description: ["{quests.stone_age.make_saw_mold.desc}"] + id: "3CA3B76D09F03ED6" + subtitle: "{quests.stone_age.make_saw_mold.subtitle}" + tasks: [{ + id: "0619DDD319F0F2E4" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/saw_blade_mold" + } + type: "item" + }] + title: "{quests.stone_age.make_saw_mold.title}" + x: 11.0d + y: 6.0d + } + { + dependencies: [ + "3630ED3B85753BB2" + "3687ACAD307EE7EF" + ] + description: ["{quests.stone_age.make_jug.desc}"] + id: "718CDC407CDE32E1" + subtitle: "{quests.stone_age.make_jug.subtitle}" + tasks: [{ + id: "3106F057BE27C2D5" + item: "tfc:ceramic/jug" + type: "item" + }] + title: "{quests.stone_age.make_jug.title}" + x: 9.5d + y: 6.0d + } + { + dependencies: [ + "3630ED3B85753BB2" + "3687ACAD307EE7EF" + ] + description: ["{quests.stone_age.clay_products.desc}"] + hide_until_deps_visible: true + id: "01B6CFB4A317A10F" + optional: true + shape: "heart" + subtitle: "{quests.stone_age.clay_products.subtitle}" + tasks: [ + { + id: "49D59028557EF5B3" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/scythe_blade_mold" + } + type: "item" + } + { + id: "5754EBBCC16E2E01" + item: "tfc:ceramic/jug" + type: "item" + } + { + id: "6F1A4C953277A51D" + item: "tfc:ceramic_blowpipe" + type: "item" + } + { + id: "5A032E6A73291B4E" + item: "minecraft:flower_pot" + type: "item" + } + { + id: "0F5E694A6237E2E5" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/propick_head_mold" + } + type: "item" + } + { + id: "4469E283FAC0DD1D" + item: "tfc:ceramic/bowl" + type: "item" + } + { + id: "0E69C79D1F9EA3D8" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/javelin_head_mold" + } + type: "item" + } + { + id: "2C3FF1BCA34FE5AA" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/axe_head_mold" + } + type: "item" + } + { + id: "72A411E02594DAC9" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/shovel_head_mold" + } + type: "item" + } + { + id: "5F57E638ED5BFCA5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:fired_vessels)" + } + } + title: "{quests.tasktype.item.any} #tfc:fired_vessels" + type: "item" + } + { + id: "1ABB2C093670CA44" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/ingot_mold" + } + type: "item" + } + { + id: "1E47F46FCD46B745" + item: "tfc:ceramic/large_vessel" + type: "item" + } + { + id: "32EA935EB5ACCD84" + item: "tfc:ceramic/pot" + type: "item" + } + { + id: "0979B34A0896AF86" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/saw_blade_mold" + } + type: "item" + } + { + id: "3A7BBC4232D0E1DD" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/chisel_head_mold" + } + type: "item" + } + { + id: "296ACF0D04C16118" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/mace_head_mold" + } + type: "item" + } + { + id: "21A457BF0968FE98" + item: "tfc:ceramic/spindle_head" + type: "item" + } + { + id: "00562CD636AB6668" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/hoe_head_mold" + } + type: "item" + } + { + id: "0168EE0CC6AF7A54" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/hammer_head_mold" + } + type: "item" + } + { + id: "5480C7B0518AEE1F" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/knife_blade_mold" + } + type: "item" + } + { + id: "484142EC546C9EC3" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/pickaxe_head_mold" + } + type: "item" + } + { + id: "0F480F614AD99C33" + item: { + Count: 1 + ForgeCaps: { + Parent: { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ceramic/sword_blade_mold" + } + type: "item" + } + { + id: "720E7B2DA6117A7E" + item: "tfc:pan/empty" + type: "item" + } + { + id: "0BB8771118915F9E" + item: "minecraft:brick" + type: "item" + } + ] + title: "{quests.stone_age.clay_products.title}" + x: 14.5d + y: 4.0d + } + { + dependencies: ["193F214E9F154980"] + description: ["{quests.stone_age.create_forge.desc}"] + id: "4D1CD95482EE2CDD" + size: 2.0d + subtitle: "{quests.stone_age.create_forge.subtitle}" + tasks: [{ + icon: "gtceu:brittle_charcoal" + id: "4569B9DABD1A4E39" + observe_type: 0 + timer: 0L + title: "{quests.tasktype.lookat} tfc:charcoal_forge" + to_observe: "tfc:charcoal_forge" + type: "observation" + }] + title: "{quests.stone_age.create_forge.title}" + x: 23.0d + y: 11.0d + } + { + description: [ + "{quests.stone_age.get_raw_rock.desc}" + "{image:tfg:textures/quests/raw_rock.png width:100 height:100 align:center}" + ] + hide_dependency_lines: false + id: "193F214E9F154980" + size: 1.5d + subtitle: "{quests.stone_age.get_raw_rock.subtitle}" + tasks: [{ + id: "07F779EAC86103F3" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/raw)" + } + } + title: "{quests.tasktype.item.any} #tfc:rock/raw" + type: "item" + }] + title: "{quests.stone_age.get_raw_rock.title}" + x: 21.0d + y: 13.5d + } + { + dependencies: ["193F214E9F154980"] + description: ["{quests.stone_age.quern.desc}"] + id: "5E186CD5E83BFDF0" + subtitle: "{quests.stone_age.quern.subtitle}" + tasks: [ + { + id: "343DA4CA8AFBFEBC" + item: "tfc:quern" + type: "item" + } + { + id: "5DF581D67442EE3B" + item: { + Count: 1 + id: "tfc:handstone" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.quern.title}" + x: 19.5d + y: 11.0d + } + { + dependencies: ["4C444814F1C7B600"] + description: [ + "{quests.stone_age.mining_prep.desc.1}" + "{@pagebreak}" + "{quests.stone_age.mining_prep.desc.2}" + ] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:copper_pickaxe" + tag: { + DisallowContainerItem: 0b + GT.Behaviours: { + TorchPlacing: 1b + } + GT.Tool: { + Damage: 0 + HarvestLevel: 2 + MaxDamage: 791 + ToolSpeed: 6.0f + } + HideFlags: 2 + } + } + id: "451AAAE0C17DB730" + subtitle: "{quests.stone_age.mining_prep.subtitle}" + tasks: [ + { + id: "308F5E45F3701E77" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:propicks)" + } + } + optional_task: true + title: "{quests.tasktype.item.any} #tfc:propicks" + type: "item" + } + { + id: "15968839F3DEC265" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:pickaxes)" + } + } + title: "{quests.tasktype.item.any} #tfc:pickaxes" + type: "item" + } + { + count: 16L + id: "4E457945449F3230" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:support_beams)" + } + } + title: "{quests.tasktype.item.any} #tfc:support_beams" + type: "item" + } + { + count: 16L + id: "3C41311574D24CBC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:planks)" + } + } + optional_task: true + title: "{quests.tasktype.item.any} #minecraft:planks" + type: "item" + } + ] + title: "{quests.stone_age.mining_prep.title}" + x: 14.0d + y: 13.5d + } + { + dependencies: ["451AAAE0C17DB730"] + description: [ + "{quests.stone_age.hazards.desc.1}" + "{@pagebreak}" + "{quests.stone_age.hazards.desc.2}" + "{image:tfg:textures/quests/supported_mine.png width:100 height:100 align:center}" + ] + icon: "createdeco:decal_warning" + id: "618090A6D0D3B2F1" + shape: "diamond" + size: 1.0d + subtitle: "{quests.stone_age.hazards.subtitle}" + tasks: [{ + id: "69047E156509ABBF" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.stone_age.hazards.title}" + x: 14.0d + y: 10.5d + } + { + dependencies: ["3D7B0F3134C30364"] + description: ["{quests.stone_age.foods.desc}"] + id: "0FB8FD84B13F10C6" + subtitle: "{quests.stone_age.foods.subtitle}" + tasks: [{ + id: "5B3676A1FAFDDF5E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods" + type: "item" + }] + title: "{quests.stone_age.foods.title}" + x: 4.5d + y: -5.0d + } + { + dependencies: [ + "5301A38F7EA81140" + "0FB8FD84B13F10C6" + ] + description: ["{quests.stone_age.cook_meat.desc}"] + id: "0301508D93520519" + subtitle: "{quests.stone_age.cook_meat.subtitle}" + tasks: [ + { + id: "793B7863AF61FC8E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/raw_meats)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/raw_meats" + type: "item" + } + { + id: "3B2E3DD42DDAF870" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/cooked_meats)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/cooked_meats" + type: "item" + } + ] + title: "{quests.stone_age.cook_meat.title}" + x: 14.5d + y: -5.0d + } + { + dependencies: [ + "5301A38F7EA81140" + "0301508D93520519" + "3687ACAD307EE7EF" + ] + description: ["{quests.stone_age.soup_time.desc} "] + id: "25FDB2A4C3C58566" + subtitle: "{quests.stone_age.soup_time.subtitle}" + tasks: [ + { + id: "38AD3CF566E22669" + item: "tfc:ceramic/pot" + type: "item" + } + { + id: "1448777B5470DF93" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:soups)" + } + } + title: "{quests.tasktype.item.any} #tfc:soups" + type: "item" + } + ] + title: "{quests.stone_age.soup_time.title}" + x: 17.0d + y: -3.5d + } + { + dependencies: ["0FB8FD84B13F10C6"] + description: ["{quests.stone_age.nutrition.desc}"] + icon: "minecraft:apple" + id: "749B3C8698D34E91" + size: 1.5d + subtitle: "{quests.stone_age.nutrition.subtitle}" + tasks: [{ + id: "608D20D7FD572637" + type: "checkmark" + }] + title: "{quests.stone_age.nutrition.title}" + x: 3.0d + y: -5.0d + } + { + dependencies: ["25FDB2A4C3C58566"] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.meals.desc}"] + id: "64EC9A55008BD417" + optional: true + shape: "heart" + subtitle: "{quests.stone_age.meals.subtitle}" + tasks: [ + { + id: "7D77C6BFE159FDC9" + item: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -2L + foodData: { + dairy: 0.0f + decay: 0.0f + food: 0 + fruit: 0.0f + grain: 0.0f + meat: 0.0f + sat: 0.0f + veg: 0.0f + water: 0.0f + } + ingredients: [ ] + traits: [ ] + } + } + id: "firmalife:food/cooked_pizza" + } + type: "item" + } + { + id: "597808680916715E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:salads)" + } + } + title: "{quests.tasktype.item.any} #tfc:salads" + type: "item" + } + { + id: "5EFDA797946C97C4" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:food/barley_bread_sandwich)item(tfc:food/maize_bread_sandwich)item(tfc:food/oat_bread_sandwich)item(tfc:food/rye_bread_sandwich)item(tfc:food/rice_bread_sandwich)item(tfc:food/wheat_bread_sandwich))" + } + } + title: "{quests.stone_age.meals.tasks.1}" + type: "item" + } + { + id: "5EC87D87E946CE0B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:food/barley_bread_jam_sandwich)item(tfc:food/maize_bread_jam_sandwich)item(tfc:food/oat_bread_jam_sandwich)item(tfc:food/rye_bread_jam_sandwich)item(tfc:food/rice_bread_jam_sandwich)item(tfc:food/wheat_bread_jam_sandwich))" + } + } + title: "{quests.stone_age.meals.tasks.2}" + type: "item" + } + ] + title: "{quests.stone_age.meals.title}" + x: 18.5d + y: -3.5d + } + { + dependencies: ["4C444814F1C7B600"] + dependency_requirement: "one_completed" + description: ["{quests.stone_age.inventory.desc}"] + id: "61B15F0C9B4B647F" + subtitle: "{quests.stone_age.inventory.subtitle}" + tasks: [ + { + id: "2BF9C5E12B00EF38" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:default_chests)" + } + } + title: "{quests.tasktype.item.any} #tfg:default_chests" + type: "item" + } + { + id: "625810E1A0D28993" + item: "gtceu:wood_crate" + type: "item" + } + { + id: "324685CE4F9A8FAF" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfcastikorcarts:supply_cart)" + } + } + title: "{quests.tasktype.item.any} #tfcastikorcarts:supply_cart" + type: "item" + } + ] + title: "{quests.stone_age.inventory.title}" + x: 8.5d + y: 16.0d + } + { + dependencies: ["4C444814F1C7B600"] + description: ["{quests.stone_age.barrels.desc}"] + id: "3E8833E7CE591E6F" + subtitle: "{quests.stone_age.barrels.subtitle}" + tasks: [{ + id: "59BC7103C78BC630" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:barrels)" + } + } + title: "{quests.tasktype.item.any} #tfc:barrels" + type: "item" + }] + title: "{quests.stone_age.barrels.title}" + x: 6.5d + y: 13.5d + } + { + dependencies: ["3E8833E7CE591E6F"] + description: ["{quests.stone_age.leather.desc}"] + id: "560B17BFBE8D477D" + subtitle: "{quests.stone_age.leather.subtitle}" + tasks: [{ + id: "603DB1A67BB20D71" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:leather_knapping)" + } + } + title: "{quests.tasktype.item.any} #tfc:leather_knapping" + type: "item" + }] + title: "{quests.stone_age.leather.title}" + x: 1.5d + y: 13.5d + } + { + dependencies: ["1D40CAE675C4BB91"] + description: ["{quests.stone_age.hydration.desc}"] + icon: { + Count: 1 + id: "minecraft:potion" + tag: { + Potion: "minecraft:water" + } + } + id: "1562419608EB333D" + size: 1.5d + subtitle: "{quests.stone_age.hydration.subtitle}" + tasks: [{ + id: "01CB74D1BA1BC018" + optional_task: true + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.stone_age.hydration.title}" + x: 6.0d + y: 4.5d + } + { + dependencies: ["3D7B0F3134C30364"] + description: ["{quests.stone_age.temperature.desc}"] + icon: "minecraft:sunflower" + id: "38839D3E049215CE" + subtitle: "{quests.stone_age.temperature.subtitle}" + tasks: [{ + id: "5EF087A092F21202" + type: "checkmark" + }] + title: "{quests.stone_age.temperature.title}" + x: 1.0d + y: 3.0d + } + { + dependencies: ["38839D3E049215CE"] + description: ["{quests.stone_age.insulation.desc}"] + id: "4521BB8892B386AF" + size: 2.0d + subtitle: "{quests.stone_age.insulation.subtitle}" + tasks: [{ + id: "139FA72AB6F06E57" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.stone_age.insulation.title}" + x: -3.0d + y: 6.0d + } + { + dependencies: ["560B17BFBE8D477D"] + description: ["{quests.stone_age.leather_armor.desc}"] + id: "04E900CFE39D6A6C" + subtitle: "{quests.stone_age.leather_armor.subtitle}" + tasks: [ + { + id: "0329D517A7921656" + item: { + Count: 1 + id: "minecraft:leather_helmet" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "3CF0D3883B83DB4A" + item: { + Count: 1 + id: "minecraft:leather_chestplate" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "54B0B13BF33C5052" + item: { + Count: 1 + id: "minecraft:leather_leggings" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "6B60FB97B0D6A775" + item: { + Count: 1 + id: "minecraft:leather_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.leather_armor.title}" + x: -4.0d + y: 13.5d + } + { + dependencies: ["25FDB2A4C3C58566"] + description: ["{quests.stone_age.garlic_bread.desc}"] + hide_until_deps_visible: true + id: "0D1E3CAF5D4B6B7B" + invisible: true + optional: true + shape: "heart" + subtitle: "{quests.stone_age.garlic_bread.subtitle}" + tasks: [{ + consume_items: true + count: 1024L + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: [ ] + } + } + id: "firmalife:food/garlic_bread" + } + id: "7A340EB1C4825C4A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(firmalife:food/garlic_bread))" + } + } + match_nbt: false + only_from_crafting: false + title: "{quests.stone_age.garlic_bread.task}" + type: "item" + weak_nbt_match: true + }] + title: "{quests.stone_age.garlic_bread.title}" + x: 17.0d + y: -5.0d + } + { + dependencies: ["1D40CAE675C4BB91"] + description: ["{quests.stone_age.glass_bottles.desc}"] + id: "4F7B5C34B7CD27F2" + subtitle: "{quests.stone_age.glass_bottles.subtitle}" + tasks: [{ + id: "07146369A0BF82E7" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:glass_bottles)" + } + } + title: "{quests.tasktype.item.any} #tfc:glass_bottles" + type: "item" + }] + title: "{quests.stone_age.glass_bottles.title}" + x: 6.5d + y: 8.0d + } + { + dependencies: ["1D40CAE675C4BB91"] + description: ["{quests.stone_age.water_bucket.desc}"] + id: "1F9321F1743A0B79" + subtitle: "{quests.stone_age.water_bucket.subtitle}" + tasks: [{ + id: "17FFB1D3212BECEA" + item: "minecraft:water_bucket" + type: "item" + }] + title: "{quests.stone_age.water_bucket.title}" + x: 4.5d + y: 9.0d + } + { + dependencies: [ + "04E900CFE39D6A6C" + "4521BB8892B386AF" + ] + description: ["{quests.stone_age.insulated_leather_clothes.desc}"] + id: "6D6270D9B2F1EC01" + subtitle: "{quests.stone_age.insulated_leather_clothes.subtitle}" + tasks: [ + { + id: "51F42F6E5C749DDE" + item: { + Count: 1 + id: "tfcambiental:insulated_leather_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "0CD117782C921573" + item: { + Count: 1 + id: "tfcambiental:insulated_leather_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "49F3774322D501FA" + item: { + Count: 1 + id: "tfcambiental:insulated_leather_tunic" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "5C5A5003287BFE5F" + item: { + Count: 1 + id: "tfcambiental:insulated_leather_hat" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.insulated_leather_clothes.title}" + x: -4.0d + y: 10.5d + } + { + dependencies: ["4521BB8892B386AF"] + description: ["{quests.stone_age.wool_clothes.desc}"] + id: "1E9033DF269C80DC" + subtitle: "{quests.stone_age.wool_clothes.subtitle}" + tasks: [ + { + id: "3D3B801BD59C5C58" + item: { + Count: 1 + id: "tfcambiental:wool_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "5DCC89E1CCE3B1AA" + item: { + Count: 1 + id: "tfcambiental:wool_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "6179B367FF1C4FBC" + item: { + Count: 1 + id: "tfcambiental:wool_sweater" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "398DD59822B91BF7" + item: { + Count: 1 + id: "tfcambiental:wool_hat" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.wool_clothes.title}" + x: -5.0d + y: 10.5d + } + { + dependencies: ["4521BB8892B386AF"] + description: ["{quests.stone_age.burlap_clothes.desc}"] + id: "1602438D9FCADA5E" + subtitle: "{quests.stone_age.burlap_clothes.subtitle}" + tasks: [ + { + id: "578606AB58CCB2D8" + item: { + Count: 1 + id: "tfcambiental:burlap_shoes" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "652C26BED5BE0ECE" + item: { + Count: 1 + id: "tfcambiental:burlap_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "5215F2EAAE94C65D" + item: { + Count: 1 + id: "tfcambiental:burlap_shirt" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "066C17ADD5E122F9" + item: { + Count: 1 + id: "tfcambiental:burlap_cowl" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.burlap_clothes.title}" + x: -2.0d + y: 10.5d + } + { + dependencies: ["4521BB8892B386AF"] + description: ["{quests.stone_age.silk_clothes.desc}"] + id: "37108D618CF60730" + subtitle: "{quests.stone_age.silk_clothes.subtitle}" + tasks: [ + { + id: "14755E375DF9CFE8" + item: { + Count: 1 + id: "tfcambiental:silk_shoes" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "3EE94A168421AF71" + item: { + Count: 1 + id: "tfcambiental:silk_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "0A66FF7B455E781F" + item: { + Count: 1 + id: "tfcambiental:silk_shirt" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "4738C7E29F42C181" + item: { + Count: 1 + id: "tfcambiental:silk_cowl" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.silk_clothes.title}" + x: -1.0d + y: 10.5d + } + { + dependencies: ["5E186CD5E83BFDF0"] + description: ["{quests.stone_age.crush_ore.desc}"] + id: "2621BF784BEB7033" + subtitle: "{quests.stone_age.crush_ore.subtitle}" + tasks: [{ + id: "41E832316CBD7359" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:crushed_ores)" + } + } + title: "Any #forge:crushed_ores" + type: "item" + }] + title: "{quests.stone_age.crush_ore.title}" + x: 18.0d + y: 11.0d + } + { + dependencies: ["2621BF784BEB7033"] + description: ["{quests.stone_age.crush_crushed_ore.desc}"] + id: "050444CE0EA04FDF" + subtitle: "{quests.stone_age.crush_crushed_ore.subtitle}" + tasks: [{ + id: "3138448022A39769" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:impure_dusts)" + } + } + title: "Any #forge:impure_dusts" + type: "item" + }] + title: "{quests.stone_age.crush_crushed_ore.title}" + x: 17.0d + y: 11.0d + } + { + dependencies: ["050444CE0EA04FDF"] + description: ["{quests.stone_age.clean_dust.desc}"] + id: "3462FD6E24F9BE0B" + subtitle: "{quests.stone_age.clean_dust.subtitle}" + tasks: [{ + id: "44AAEAEEF1A3C9D3" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:dusts)" + } + } + title: "Any #forge:dusts" + type: "item" + }] + title: "{quests.stone_age.clean_dust.title}" + x: 17.0d + y: 10.0d + } + { + dependencies: ["4C444814F1C7B600"] + description: ["{quests.stone_age.portable_storage.desc}"] + icon: "sophisticatedbackpacks:backpack" + id: "59B30B2C92285D2D" + subtitle: "{quests.stone_age.portable_storage.subtitle}" + tasks: [{ + id: "77863C6CD510E601" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.stone_age.portable_storage.title}" + x: 13.5d + y: 16.0d + } + { + dependencies: ["4521BB8892B386AF"] + description: ["{quests.stone_age.primitive_insulation.desc}"] + id: "2508A373A5A5C932" + optional: true + shape: "heart" + subtitle: "{quests.stone_age.primitive_insulation.subtitle}" + tasks: [ + { + id: "42C6D29D921D9DD6" + item: { + Count: 1 + id: "tfc_textile:raw_hat" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "73B9D26B3D44676B" + item: { + Count: 1 + id: "tfc_textile:raw_shirt" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "7C4DCA4841BC4DF0" + item: { + Count: 1 + id: "tfc_textile:raw_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "2A46B83D4AF17841" + item: { + Count: 1 + id: "tfc_textile:raw_socks" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.stone_age.primitive_insulation.title}" + x: -5.0d + y: 8.0d + } + { + dependencies: ["4521BB8892B386AF"] + description: ["{quests.stone_age.furs.desc}"] + id: "615A5EBBA87D37CF" + optional: true + shape: "heart" + subtitle: "{quests.stone_age.furs.subtitle}" + tasks: [{ + id: "55CF144A279A1F0D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc_textile:animal_furs)" + } + } + title: "Any #tfc_textile:animal_furs" + type: "item" + }] + title: "{quests.stone_age.furs.title}" + x: -1.0d + y: 8.0d + } + ] + subtitle: ["{quests.stone_age.subtitle}"] + title: "{quests.stone_age}" +} diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt new file mode 100644 index 000000000..017ebfa91 --- /dev/null +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -0,0 +1,4531 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "queststfc_tips" + group: "19428C6E7A36D463" + icon: "minecraft:apple" + id: "5D74D1A68158F29E" + order_index: 1 + quest_links: [ ] + quests: [ + { + dependencies: ["427814F6E9386772"] + description: ["{quests.tfg_tips.begining.desc}"] + disable_toast: true + icon: "minecraft:apple" + id: "173F6FA60A5B280B" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.begining.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "311C92269A4614B2" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.begining.title}" + x: 0.0d + y: 0.0d + } + { + dependencies: ["60497014785301EB"] + description: ["{quests.tfg_tips.firmaciv.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:sextant" + } + id: "2B84F34BFA37C828" + shape: "octagon" + size: 1.0d + subtitle: "{quests.tfg_tips.firmaciv.subtitle}" + tasks: [{ + id: "41793C99EC45695A" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.firmaciv.title}" + x: -8.0d + y: -4.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.firmalife.desc}"] + disable_toast: true + icon: "firmalife:cheddar_wheel" + id: "2EFB241490502DB3" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.firmalife.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "1E9496836B0F9820" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.firmalife.title}" + x: 0.0d + y: -6.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.arborfirmacraft.desc}"] + disable_toast: true + icon: "afc:wood/sapling/weeping_maple" + id: "1469936B5DE3AC28" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.arborfirmacraft.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "4D9F022754E3EF47" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.arborfirmacraft.title}" + x: -6.0d + y: 0.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: [ + "{quests.tfg_tips.beneath.desc}" + "DELETE:" + "# Beneath Must Haves" + "* How to go there" + "* Kaolin Claze" + "* Creation of Hellforge" + "* Juicer" + ] + disable_toast: true + icon: "minecraft:netherrack" + id: "4AA0EBFBA5D8788C" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.beneath.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "1DE1652223725760" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.beneath.title}" + x: 4.0d + y: -4.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.portable_storage.desc}"] + disable_toast: true + icon: "sophisticatedbackpacks:backpack" + id: "7FA5B6354A49C396" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.portable_storage.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "0077AE7A70A4314E" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.portable_storage.title}" + x: 6.0d + y: 0.0d + } + { + dependencies: ["7178843BCD50A012"] + description: ["{quests.tfg_tips.first_backpack.desc}"] + id: "125563A12EE5C296" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.first_backpack.subtitle}" + tasks: [{ + id: "5E0385522B78E03A" + item: "sophisticatedbackpacks:backpack" + type: "item" + }] + title: "{quests.tfg_tips.first_backpack.title}" + x: 10.0d + y: 0.0d + } + { + dependencies: ["7FA5B6354A49C396"] + description: ["{quests.tfg_tips.backpack_materials.desc}"] + id: "7178843BCD50A012" + size: 1.0d + subtitle: "{quests.tfg_tips.backpack_materials.subtitle}" + tasks: [ + { + id: "3D54644D50E1904E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:string)" + } + } + title: "Any #forge:string" + type: "item" + } + { + id: "40410856739CAF06" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:leather)" + } + } + title: "Any #forge:leather" + type: "item" + } + { + id: "62219AEA780A9850" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:chests/wooden)" + } + } + title: "{quests.tasktype.item.any} #forge:chests/wooden" + type: "item" + } + { + id: "56622AE6FBE714A2" + item: "minecraft:name_tag" + type: "item" + } + ] + title: "{quests.tfg_tips.backpack_materials.title}" + x: 8.0d + y: 0.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.gt.desc}"] + disable_toast: true + icon: "gtceu:gregification_hazard_sign_block" + id: "02FDECC931B5E8EF" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.gt.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "1CF4DE167763A6E5" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.gt.title}" + x: 4.0d + y: 4.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.terrafirmacraft.desc}"] + disable_toast: true + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: [ ] + } + } + id: "tfc:food/green_apple" + } + id: "150B7C5CD152E1BA" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.terrafirmacraft.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "6AEF1E1ABE3E8163" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.terrafirmacraft.title}" + x: 0.0d + y: 6.0d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.misc.desc}"] + disable_toast: true + icon: "minecraft:grass_block" + id: "3B3A0FEEB59F597C" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.misc.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "7E11DEE2A7B9915E" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.misc.title}" + x: -4.0d + y: 4.0d + } + { + dependencies: ["59F36AD7A3E81B45"] + description: ["{quests.tfg_tips.canoe_beginning.desc}"] + id: "30CEFFD95E39CB00" + subtitle: "{quests.tfg_tips.canoe_beginning.subtitle}" + tasks: [{ + id: "0DB7D5B3389DF2E0" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.canoe_beginning.title}" + x: -8.0d + y: -8.0d + } + { + dependencies: ["2B84F34BFA37C828"] + description: ["{quests.tfg_tips.kayak_beginning.desc}"] + id: "42FBA46B48001F67" + subtitle: "{quests.tfg_tips.kayak_beginning.subtitle}" + tasks: [{ + id: "4DB876B78C0C3FDF" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.kayak_beginning.title}" + x: -10.0d + y: -2.5d + } + { + dependencies: ["59F36AD7A3E81B45"] + description: ["{quests.tfg_tips.rowboat_beginning.desc}"] + id: "0C2DEF0B4B612621" + subtitle: "{quests.tfg_tips.rowboat_beginning.subtitle}" + tasks: [{ + id: "33395E0EDE754E6D" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.rowboat_beginning.title}" + x: -9.5d + y: -8.0d + } + { + dependencies: ["3DF4F4848B231980"] + description: ["{quests.tfg_tips.create_rowboat.desc}"] + id: "4F9A15016C9F51A1" + size: 2.0d + subtitle: "{quests.tfg_tips.create_rowboat.subtitle}" + tasks: [ + { + icon: "firmaciv:rowboat_icon_only" + id: "6F8880DE5F98C85C" + observe_type: 6 + timer: 0L + title: "{quests.tasktype.lookat} #alekiships:rowboats" + to_observe: "#alekiships:rowboats" + type: "observation" + } + { + count: 2L + id: "509394990EF8B64F" + item: "alekiships:oar" + type: "item" + } + ] + title: "{quests.tfg_tips.create_rowboat.title}" + x: -12.0d + y: -8.0d + } + { + dependencies: ["3CDA0C20D0FF9BE0"] + description: ["{quests.tfg_tips.create_sloop.desc}"] + id: "78358ED2C6F6FCFD" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.create_sloop.subtitle}" + tasks: [{ + icon: "firmaciv:sloop_icon_only" + id: "042D48B3F44E9CCC" + observe_type: 6 + timer: 0L + title: "{quests.tasktype.lookat} #alekiships:sloops" + to_observe: "#alekiships:sloops" + type: "observation" + }] + title: "{quests.tfg_tips.create_sloop.title}" + x: -14.0d + y: -12.0d + } + { + dependencies: [ + "0C2DEF0B4B612621" + "0A92F5C4BB6AF972" + ] + description: ["{quests.tfg_tips.rowboat_materials.desc}"] + id: "3DF4F4848B231980" + subtitle: "{quests.tfg_tips.rowboat_materials.subtitle}" + tasks: [ + { + count: 24L + id: "0F6F07AB9B00D2BC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(firmaciv:hard_wood)" + } + } + title: "{quests.tasktype.item.any} #firmaciv:hard_wood" + type: "item" + } + { + count: 6L + id: "51F1E1910AA3A8EE" + item: { Count: 6, id: "firmaciv:watercraft_frame_angled" } + type: "item" + } + { + count: 24L + id: "4084A14A4377D7F2" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:copper_bolt" + } + type: "item" + } + { + count: 2L + id: "2FD99CA7F7DE1095" + item: { + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "alekiships:oarlock" + } + type: "item" + } + { + id: "44BCD5B14DE0C81D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:hammers)" + } + } + title: "{quests.tasktype.item.any} #tfc:hammers" + type: "item" + } + ] + title: "{quests.tfg_tips.rowboat_materials.title}" + x: -10.5d + y: -8.0d + } + { + dependencies: ["59F36AD7A3E81B45"] + description: ["{quests.tfg_tips.sloop_beginning.desc}"] + id: "4ED4FF2581241118" + subtitle: "{quests.tfg_tips.sloop_beginning.subtitle}" + tasks: [{ + id: "0B9B2ADB2D0CA719" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.sloop_beginning.title}" + x: -12.0d + y: -6.0d + } + { + dependencies: ["32C854110D49A77D"] + description: ["{quests.tfg_tips.create_canoe.desc}"] + id: "22DA27A8E2D11106" + size: 2.0d + subtitle: "{quests.tfg_tips.create_canoe.subtitle}" + tasks: [ + { + icon: "firmaciv:canoe_icon_only" + id: "6AB8CFDB3C2267BE" + observe_type: 6 + timer: 0L + title: "{quests.tasktype.lookat} #firmaciv:dugout_canoe" + to_observe: "#firmaciv:dugout_canoes" + type: "observation" + } + { + id: "704237932096E813" + item: "firmaciv:canoe_paddle" + type: "item" + } + ] + title: "{quests.tfg_tips.create_canoe.title}" + x: -10.0d + y: -10.0d + } + { + dependencies: [ + "30CEFFD95E39CB00" + "59F36AD7A3E81B45" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.canoe_materials.desc}"] + id: "32C854110D49A77D" + subtitle: "{quests.tfg_tips.canoe_materials.subtitle}" + tasks: [ + { + id: "2FD18ABB3A2738AA" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:saws)" + } + } + title: "{quests.tasktype.item.any} #tfc:saws" + type: "item" + } + { + id: "32C041E87DCFDE1C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:axes)" + } + } + title: "{quests.tasktype.item.any} #tfc:axes" + type: "item" + } + { + id: "1426E13B36E1ABE2" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(minecraft:flint_and_steel)item(tfc:firestarter))" + } + } + title: "{quests.tfg_tips.canoe_materials.task}" + type: "item" + } + { + count: 3L + id: "4810FFFD04014DCF" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:stripped_softwood)" + } + } + title: "{quests.tasktype.item.any} #tfg:stripped_softwood" + type: "item" + } + ] + title: "{quests.tfg_tips.canoe_materials.title}" + x: -8.0d + y: -10.0d + } + { + dependencies: ["42FBA46B48001F67"] + description: ["{quests.tfg_tips.kayak_materials.desc}"] + id: "03696C9BBC53AB26" + subtitle: "{quests.tfg_tips.kayak_materials.subtitle}" + tasks: [ + { + count: 4L + id: "0BE3E082261E16FC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:string)" + } + } + title: "{quests.tasktype.item.any} #forge:string" + type: "item" + } + { + count: 3L + id: "7D12F1F3D84274D6" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:lumber)" + } + } + title: "{quests.tasktype.item.any} #tfc:lumber" + type: "item" + } + { + count: 2L + id: "1EB9E03922752702" + item: { Count: 2, id: "firmaciv:large_waterproof_hide" } + type: "item" + } + ] + title: "{quests.tfg_tips.kayak_materials.title}" + x: -12.0d + y: -2.5d + } + { + dependencies: ["03696C9BBC53AB26"] + description: ["{quests.tfg_tips.create_kayak.desc}"] + id: "7B824CC8BD6E4E30" + size: 2.0d + subtitle: "{quests.tfg_tips.create_kayak.subtitle}" + tasks: [ + { + id: "0FDBBEA81B483719" + item: "firmaciv:kayak" + type: "item" + } + { + id: "6943A44551907501" + item: "firmaciv:kayak_paddle" + type: "item" + } + ] + title: "{quests.tfg_tips.create_kayak.title}" + x: -12.0d + y: -4.0d + } + { + dependencies: ["2B84F34BFA37C828"] + description: ["{quests.tfg_tips.entity_boats.desc}"] + id: "59F36AD7A3E81B45" + subtitle: "{quests.tfg_tips.entity_boats.subtitle}" + tasks: [{ + id: "1F374E01715FD9D1" + item: "minecraft:lead" + type: "item" + }] + title: "{quests.tfg_tips.entity_boats.title}" + x: -8.0d + y: -6.0d + } + { + dependencies: ["2B84F34BFA37C828"] + description: ["{quests.tfg_tips.firmaciv_info.desc}"] + id: "5EDE435F876349CD" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.firmaciv_info.subtitle}" + tasks: [ + { + id: "343A05C706244FB9" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:sextant" + } + type: "item" + } + { + id: "0753AB3E96E9EF91" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:nav_clock" + } + type: "item" + } + { + id: "0F7BB20275FC7764" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:barometer" + } + type: "item" + } + { + id: "612EBA6C7B6FD94C" + item: "firmaciv:firmaciv_compass" + type: "item" + } + ] + title: "{quests.tfg_tips.firmaciv_info.title}" + x: -10.0d + y: -4.0d + } + { + dependencies: [ + "4ED4FF2581241118" + "59F36AD7A3E81B45" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.sloop_under_construction_materials.desc}"] + id: "2746958D3D4A0885" + subtitle: "{quests.tfg_tips.sloop_under_construction_materials.subtitle}" + tasks: [ + { + count: 4L + id: "59C783845971E728" + item: { + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "alekiships:cleat" + } + type: "item" + } + { + count: 18L + id: "02D1AEA961D0AA2C" + item: { Count: 18, id: "firmaciv:watercraft_frame_angled" } + type: "item" + } + { + count: 6L + id: "7984376BC7E0D56D" + item: { Count: 6, id: "firmaciv:watercraft_frame_flat" } + type: "item" + } + { + count: 96L + id: "10929AC1C1B89579" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(firmaciv:hard_wood)" + } + } + title: "{quests.tasktype.item.any} #firmaciv:hard_wood" + type: "item" + } + { + count: 96L + id: "231AE8429370F100" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmaciv:copper_bolt" + } + type: "item" + } + ] + title: "{quests.tfg_tips.sloop_under_construction_materials.title}" + x: -14.0d + y: -6.0d + } + { + dependencies: ["2746958D3D4A0885"] + description: ["{quests.tfg_tips.sloop_materials.desc}"] + id: "3CDA0C20D0FF9BE0" + subtitle: "{quests.tfg_tips.sloop_materials.subtitle}" + tasks: [ + { + count: 34L + id: "35D3A0129EBBA52D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:stripped_hardwood)" + } + } + title: "{quests.tasktype.item.any} #tfg:stripped_hardwood" + type: "item" + } + { + count: 20L + id: "478C0EE68D796411" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(firmaciv:hard_wood)" + } + } + title: "{quests.tasktype.item.any} #firmaciv:hard_wood" + type: "item" + } + { + count: 16L + id: "6B373905A5E7C841" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(afc:wood/lumber/ironwood)item(tfc:wood/lumber/acacia)item(tfc:wood/lumber/ash)item(tfc:wood/lumber/aspen)item(tfc:wood/lumber/birch)item(tfc:wood/lumber/blackwood)item(tfc:wood/lumber/chestnut)item(tfc:wood/lumber/hickory)item(tfc:wood/lumber/maple)item(tfc:wood/lumber/oak)item(tfc:wood/lumber/rosewood)item(tfc:wood/lumber/sycamore)item(afc:wood/lumber/baobab)item(afc:wood/lumber/eucalyptus)item(afc:wood/lumber/mahogany)item(afc:wood/lumber/hevea)item(afc:wood/lumber/teak)item(afc:wood/lumber/ipe)item(beneath:wood/lumber/warped))" + } + } + title: "{quests.tfg_tips.sloop_materials.task}" + type: "item" + } + { + id: "2ADFC23B73EDA409" + item: "firmaciv:medium_triangular_sail" + type: "item" + } + { + id: "559ACF5AE45ACA9B" + item: "firmaciv:small_triangular_sail" + type: "item" + } + { + id: "261592FC7CA10FFA" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "alekiships:anchor" + } + type: "item" + } + { + count: 8L + id: "160EB11FBEA25CFF" + item: { Count: 8, id: "firmaciv:rope_coil" } + type: "item" + } + ] + title: "{quests.tfg_tips.sloop_materials.title}" + x: -14.0d + y: -8.0d + } + { + dependencies: ["2B84F34BFA37C828"] + description: ["{quests.tfg_tips.warfare.desc}"] + id: "66FDACC7E7F9180C" + subtitle: "{quests.tfg_tips.warfare.subtitle}" + tasks: [ + { + id: "3A0685797C186CDB" + item: "firmaciv:cannon" + type: "item" + } + { + id: "35B1717D4096B87E" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "alekiships:cannonball" + } + type: "item" + } + ] + title: "{quests.tfg_tips.warfare.title}" + x: -10.0d + y: -5.0d + } + { + dependencies: [ + "125563A12EE5C296" + "5792DDAA82895E67" + ] + description: ["{quests.tfg_tips.red_steel_backpack.desc}"] + id: "4B79026C8D2DACC4" + subtitle: "{quests.tfg_tips.red_steel_backpack.subtitle}" + tasks: [{ + id: "651E492E49A866DE" + item: "sophisticatedbackpacks:iron_backpack" + type: "item" + }] + title: "{quests.tfg_tips.red_steel_backpack.title}" + x: 11.5d + y: -2.0d + } + { + dependencies: [ + "125563A12EE5C296" + "5996A3A0D475B8A6" + ] + description: ["{quests.tfg_tips.backpack_upgrades.desc}"] + id: "1B0C58B15E7F62B3" + subtitle: "{quests.tfg_tips.backpack_upgrades.subtitle}" + tasks: [{ + id: "00DE24C80F1E9A1B" + item: "sophisticatedbackpacks:upgrade_base" + type: "item" + }] + title: "{quests.tfg_tips.backpack_upgrades.title}" + x: 11.5d + y: 2.0d + } + { + dependencies: [ + "4B79026C8D2DACC4" + "7567E885B7166603" + ] + description: ["{quests.tfg_tips.aluminium_backpack.desc}"] + id: "0FFBB6177DEB0A23" + subtitle: "{quests.tfg_tips.aluminium_backpack.subtitle}" + tasks: [{ + id: "21EFA480785F7049" + item: "sophisticatedbackpacks:gold_backpack" + type: "item" + }] + title: "{quests.tfg_tips.aluminium_backpack.title}" + x: 12.5d + y: -2.0d + } + { + dependencies: [ + "0FFBB6177DEB0A23" + "7FA0ACB7F161F378" + ] + description: ["{quests.tfg_tips.titanium_backpack.desc}"] + id: "5D188F6C46EA9ED0" + subtitle: "{quests.tfg_tips.titanium_backpack.subtitle}" + tasks: [{ + id: "70358381977F885B" + item: "sophisticatedbackpacks:diamond_backpack" + type: "item" + }] + title: "{quests.tfg_tips.titanium_backpack.title}" + x: 13.5d + y: -2.0d + } + { + dependencies: [ + "5D188F6C46EA9ED0" + "30A6EDDF25A5E5F8" + ] + description: ["{quests.tfg_tips.tungstensteel_backpack.desc}"] + id: "13F2929C1C303A0B" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.tungstensteel_backpack.subtitle}" + tasks: [{ + id: "452555CFE4B8EEBE" + item: "sophisticatedbackpacks:netherite_backpack" + type: "item" + }] + title: "{quests.tfg_tips.tungstensteel_backpack.title}" + x: 16.0d + y: -2.0d + } + { + dependencies: ["1B0C58B15E7F62B3"] + description: ["{quests.tfg_tips.crafting_upgrade.desc}"] + id: "384B4517EB4F2687" + subtitle: "{quests.tfg_tips.crafting_upgrade.subtitle}" + tasks: [{ + id: "24835F05BC647EE1" + item: "sophisticatedbackpacks:crafting_upgrade" + type: "item" + }] + title: "{quests.tfg_tips.crafting_upgrade.title}" + x: 12.5d + y: 3.0d + } + { + dependencies: ["1B0C58B15E7F62B3"] + description: ["{quests.tfg_tips.advanced_upgrades.desc}"] + id: "38FC4B876B96B77F" + subtitle: "{quests.tfg_tips.advanced_upgrades.subtitle}" + tasks: [ + { + id: "22EB35740D104EBB" + item: "sophisticatedbackpacks:filter_upgrade" + type: "item" + } + { + id: "3699A2517B75FBD3" + item: "sophisticatedbackpacks:advanced_filter_upgrade" + type: "item" + } + ] + title: "{quests.tfg_tips.advanced_upgrades.title}" + x: 12.5d + y: 1.0d + } + { + dependencies: [ + "384B4517EB4F2687" + "38FC4B876B96B77F" + ] + description: ["{quests.tfg_tips.all_backpack_upgrades.desc}"] + id: "07700ADA82788D61" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.all_backpack_upgrades.subtitle}" + tasks: [ + { + id: "17ACA935E068F505" + item: "sophisticatedbackpacks:pickup_upgrade" + type: "item" + } + { + id: "71BFE15269AF003F" + item: "sophisticatedbackpacks:advanced_pickup_upgrade" + type: "item" + } + { + id: "1F464403CAFB846C" + item: "sophisticatedbackpacks:magnet_upgrade" + type: "item" + } + { + id: "2D96819E1EACD3D5" + item: "sophisticatedbackpacks:advanced_magnet_upgrade" + type: "item" + } + { + id: "7B869BD328658A8F" + item: "sophisticatedbackpacks:void_upgrade" + type: "item" + } + { + id: "23C08741706EFAB9" + item: "sophisticatedbackpacks:advanced_void_upgrade" + type: "item" + } + { + id: "28694EC9474F6F89" + item: "sophisticatedbackpacks:restock_upgrade" + type: "item" + } + { + id: "456D6D4DD7DBF2F1" + item: "sophisticatedbackpacks:advanced_restock_upgrade" + type: "item" + } + { + id: "23FF54BBD392FEDD" + item: "sophisticatedbackpacks:deposit_upgrade" + type: "item" + } + { + id: "5B5F33BB1555878B" + item: "sophisticatedbackpacks:tool_swapper_upgrade" + type: "item" + } + { + id: "35065D8DB0BAD94E" + item: "sophisticatedbackpacks:advanced_tool_swapper_upgrade" + type: "item" + } + { + id: "1D56B738DC0B4645" + item: "sophisticatedbackpacks:jukebox_upgrade" + type: "item" + } + { + id: "6D1D4EDEB22738A9" + item: "sophisticatedbackpacks:stack_upgrade_tier_1" + type: "item" + } + { + id: "10842F2A12CA8439" + item: "sophisticatedbackpacks:everlasting_upgrade" + type: "item" + } + { + id: "1B0CA61FB32AB731" + item: "sophisticatedbackpacks:advanced_refill_upgrade" + type: "item" + } + { + id: "54DB147D6D5CA300" + item: "sophisticatedbackpacks:refill_upgrade" + type: "item" + } + { + id: "59E128E411C2F1B2" + item: "sophisticatedbackpacks:advanced_deposit_upgrade" + type: "item" + } + { + id: "72281E0F0CCE2EB9" + item: "sophisticatedbackpacks:stack_upgrade_starter_tier" + type: "item" + } + ] + title: "{quests.tfg_tips.all_backpack_upgrades.title}" + x: 13.5d + y: 2.0d + } + { + dependencies: ["1469936B5DE3AC28"] + description: ["{quests.tfg_tips.treetap.desc}"] + id: "128483FFDC8277A0" + subtitle: "{quests.tfg_tips.treetap.subtitle}" + tasks: [{ + id: "5BF2CA68639F148E" + item: "afc:tree_tap" + type: "item" + }] + title: "{quests.tfg_tips.treetap.title}" + x: -11.0d + y: 0.0d + } + { + dependencies: [ + "1DF4DBE41BB0B6FD" + "4891E995D3EC2BD1" + ] + description: ["{quests.tfg_tips.create_rubber_ingot.desc}"] + id: "6903C72A254A7B08" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.create_rubber_ingot.subtitle}" + tasks: [{ + id: "12CE161368CA3973" + item: "gtceu:rubber_ingot" + type: "item" + }] + title: "{quests.tfg_tips.create_rubber_ingot.title}" + x: -17.0d + y: 0.0d + } + { + dependencies: [ + "4891E995D3EC2BD1" + "5D865179941E7B3A" + ] + description: ["{quests.tfg_tips.create_sticky_resin.desc}"] + id: "6FFD4990FF07078A" + size: 1.0d + subtitle: "{quests.tfg_tips.create_sticky_resin.subtitle}" + tasks: [{ + id: "7912EEC432C03836" + item: "gtceu:sticky_resin" + type: "item" + }] + title: "{quests.tfg_tips.create_sticky_resin.title}" + x: -14.0d + y: -1.0d + } + { + dependencies: ["128483FFDC8277A0"] + description: ["{quests.tfg_tips.find_latex_tree.desc}"] + id: "4891E995D3EC2BD1" + subtitle: "{quests.tfg_tips.find_latex_tree.subtitle}" + tasks: [{ + id: "556FB5B3318D32D2" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:latex_logs)" + } + } + title: "Any #tfg:latex_logs" + type: "item" + }] + title: "{quests.tfg_tips.find_latex_tree.title}" + x: -12.5d + y: 0.0d + } + { + dependencies: ["128483FFDC8277A0"] + description: ["{quests.tfg_tips.find_syrup_tree.desc}"] + id: "308BB7D9D210C8DA" + subtitle: "{quests.tfg_tips.find_syrup_tree.subtitle}" + tasks: [{ + icon: "tfc:wood/log/maple" + id: "7B6E977EA63A6C93" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfg:syrup_logs" + to_observe: "#tfg:syrup_logs" + type: "observation" + }] + title: "{quests.tfg_tips.find_syrup_tree.title}" + x: -12.5d + y: 1.0d + } + { + dependencies: ["308BB7D9D210C8DA"] + description: ["{quests.tfg_tips.create_tree_sugar.desc}"] + id: "4941293E9CAAAC41" + size: 1.0d + subtitle: "{quests.tfg_tips.create_tree_sugar.subtitle}" + tasks: [{ + id: "786E4E2AB754DA07" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(afc:maple_sugar)item(afc:birch_sugar))" + } + } + title: "{quests.tfg_tips.create_tree_sugar.task}" + type: "item" + }] + title: "{quests.tfg_tips.create_tree_sugar.title}" + x: -14.0d + y: 1.0d + } + { + dependencies: ["7FA5B6354A49C396"] + description: ["{quests.tfg_tips.vessels.desc}"] + id: "7220A4926B6A89DC" + subtitle: "{quests.tfg_tips.vessels.subtitle}" + tasks: [ + { + id: "292592992CA57C39" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:fired_large_vessels)" + } + } + title: "{quests.tasktype.item.any} #tfc:fired_large_vessels" + type: "item" + } + { + id: "636DA3A861FDAB62" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:fired_vessels)" + } + } + title: "{quests.tasktype.item.any} #tfc:fired_vessels" + type: "item" + } + ] + title: "{quests.tfg_tips.vessels.title}" + x: 8.0d + y: -1.0d + } + { + dependencies: ["7FA5B6354A49C396"] + description: ["{quests.tfg_tips.portable_cells.desc}"] + id: "685802EB4C6700F5" + subtitle: "{quests.tfg_tips.portable_cells.subtitle}" + tasks: [ + { + id: "28B6D074D9E774F5" + item: { + Count: 1 + id: "ae2:portable_item_cell_1k" + tag: { } + } + match_nbt: false + type: "item" + } + { + id: "4FB4D78C88DEF1E1" + item: { + Count: 1 + id: "ae2:portable_fluid_cell_1k" + tag: { } + } + match_nbt: false + type: "item" + } + ] + title: "{quests.tfg_tips.portable_cells.title}" + x: 8.0d + y: 1.0d + } + { + dependencies: ["685802EB4C6700F5"] + description: [ + "{quests.tfg_tips.256m_portable_cells.desc}" + "" + ] + hide_until_deps_complete: true + hide_until_deps_visible: true + id: "520C374E5D3F34C1" + shape: "heart" + subtitle: "{quests.tfg_tips.256m_portable_cells.subtitle}" + tasks: [ + { + id: "7742886F257F6BC3" + item: { + Count: 1 + id: "megacells:portable_item_cell_256m" + tag: { } + } + match_nbt: false + type: "item" + } + { + id: "4D3CBCB9C6579DBB" + item: { + Count: 1 + id: "megacells:portable_fluid_cell_256m" + tag: { } + } + match_nbt: false + type: "item" + } + ] + title: "{quests.tfg_tips.256m_portable_cells.title}" + x: 9.0d + y: 1.0d + } + { + dependencies: [ + "13F7066858E923FF" + "648BCF486E16CCB2" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.refrigerator.desc}"] + id: "58EC77A796979E68" + size: 2.0d + subtitle: "{quests.tfg_tips.refrigerator.subtitle}" + tasks: [{ + id: "2D43E8E907B39B46" + item: "tfcea:refrigerator" + type: "item" + }] + title: "{quests.tfg_tips.refrigerator.title}" + x: 8.0d + y: -17.0d + } + { + dependencies: ["2EFB241490502DB3"] + description: ["{quests.tfg_tips.beekeeping.desc}"] + icon: "firmalife:beeswax" + id: "1071B804483BB882" + subtitle: "{quests.tfg_tips.beekeeping.subtitle}" + tasks: [{ + id: "07A6195AEE51DAB7" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.beekeeping.title}" + x: 0.0d + y: -7.5d + } + { + dependencies: ["76E0058A4DDF3CFB"] + description: ["{quests.tfg_tips.not_the_bees.desc}"] + id: "0FB14699D7BE5D4B" + subtitle: "{quests.tfg_tips.not_the_bees.subtitle}" + tasks: [ + { + id: "756022CC6299F7FF" + item: { + Count: 1 + id: "firmalife:beekeeper_helmet" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "04B5BC36919808BD" + item: { + Count: 1 + id: "firmalife:beekeeper_chestplate" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "41C42A79BDA088E6" + item: { + Count: 1 + id: "firmalife:beekeeper_leggings" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "3E697285D61F3A4E" + item: { + Count: 1 + id: "firmalife:beekeeper_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "0DC8B6B5E673741D" + title: "{quests.tfg_tips.not_the_bees.task}" + type: "checkmark" + } + ] + title: "{quests.tfg_tips.not_the_bees.title}" + x: 0.0d + y: -11.5d + } + { + dependencies: ["1071B804483BB882"] + description: ["{quests.tfg_tips.beehive.desc}"] + id: "76E0058A4DDF3CFB" + subtitle: "{quests.tfg_tips.beehive.subtitle}" + tasks: [ + { + id: "5161EABBBECF1182" + item: "firmalife:beehive" + type: "item" + } + { + id: "259DE66F0EE55F52" + item: { + Count: 1 + ForgeCaps: { + Parent: { } + } + id: "firmalife:beehive_frame" + tag: { } + } + type: "item" + } + ] + title: "{quests.tfg_tips.beehive.title}" + x: 0.0d + y: -9.5d + } + { + dependencies: ["0FB14699D7BE5D4B"] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.beeswax.desc}"] + id: "79FA776C414AE8E5" + subtitle: "{quests.tfg_tips.beeswax.subtitle}" + tasks: [ + { + id: "2D676DFCC6FCCB62" + item: "firmalife:beeswax" + type: "item" + } + { + id: "267E8BF6800B17B2" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:knives)" + } + } + title: "{quests.tasktype.item.any} #tfc:knives" + type: "item" + } + ] + title: "{quests.tfg_tips.beeswax.title}" + x: 1.5d + y: -13.5d + } + { + dependencies: ["0FB14699D7BE5D4B"] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.honey.desc}"] + id: "7A2C933C2B1A4D59" + subtitle: "{quests.tfg_tips.honey.subtitle}" + tasks: [{ + id: "39CBDB69F1DF8606" + item: "firmalife:jar/honey" + type: "item" + }] + title: "{quests.tfg_tips.honey.title}" + x: 0.0d + y: -13.5d + } + { + dependencies: [ + "79FA776C414AE8E5" + "13F7066858E923FF" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.cellar.desc}"] + id: "3D1FF501DE2E56FE" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.cellar.subtitle}" + tasks: [ + { + count: 96L + id: "26EB7B88B4A87AF8" + item: { Count: 96, id: "firmalife:sealed_bricks" } + type: "item" + } + { + id: "7B1EF3C4C5C1354B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(firmalife:sealed_door)item(firmalife:sealed_trapdoor))" + } + } + title: "{quests.tfg_tips.cellar.task}" + type: "item" + } + ] + title: "{quests.tfg_tips.cellar.title}" + x: 3.5d + y: -17.0d + } + { + dependencies: ["3D1FF501DE2E56FE"] + description: ["{quests.tfg_tips.cellar_blocks.desc}"] + id: "32CD6D2EADA0DCA3" + subtitle: "{quests.tfg_tips.cellar_blocks.subtitle}" + tasks: [{ + id: "4B04DDFFB51B4CCB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(firmalife:hangers)item_tag(firmalife:food_shelves))" + } + } + title: "{quests.tfg_tips.cellar_blocks.task}" + type: "item" + }] + title: "{quests.tfg_tips.cellar_blocks.title}" + x: 3.5d + y: -20.0d + } + { + dependencies: ["2EFB241490502DB3"] + description: ["{quests.tfg_tips.oven.desc}"] + id: "029264BCA5477837" + subtitle: "{quests.tfg_tips.oven.subtitle}" + tasks: [ + { + id: "75F93951AF9C9511" + item: "firmalife:oven_bottom" + type: "item" + } + { + id: "76D1D88B1FD756BE" + item: "firmalife:oven_top" + type: "item" + } + { + count: 2L + id: "7A0A10B081E6A64E" + item: "firmalife:oven_chimney" + type: "item" + } + { + id: "45EFF5E3C4FB5D77" + item: "firmalife:peel" + type: "item" + } + ] + title: "{quests.tfg_tips.oven.title}" + x: 2.0d + y: -7.5d + } + { + dependencies: ["029264BCA5477837"] + description: ["{quests.tfg_tips.oven_appliances.desc}"] + id: "73D5ED4099F99A47" + subtitle: "{quests.tfg_tips.oven_appliances.subtitle}" + tasks: [ + { + id: "35CC00217394E9EE" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:wrought_iron_grill" + } + type: "item" + } + { + id: "4EE632C40C992968" + item: "firmalife:vat" + type: "item" + } + ] + title: "{quests.tfg_tips.oven_appliances.title}" + x: 1.0d + y: -8.5d + } + { + dependencies: ["029264BCA5477837"] + description: ["{quests.tfg_tips.oven_utils.desc}"] + id: "448DFEE1BD594E2B" + subtitle: "{quests.tfg_tips.oven_utils.subtitle}" + tasks: [ + { + id: "0C1D75A901694646" + item: "firmalife:ashtray" + type: "item" + } + { + id: "6BAAE6B79116F29E" + item: "firmalife:cured_oven_hopper" + type: "item" + } + ] + title: "{quests.tfg_tips.oven_utils.title}" + x: 3.0d + y: -8.5d + } + { + dependencies: ["029264BCA5477837"] + description: ["{quests.tfg_tips.oven_finish.desc}"] + id: "5757F325D6473B48" + subtitle: "{quests.tfg_tips.oven_finish.subtitle}" + tasks: [{ + id: "685910B327DDE29C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(firmalife:rustic_finish)item(firmalife:tile_finish)item(firmalife:stone_finish))" + } + } + title: "{quests.tfg_tips.oven_finish.task}" + type: "item" + }] + title: "{quests.tfg_tips.oven_finish.title}" + x: 2.0d + y: -8.5d + } + { + dependencies: ["73D5ED4099F99A47"] + description: ["{quests.tfg_tips.jam.desc}"] + id: "5D373432F0C22C93" + subtitle: "{quests.tfg_tips.jam.subtitle}" + tasks: [ + { + id: "38C2047CE7F89E53" + item: "tfc:empty_jar_with_lid" + type: "item" + } + { + id: "1F980EF8736C7AEB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/sealed_preserves)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/sealed_preserves" + type: "item" + } + ] + title: "{quests.tfg_tips.jam.title}" + x: 1.0d + y: -9.5d + } + { + dependencies: ["2EFB241490502DB3"] + description: ["{quests.tfg_tips.preservation.desc}"] + icon: "minecraft:clock" + id: "4047EE998BC4CD03" + subtitle: "{quests.tfg_tips.preservation.subtitle}" + tasks: [{ + id: "29CDDE027CC8B84A" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.preservation.title}" + x: 6.0d + y: -7.5d + } + { + dependencies: [ + "79ADAE8CF4A2C1E3" + "060C84862C9BB9CE" + "5335969963D0A6CC" + "6FF80B0E333D2F14" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.passive_preservation.desc}"] + id: "13F7066858E923FF" + subtitle: "{quests.tfg_tips.passive_preservation.subtitle}" + tasks: [{ + id: "54AAB9886964A160" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.passive_preservation.title}" + x: 6.0d + y: -15.5d + } + { + dependencies: ["4047EE998BC4CD03"] + description: ["{quests.tfg_tips.get_milk.desc}"] + id: "3C7F170E065B60E1" + subtitle: "{quests.tfg_tips.get_milk.subtitle}" + tasks: [{ + id: "5ADFB5FC06EAED6C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"minecraft:milk\"}})item(minecraft:milk_bucket))only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"firmalife:yak_milk\"}})item(firmalife:bucket/yak_milk))only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"firmalife:goat_milk\"}})item(firmalife:bucket/goat_milk)))" + } + } + title: "{quests.tfg_tips.get_milk.task}" + type: "item" + }] + title: "{quests.tfg_tips.get_milk.title}" + x: 4.0d + y: -8.5d + } + { + dependencies: ["4047EE998BC4CD03"] + description: ["{quests.tfg_tips.get_meat.desc}"] + id: "52290DFBF39F0D07" + subtitle: "{quests.tfg_tips.get_meat.subtitle}" + tasks: [{ + id: "635FC546E0B06CA2" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/raw_meats)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/raw_meats" + type: "item" + }] + title: "{quests.tfg_tips.get_meat.title}" + x: 5.0d + y: -8.5d + } + { + dependencies: ["4047EE998BC4CD03"] + description: ["{quests.tfg_tips.get_fruit.desc}"] + id: "52D944ADA884EFEF" + subtitle: "{quests.tfg_tips.get_fruit.subtitle}" + tasks: [{ + id: "20CFF7661FA20588" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/fruits)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/fruits" + type: "item" + }] + title: "{quests.tfg_tips.get_fruit.title}" + x: 7.0d + y: -8.5d + } + { + dependencies: ["4047EE998BC4CD03"] + description: ["{quests.tfg_tips.get_grain.desc}"] + id: "45102650E3D790B8" + subtitle: "{quests.tfg_tips.get_grain.subtitle}" + tasks: [{ + id: "604194B255AE269D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:food/wheat)item(tfc:food/maize)item(tfc:food/oat)item(tfc:food/rye)item(tfc:food/rice))" + } + } + title: "{quests.tfg_tips.get_grain.task}" + type: "item" + }] + title: "{quests.tfg_tips.get_grain.title}" + x: 8.0d + y: -8.5d + } + { + dependencies: ["4047EE998BC4CD03"] + description: ["{quests.tfg_tips.get_veggie.desc}"] + id: "44A04ABBB95E3723" + subtitle: "{quests.tfg_tips.get_veggie.subtitle}" + tasks: [{ + id: "056CB65D51A7F92A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/vegetables)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/vegetables" + type: "item" + }] + title: "{quests.tfg_tips.get_veggie.title}" + x: 6.0d + y: -8.5d + } + { + dependencies: ["45102650E3D790B8"] + description: ["{quests.tfg_tips.process_grain.desc}"] + id: "79ADAE8CF4A2C1E3" + subtitle: "{quests.tfg_tips.process_grain.subtitle}" + tasks: [ + { + id: "2360E79C82AA252F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:foods/grains)" + } + } + title: "{quests.tasktype.item.any} #tfc:foods/grains" + type: "item" + } + { + id: "77E4A22C67BF4563" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:knives)" + } + } + title: "{quests.tasktype.item.any} #tfc:knives" + type: "item" + } + ] + title: "{quests.tfg_tips.process_grain.title}" + x: 8.0d + y: -12.5d + } + { + dependencies: [ + "52290DFBF39F0D07" + "44A04ABBB95E3723" + "52D944ADA884EFEF" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.brine_something.desc}"] + id: "71393B553550EA42" + subtitle: "{quests.tfg_tips.brine_something.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -2L + foodData: { + dairy: 0.0f + decay: 0.0f + food: 0 + fruit: 0.0f + grain: 0.0f + meat: 0.0f + sat: 0.0f + veg: 0.0f + water: 0.0f + } + ingredients: [ ] + traits: [ ] + } + } + id: "tfc:food/grain_salad" + tag: { } + } + id: "5D58C24125272168" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/tfc:brined)" + } + } + title: "{quests.tfg_tips.brine_something.tasks.1}" + type: "item" + } + { + id: "65EF5F43A6673549" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"tfc:brine\"}})item(tfc:bucket/brine))" + } + } + title: "{quests.tfg_tips.brine_something.tasks.2}" + type: "item" + } + ] + title: "{quests.tfg_tips.brine_something.title}" + x: 6.0d + y: -9.5d + } + { + dependencies: [ + "71393B553550EA42" + "4417A395801DC4E5" + "1FC019B45383695E" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.pickle_something.desc}"] + id: "060C84862C9BB9CE" + subtitle: "{quests.tfg_tips.pickle_something.subtitle}" + tasks: [ + { + icon: "tfc:bucket/vinegar" + id: "20462C26C18B9270" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"tfc:vinegar\"}})item(tfc:bucket/vinegar))" + } + } + title: "{quests.tfg_tips.pickle_something.tasks.1}" + type: "item" + } + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -2L + foodData: { + dairy: 0.0f + decay: 0.0f + food: 0 + fruit: 0.0f + grain: 0.0f + meat: 0.0f + sat: 0.0f + veg: 0.0f + water: 0.0f + } + ingredients: [ ] + traits: [ ] + } + } + id: "tfc:food/grain_salad" + tag: { } + } + id: "139F7A97E56F0BB9" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/tfc:pickled)" + } + } + title: "{quests.tfg_tips.pickle_something.tasks.2}" + type: "item" + } + ] + title: "{quests.tfg_tips.pickle_something.title}" + x: 6.0d + y: -12.5d + } + { + dependencies: ["52D944ADA884EFEF"] + description: ["{quests.tfg_tips.dry_fruit.desc}"] + id: "4417A395801DC4E5" + subtitle: "{quests.tfg_tips.dry_fruit.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: ["firmalife:dried"] + } + } + id: "tfc:food/green_apple" + } + id: "651E953212E1B7CA" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "and(custom(HasPreservation/firmalife:dried)item_tag(tfc:foods/fruits))" + } + } + title: "{quests.tfg_tips.dry_fruit.tasks.1}" + type: "item" + } + { + id: "4DAF2BDB0437D884" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(firmalife:solar_drier)item(firmalife:drying_mat))" + } + } + title: "{quests.tfg_tips.dry_fruit.tasks.2}" + type: "item" + } + ] + title: "{quests.tfg_tips.dry_fruit.title}" + x: 7.0d + y: -11.0d + } + { + dependencies: ["52290DFBF39F0D07"] + description: ["{quests.tfg_tips.salt_meat.desc}"] + id: "01CB939598271EC4" + subtitle: "{quests.tfg_tips.salt_meat.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: 26377904L + traits: ["tfc:salted"] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:food/beef" + } + id: "60D9FCD7C82B0613" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/tfc:salted)" + } + } + title: "{quests.tfg_tips.salt_meat.task}" + type: "item" + } + { + id: "6BABF8D1E11D684A" + item: "tfc:powder/salt" + type: "item" + } + ] + title: "{quests.tfg_tips.salt_meat.title}" + x: 5.0d + y: -10.5d + } + { + dependencies: [ + "01CB939598271EC4" + "71393B553550EA42" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.smoke_meat.desc}"] + id: "1FC019B45383695E" + subtitle: "{quests.tfg_tips.smoke_meat.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: [ + "tfc:brined" + "firmalife:smoked" + ] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:food/beef" + } + id: "6F36FAA8AE1E2987" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/firmaciv:smoked)custom(HasPreservation/tfc:brined)" + } + } + title: "{quests.tfg_tips.smoke_meat.task}" + type: "item" + } + { + id: "7866304B9404500F" + item: "tfc:wool_yarn" + type: "item" + } + ] + title: "{quests.tfg_tips.smoke_meat.title}" + x: 5.0d + y: -11.5d + } + { + dependencies: [ + "1FC019B45383695E" + "060C84862C9BB9CE" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.cook_meat.desc}"] + id: "5335969963D0A6CC" + subtitle: "{quests.tfg_tips.cook_meat.subtitle}" + tasks: [ + { + icon: "minecraft:cooked_chicken" + id: "07C6F80E7CB3BA15" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(custom(HasPreservation/tfc:wood_grilled)custom(HasPreservation/firmaciv:oven_baked))" + } + } + title: "{quests.tfg_tips.cook_meat.tasks.1}" + type: "item" + } + { + id: "0A830C4DF6E785F1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:wrought_iron_grill)item(firmalife:cured_oven_top))" + } + } + title: "{quests.tfg_tips.cook_meat.tasks.2}" + type: "item" + } + ] + title: "{quests.tfg_tips.cook_meat.title}" + x: 5.0d + y: -13.5d + } + { + dependencies: ["3C7F170E065B60E1"] + description: ["{quests.tfg_tips.create_cheese.desc}"] + id: "0FCB88A64D3FBF0F" + subtitle: "{quests.tfg_tips.create_cheese.subtitle}" + tasks: [{ + id: "61CF4D07A6E8B1A0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(firmalife:cheese_wheels)" + } + } + title: "{quests.tasktype.item.any} #firmalife:cheese_wheels" + type: "item" + }] + title: "{quests.tfg_tips.create_cheese.title}" + x: 4.0d + y: -11.0d + } + { + dependencies: [ + "0FCB88A64D3FBF0F" + "3D1FF501DE2E56FE" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.cheese_aging.desc}"] + id: "28D7447C7304956A" + subtitle: "{quests.tfg_tips.cheese_aging.subtitle}" + tasks: [{ + id: "4251CA1CC4A001AD" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.cheese_aging.title}" + x: 3.0d + y: -11.0d + } + { + dependencies: ["0FCB88A64D3FBF0F"] + description: ["{quests.tfg_tips.smoke_cheese.desc}"] + id: "6FF80B0E333D2F14" + subtitle: "{quests.tfg_tips.smoke_cheese.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: 26482434L + traits: [ + "firmalife:fresh" + "firmalife:smoked" + ] + } + } + id: "firmalife:food/cheddar" + } + id: "2900FCE0082E707F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/firmalife:smoked)" + } + } + title: "{quests.tfg_tips.smoke_cheese.task}" + type: "item" + } + { + id: "5C8945FC3E451935" + item: "tfc:wool_yarn" + type: "item" + } + ] + title: "{quests.tfg_tips.smoke_cheese.title}" + x: 4.0d + y: -13.5d + } + { + dependencies: ["2EFB241490502DB3"] + description: ["{quests.tfg_tips.greenhouse.desc}"] + icon: "firmalife:large_planter" + id: "07FBA022050DA24A" + subtitle: "{quests.tfg_tips.greenhouse.subtitle}" + tasks: [{ + id: "63D7E5FDBE2B66D5" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.greenhouse.title}" + x: 2.0d + y: -6.0d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.glassblowing.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/block/brass" + } + id: "22E604DB7E7E87FB" + subtitle: "{quests.tfg_tips.glassblowing.subtitle}" + tasks: [ + { + id: "00630DE980C1D57D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:blowpipes)" + } + } + title: "{quests.tasktype.item.any} #tfc:blowpipes" + type: "item" + } + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/block/brass" + } + id: "6E7AA28CDBC41C74" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:glass_basin_blocks)" + } + } + title: "Any #tfc:glass_basin_blocks" + type: "item" + } + ] + title: "{quests.tfg_tips.glassblowing.title}" + x: -3.0d + y: 8.0d + } + { + dependencies: ["22E604DB7E7E87FB"] + description: ["{quests.tfg_tips.glassblowing_tools.desc}"] + id: "2D959136A5FC5F46" + subtitle: "{quests.tfg_tips.glassblowing_tools.subtitle}" + tasks: [{ + id: "5892192552832DEA" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:glassworking_tools)" + } + } + title: "Any #tfc:glassworking_tools" + type: "item" + }] + title: "{quests.tfg_tips.glassblowing_tools.title}" + x: -3.0d + y: 9.5d + } + { + dependencies: [ + "2D959136A5FC5F46" + "56CA2EB7812529C5" + ] + description: ["{quests.tfg_tips.lamps.desc}"] + id: "037CDA933FBE2CBE" + subtitle: "{quests.tfg_tips.lamps.subtitle}" + tasks: [ + { + id: "0173845209C6B380" + item: "tfc:lamp_glass" + type: "item" + } + { + id: "539A1E3793AD3088" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:unfinished_lamps)" + } + } + title: "Any #tfg:unfinished_lamps" + type: "item" + } + { + id: "146E09EE00F0EC3F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:lamps)" + } + } + title: "Any #tfc:lamps" + type: "item" + } + ] + title: "{quests.tfg_tips.lamps.title}" + x: -5.0d + y: 11.0d + } + { + dependencies: [ + "037CDA933FBE2CBE" + "56CA2EB7812529C5" + ] + description: ["{quests.tfg_tips.lava_lamp.desc}"] + id: "4EBABACAB444244D" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.lava_lamp.subtitle}" + tasks: [ + { + id: "50C7B060CC8E91AA" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/lamp/blue_steel" + } + type: "item" + } + { + id: "5A61ADFCB2AE868E" + item: "minecraft:lava_bucket" + type: "item" + } + ] + title: "{quests.tfg_tips.lava_lamp.title}" + x: -5.0d + y: 12.5d + } + { + dependencies: ["037CDA933FBE2CBE"] + description: ["{quests.tfg_tips.creosote.desc}"] + id: "72C1E430FF6D2DD8" + subtitle: "{quests.tfg_tips.creosote.subtitle}" + tasks: [{ + id: "6980AF89760133FD" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(item(gtceu:creosote_bucket)nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"gtceu:creosote\"}}))" + } + } + title: "{quests.tfg_tips.creosote.task}" + type: "item" + }] + title: "{quests.tfg_tips.creosote.title}" + x: -6.0d + y: 12.0d + } + { + dependencies: ["037CDA933FBE2CBE"] + description: ["{quests.tfg_tips.olive_oil.desc}"] + id: "13FC17F88DFEB8A8" + subtitle: "{quests.tfg_tips.olive_oil.subtitle}" + tasks: [{ + id: "41B624CA79C96356" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(item(tfc:bucket/olive_oil)nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"tfc:olive_oil\"}}))" + } + } + title: "{quests.tfg_tips.olive_oil.task}" + type: "item" + }] + title: "{quests.tfg_tips.olive_oil.title}" + x: -4.0d + y: 12.0d + } + { + dependencies: ["2D959136A5FC5F46"] + description: ["{quests.tfg_tips.glass_blocks.desc}"] + id: "382FC8824F311665" + subtitle: "{quests.tfg_tips.glass_blocks.subtitle}" + tasks: [ + { + id: "443E37E091069F5E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:glass/silica)" + } + } + title: "{quests.tasktype.item.any} #forge:glass/silica" + type: "item" + } + { + id: "4D76B5D2C7738271" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(exposure:filters)item_tag(forge:glass_panes)" + } + } + title: "{quests.tasktype.item.any} #forge:glass_panes" + type: "item" + } + ] + title: "{quests.tfg_tips.glass_blocks.title}" + x: -3.0d + y: 11.0d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: [ + "{quests.tfg_tips.charcoal_pile.desc.1}" + "" + "{image:tfg:textures/quests/primitive_charcoal_1.png width:100 height:100 align:center}" + "{@pagebreak}" + "{quests.tfg_tips.charcoal_pile.desc.2}" + "" + "{image:tfg:textures/quests/primitive_charcoal_2.png width:100 height:100 align:center}" + "{@pagebreak}" + "{quests.tfg_tips.charcoal_pile.desc.3}" + "" + "" + "{image:tfg:textures/quests/primitive_charcoal_3.png width:100 height:100 align:center}" + "{@pagebreak}" + "{quests.tfg_tips.charcoal_pile.desc.4}" + ] + id: "7B2068B200631D5C" + subtitle: "{quests.tfg_tips.charcoal_pile.subtitle}" + tasks: [ + { + icon: "gtceu:brittle_charcoal" + id: "6AE2426E2C6CD97C" + observe_type: 0 + optional_task: true + timer: 0L + title: "{quests.tasktype.lookat} tfc:burning_log_pile" + to_observe: "tfc:burning_log_pile" + type: "observation" + } + { + id: "0AC71AAF8629E67F" + item: "minecraft:charcoal" + type: "item" + } + ] + title: "{quests.tfg_tips.charcoal_pile.title}" + x: -1.5d + y: 8.5d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.thatch_bed.desc}"] + id: "4D11F11CE0E9F379" + subtitle: "{quests.tfg_tips.thatch_bed.subtitle}" + tasks: [ + { + count: 2L + id: "043F36EA13E6E426" + item: "tfc:thatch" + type: "item" + } + { + id: "414BD19EE363C720" + item: "tfc:large_raw_hide" + type: "item" + } + { + icon: "tfc:thatch_bed" + id: "469CFB85AB4A154F" + observe_type: 0 + timer: 0L + title: "{quests.tasktype.looktat} tfc:thatch_bed" + to_observe: "tfc:thatch_bed" + type: "observation" + } + ] + title: "{quests.tfg_tips.thatch_bed.title}" + x: 0.0d + y: 9.0d + } + { + dependencies: [ + "11AB8966EC8C10ED" + "0FACA5FBFCB26266" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.bed.desc}"] + id: "5C01BDDA66249D7B" + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg_tips.bed.subtitle}" + tasks: [{ + id: "2967EABE3AE54241" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:beds)" + } + } + title: "{quests.tasktype.item.any} #minecraft:beds" + type: "item" + }] + title: "{quests.tfg_tips.bed.title}" + x: 0.0d + y: 16.0d + } + { + dependencies: [ + "4D11F11CE0E9F379" + "150B7C5CD152E1BA" + ] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.loom.desc}"] + id: "1766C916084261AA" + subtitle: "{quests.tfg_tips.loom.subtitle}" + tasks: [{ + id: "625E0FB3A603902D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:looms)" + } + } + title: "{quests.tasktype.item.any} #tfc:looms" + type: "item" + }] + title: "{quests.tfg_tips.loom.title}" + x: 0.0d + y: 11.0d + } + { + dependencies: ["1766C916084261AA"] + description: ["{quests.tfg_tips.wool_cloth.desc}"] + id: "11AB8966EC8C10ED" + subtitle: "{quests.tfg_tips.wool_cloth.subtitle}" + tasks: [{ + id: "0DE4C9EE8F736C75" + item: "tfc:wool_cloth" + type: "item" + }] + title: "{quests.tfg_tips.wool_cloth.title}" + x: -1.0d + y: 12.5d + } + { + dependencies: ["1766C916084261AA"] + description: ["{quests.tfg_tips.pineapple_leather.desc}"] + id: "6D0017F4B44A0D45" + subtitle: "{quests.tfg_tips.pineapple_leather.subtitle}" + tasks: [{ + id: "24704F950819F332" + item: "firmalife:pineapple_leather" + type: "item" + }] + title: "{quests.tfg_tips.pineapple_leather.title}" + x: 0.0d + y: 12.5d + } + { + dependencies: ["1766C916084261AA"] + description: ["{quests.tfg_tips.burlap_cloth.desc}"] + id: "3FE557D2A6460561" + subtitle: "{quests.tfg_tips.burlap_cloth.subtitle}" + tasks: [{ + id: "1B9B2F664691C9AA" + item: "tfc:burlap_cloth" + type: "item" + }] + title: "{quests.tfg_tips.burlap_cloth.title}" + x: -2.0d + y: 12.5d + } + { + dependencies: ["1766C916084261AA"] + description: ["{quests.tfg_tips.silk_cloth.desc}"] + id: "0FACA5FBFCB26266" + subtitle: "{quests.tfg_tips.silk_cloth.subtitle}" + tasks: [{ + id: "17226443DEC56609" + item: "tfc:silk_cloth" + type: "item" + }] + title: "{quests.tfg_tips.silk_cloth.title}" + x: 1.0d + y: 12.5d + } + { + dependencies: ["1766C916084261AA"] + description: ["{quests.tfg_tips.unrefined_paper.desc}"] + id: "4CD3F04793CE47A2" + subtitle: "{quests.tfg_tips.unrefined_paper.subtitle}" + tasks: [{ + id: "6A74D8B7FCDCC636" + item: "tfc:unrefined_paper" + type: "item" + }] + title: "{quests.tfg_tips.unrefined_paper.title}" + x: 2.0d + y: 12.5d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: [ + "{quests.tfg_tips.panning.desc}" + "{image:tfg:textures/quests/ore_deposit.png width:100 height:100 align:center}" + ] + id: "082310DF9BEA92CE" + subtitle: "{quests.tfg_tips.panning.subtitle}" + tasks: [ + { + id: "1864A20BCD18139C" + item: "tfc:pan/empty" + type: "item" + } + { + id: "61B05C6828DE1714" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:ore_deposits)" + } + } + title: "{quests.tasktype.item.any} #tfc:ore_deposits" + type: "item" + } + ] + title: "{quests.tfg_tips.panning.title}" + x: 1.5d + y: 8.5d + } + { + dependencies: ["082310DF9BEA92CE"] + description: [ + "{quests.tfg_tips.sluice.desc}" + "{image:tfg:textures/quests/sluice.png width:100 height:100 align:center}" + ] + id: "5261ECBE3438B05E" + subtitle: "{quests.tfg_tips.sluice.subtitle}" + tasks: [{ + id: "33B9DEDAD0DAC0A3" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:sluices)" + } + } + title: "Any #tfc:sluices" + type: "item" + }] + title: "{quests.tfg_tips.sluice.title}" + x: 1.5d + y: 10.0d + } + { + dependencies: ["60497014785301EB"] + description: ["{quests.tfg_tips.glider.desc}"] + id: "7EE13BE102F323F3" + subtitle: "{quests.tfg_tips.glider.subtitle}" + tasks: [{ + id: "33731B2300E088A4" + item: { + Count: 1 + id: "hangglider:hang_glider" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.tfg_tips.glider.title}" + x: -4.0d + y: -2.5d + } + { + dependencies: ["7EE13BE102F323F3"] + description: ["{quests.tfg_tips.reinforced_glider.desc}"] + hide_until_deps_complete: true + id: "472D1C507490CC8A" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.reinforced_glider.subtitle}" + tasks: [{ + id: "1A3E7CD15E316BBC" + item: { + Count: 1 + id: "hangglider:reinforced_hang_glider" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.tfg_tips.reinforced_glider.title}" + x: -4.0d + y: -1.5d + } + { + dependencies: ["7FA5B6354A49C396"] + description: ["{quests.tfg_tips.toolbelt.desc}"] + id: "4433748B4DA986B0" + subtitle: "{quests.tfg_tips.toolbelt.subtitle}" + tasks: [ + { + id: "72ED34F55F7DDC14" + item: "toolbelt:belt" + type: "item" + } + { + id: "3AD198BF4ECFCB8B" + item: "toolbelt:pouch" + type: "item" + } + ] + title: "{quests.tfg_tips.toolbelt.title}" + x: 8.0d + y: 2.0d + } + { + dependencies: ["4433748B4DA986B0"] + description: ["{quests.tfg_tips.maxed_out_toolbelt.desc}"] + id: "3439B50B06C5BC5D" + shape: "heart" + subtitle: "{quests.tfg_tips.maxed_out_toolbelt.subtitle}" + tasks: [{ + icon: { + Count: 1 + id: "toolbelt:belt" + tag: { + Items: [{ + Count: 1b + Slot: 0 + id: "minecraft:wooden_pickaxe" + tag: { + Damage: 0 + } + }] + Size: 9.0d + } + } + id: "1E84FC347B772440" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "nbt(fuzzy:{Size:9.0d})" + } + } + match_nbt: true + title: "{quests.tfg_tips.maxed_out_toolbelt.task}" + type: "item" + }] + title: "{quests.tfg_tips.maxed_out_toolbelt.title}" + x: 9.0d + y: 2.0d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: ["{quests.tfg_tips.blank_disc.desc}"] + id: "6197774254321BEC" + subtitle: "{quests.tfg_tips.blank_disc.subtitle}" + tasks: [{ + id: "32B6A6C1F8A6E5E6" + item: "etched:blank_music_disc" + type: "item" + }] + title: "{quests.tfg_tips.blank_disc.title}" + x: -5.0d + y: 7.0d + } + { + dependencies: ["6197774254321BEC"] + description: ["{quests.tfg_tips.dye_discs.desc}"] + id: "0B8F9C3AD6A12CB6" + subtitle: "{quests.tfg_tips.dye_discs.subtitle}" + tasks: [{ + id: "13E20F55DD3DB88C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(minecraft:creeper_drop_music_discs)" + } + } + title: "{quests.tfg_tips.dye_disks.task}" + type: "item" + }] + title: "{quests.tfg_tips.dye_discs.title}" + x: -6.5d + y: 6.0d + } + { + dependencies: ["6197774254321BEC"] + description: ["{quests.tfg_tips.amogus.desc}"] + hide_until_deps_complete: true + hide_until_deps_visible: true + id: "1074B137571B3F94" + invisible: true + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.amogus.subtitle}" + tasks: [{ + id: "2FF9DCD0199D9DBA" + item: "gtceu:sus_record" + type: "item" + }] + title: "{quests.tfg_tips.amogus.title}" + x: -6.5d + y: 7.0d + } + { + dependencies: ["6197774254321BEC"] + description: ["{quests.tfg_tips.special_discs.desc}"] + id: "7C13AE728BBF0143" + subtitle: "{quests.tfg_tips.special_discs.subtitle}" + tasks: [{ + id: "3B4CD2ED82944A2F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(minecraft:music_disc_otherside)item(minecraft:music_disc_5)item(minecraft:music_disc_pigstep)item(minecraft:music_disc_relic)item(alekiships:music_disc_pirate_crafting)item(create_connected:music_disc_elevator)item(create_connected:music_disc_interlude))" + } + } + type: "item" + }] + title: "{quests.tfg_tips.special_discs.title}" + x: -6.5d + y: 8.0d + } + { + dependencies: [ + "0B8F9C3AD6A12CB6" + "7C13AE728BBF0143" + ] + description: ["{quests.tfg_tips.disc_collector.desc}"] + hide_until_deps_complete: true + id: "02082DC32D4CA243" + ignore_reward_blocking: true + shape: "heart" + subtitle: "{quests.tfg_tips.disc_collector.subtitle}" + tasks: [ + { + id: "24B43805803B53CA" + item: "minecraft:music_disc_13" + type: "item" + } + { + id: "1159D566559E5F35" + item: "minecraft:music_disc_cat" + type: "item" + } + { + id: "07100A24C41FB1CE" + item: "minecraft:music_disc_blocks" + type: "item" + } + { + id: "3373103EFC55A78D" + item: "minecraft:music_disc_chirp" + type: "item" + } + { + id: "3E2800F825241179" + item: "minecraft:music_disc_far" + type: "item" + } + { + id: "79ABCB6113A7E1DE" + item: "minecraft:music_disc_mall" + type: "item" + } + { + id: "257F5BD35CF1EE40" + item: "minecraft:music_disc_mellohi" + type: "item" + } + { + id: "77A7292A5EF7E4CF" + item: "minecraft:music_disc_stal" + type: "item" + } + { + id: "28C17C33ECB70188" + item: "minecraft:music_disc_strad" + type: "item" + } + { + id: "691AC3897E696E25" + item: "minecraft:music_disc_ward" + type: "item" + } + { + id: "2C0F3BC25F8AAC9C" + item: "minecraft:music_disc_11" + type: "item" + } + { + id: "27AD5A6B311A902B" + item: "minecraft:music_disc_wait" + type: "item" + } + { + id: "50AAF85172A25310" + item: "minecraft:music_disc_otherside" + type: "item" + } + { + id: "38E544AE090529DA" + item: "minecraft:music_disc_5" + type: "item" + } + { + id: "4E695E99B5A3A67F" + item: "minecraft:music_disc_pigstep" + type: "item" + } + { + id: "51AE173DAB886094" + item: "minecraft:music_disc_relic" + type: "item" + } + { + id: "10C922DAB1EBB8E3" + item: "alekiships:music_disc_pirate_crafting" + type: "item" + } + { + id: "73844BD0542A6ACA" + item: "create_connected:music_disc_elevator" + type: "item" + } + { + id: "3A7EB997DD873A2D" + item: "create_connected:music_disc_interlude" + type: "item" + } + ] + title: "{quests.tfg_tips.disc_collector.title}" + x: -7.5d + y: 7.0d + } + { + dependencies: ["6197774254321BEC"] + description: [ + "{quests.tfg_tips.label_album.desc}" + "{image:tfg:textures/quests/wheezo.png width:100 height:100 align:center}" + ] + id: "08C37B4ED7DB918B" + subtitle: "{quests.tfg_tips.label_album.subtitle}" + tasks: [ + { + id: "6EF6B96A209EF78F" + item: { + Count: 1 + id: "etched:music_label" + tag: { + Label: { + Author: "Nebby1999" + Title: "Custom Music" + } + } + } + type: "item" + } + { + id: "4367D62BE629E928" + item: "etched:album_cover" + type: "item" + } + ] + title: "{quests.tfg_tips.label_album.title}" + x: -5.0d + y: 8.0d + } + { + dependencies: ["08C37B4ED7DB918B"] + description: ["{quests.tfg_tips.etching_disc.desc}"] + id: "7560DC5AA338F0CD" + subtitle: "{quests.tfg_tips.etching_disc.subtitle}" + tasks: [ + { + id: "76BD74F5BBFB17D4" + item: "etched:etching_table" + type: "item" + } + { + id: "446CE2C288EC58BF" + item: "etched:etched_music_disc" + type: "item" + } + ] + title: "{quests.tfg_tips.etching_disc.title}" + x: -5.0d + y: 9.0d + } + { + dependencies: ["7560DC5AA338F0CD"] + description: ["{quests.tfg_tips.disc_players.desc}"] + id: "1EE19C01C2651279" + subtitle: "{quests.tfg_tips.disc_players.subtitle}" + tasks: [{ + id: "7C80BDB49F96AEE0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(etched:album_jukebox)item(etched:boombox))" + } + } + title: "{quests.tfg_tips.disc_players.task}" + type: "item" + }] + title: "{quests.tfg_tips.disc_players.title}" + x: -6.0d + y: 9.0d + } + { + dependencies: ["6197774254321BEC"] + description: ["{quests.tfg_tips.radio.desc}"] + id: "6D3B064ACEFC3630" + subtitle: "{quests.tfg_tips.radio.subtitle}" + tasks: [{ + id: "4E7E1EC89D6E1E1F" + item: "etched:radio" + type: "item" + }] + title: "{quests.tfg_tips.radio.title}" + x: -4.0d + y: 7.0d + } + { + dependencies: ["7560DC5AA338F0CD"] + description: ["{quests.tfg_tips.DIGGY_DIGGY_HOLE.desc}"] + hide_until_deps_complete: true + hide_until_deps_visible: true + icon: { + Count: 1 + id: "minecraft:netherite_pickaxe" + tag: { + Damage: 0 + } + } + id: "6EF03629D3881D7B" + invisible: true + shape: "heart" + subtitle: "{quests.tfg_tips.DIGGY_DIGGY_HOLE.subtitle}" + tasks: [{ + icon: "etched:blank_music_disc" + id: "5FFC33BE7B19801C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(nbt(fuzzy:{Music:{Author:\"Wind Rose\",Title:'{\"text\":\"Diggy Diggy Hole\"}',Url:\"https://wind-rose.bandcamp.com/track/diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Wind Rose\",Title:'{\"text\":\"Diggy Diggy Hole\"}',Url:\"https://soundcloud.com/windrosemusic/diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Yogscast\",Title:'{\"text\":\"♪ Diggy Diggy Hole - Original Song\"}',Url:\"https://soundcloud.com/yogscastofficial/diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Yogscast\",Title:'{\"text\":\"Diggy Diggy Hole\"}',Url:\"https://soundcloud.com/yogscast/diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Patient Zero\",Title:'{\"text\":\"Dwarf Hole (Diggy Diggy Hole)\"}',Url:\"https://patientzero.bandcamp.com/track/dwarf-hole-diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Patient Zero\",Title:'{\"text\":\"Dwarf Hole 2020 (Diggy Diggy Hole)\"}',Url:\"https://patientzero.bandcamp.com/track/dwarf-hole-2020-diggy-diggy-hole\"}})nbt(fuzzy:{Music:{Author:\"Patient Zero\",Title:'{\"text\":\"Dwarf Hole (Diggy Diggy Hole) (2020 remaster)\"}',Url:\"https://patientzero.bandcamp.com/track/dwarf-hole-diggy-diggy-hole-2020-remaster\"}})nbt(fuzzy:{Music:{Author:\"Patient Zero\",Title:'{\"text\":\"Dwarf Hole (Extra Diggy Mix) (2020 remaster)\"}',Url:\"https://patientzero.bandcamp.com/track/dwarf-hole-extra-diggy-mix-2020-remaster\"}}))" + } + } + type: "item" + }] + title: "{quests.tfg_tips.DIGGY_DIGGY_HOLE.title}" + x: -5.0d + y: 10.0d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: ["{quests.tfg_tips.camera.desc}"] + id: "275C8EA942AB49DD" + subtitle: "{quests.tfg_tips.camera.subtitle}" + tasks: [{ + id: "1EEC134E3699756E" + item: "exposure:camera" + type: "item" + }] + title: "{quests.tfg_tips.camera.title}" + x: -8.5d + y: 5.0d + } + { + dependencies: ["275C8EA942AB49DD"] + description: ["{quests.tfg_tips.film_rolls.desc}"] + id: "5D4EBB3347A69A42" + subtitle: "{quests.tfg_tips.film_rolls.subtitle}" + tasks: [{ + id: "6ED3F6674D310225" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(exposure:film_rolls)" + } + } + title: "{quests.tasktype.item.any} #exposure:film_rolls" + type: "item" + }] + title: "{quests.tfg_tips.film_rolls.title}" + x: -8.5d + y: 6.0d + } + { + dependencies: ["5D4EBB3347A69A42"] + description: [ + "{quests.tfg_tips.developing_film.desc}" + "" + ] + id: "399A7716D4A2AAC6" + subtitle: "{quests.tfg_tips.developing_film.subtitle}" + tasks: [ + { + id: "2A5965A7455A3027" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(exposure:developed_film_rolls)" + } + } + title: "{quests.tasktype.item.any} #exposure:developed_film_rolls" + type: "item" + } + { + id: "770F748F902AC680" + item: "exposure:lightroom" + type: "item" + } + ] + title: "{quests.tfg_tips.developing_film.title}" + x: -8.5d + y: 7.0d + } + { + dependencies: ["275C8EA942AB49DD"] + description: [ + "{quests.tfg_tips.selfie.desc}" + "{image:tfg:textures/quests/selfie.png width:100 height:100 align:center}" + ] + id: "2B26C247DE1EC95C" + subtitle: "{quests.tfg_tips.selfie.subtitle}" + tasks: [{ + id: "7B97C1070D656769" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.selfie.title}" + x: -7.5d + y: 6.0d + } + { + dependencies: ["399A7716D4A2AAC6"] + description: ["{quests.tfg_tips.photo.desc}"] + id: "3811F97636DBC518" + subtitle: "{quests.tfg_tips.photo.subtitle}" + tasks: [{ + id: "1871A9FA59079915" + item: "exposure:photograph" + type: "item" + }] + title: "{quests.tfg_tips.photo.title}" + x: -8.5d + y: 8.0d + } + { + dependencies: ["3811F97636DBC518"] + description: ["{quests.tfg_tips.photo_album.desc}"] + id: "39BF972F09B09D4E" + subtitle: "{quests.tfg_tips.photo_album.subtitle}" + tasks: [{ + id: "657ED910AECB4C14" + item: "exposure:album" + type: "item" + }] + title: "{quests.tfg_tips.photo_album.title}" + x: -9.0d + y: 9.0d + } + { + dependencies: ["3811F97636DBC518"] + description: ["{quests.tfg_tips.photo_frame.desc}"] + id: "67F69C63EFF6990C" + subtitle: "{quests.tfg_tips.photo_frame.subtitle}" + tasks: [{ + id: "7417611F7203A781" + item: "exposure:photograph_frame" + type: "item" + }] + title: "{quests.tfg_tips.photo_frame.title}" + x: -8.0d + y: 9.0d + } + { + dependencies: ["275C8EA942AB49DD"] + description: ["{quests.tfg_tips.camera_attachments.desc}"] + id: "15AD11C9C5249AAF" + subtitle: "{quests.tfg_tips.camera_attachments.subtitle}" + tasks: [{ + id: "79F9084E031CFAF3" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(minecraft:redstone_lamp)item(minecraft:spyglass))" + } + } + title: "{quests.tfg_tips.camera_attachments.task}" + type: "item" + }] + title: "{quests.tfg_tips.camera_attachments.title}" + x: -9.5d + y: 4.5d + } + { + dependencies: ["275C8EA942AB49DD"] + description: ["{quests.tfg_tips.filters.desc}"] + id: "4E2C1CAD883EB032" + subtitle: "{quests.tfg_tips.filters.subtitle}" + tasks: [{ + id: "3B6862254E5EF802" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(exposure:filters)item_tag(forge:glass_panes)" + } + } + title: "{quests.tfg_tips.filters.task}" + type: "item" + }] + title: "{quests.tfg_tips.filters.title}" + x: -9.5d + y: 5.5d + } + { + dependencies: ["4E2C1CAD883EB032"] + description: ["{quests.tfg_tips.interplanar_projector.desc}"] + id: "3952D56556B35FDB" + subtitle: "{quests.tfg_tips.interplanar_projector.subtitle}" + tasks: [{ + id: "1FD277716ACD285F" + item: { + Count: 1 + id: "exposure:interplanar_projector" + tag: { + Clean: 0b + } + } + type: "item" + }] + title: "{quests.tfg_tips.interplanar_projector.title}" + x: -9.5d + y: 6.5d + } + { + dependencies: ["79FA776C414AE8E5"] + description: ["{quests.tfg_tips.candles.desc}"] + id: "368E3C94EEDC11BB" + subtitle: "{quests.tfg_tips.candles.subtitle}" + tasks: [{ + id: "50F55E0F2074E277" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:candles)" + } + } + title: "{quests.tasktype.item.any} #tfc:candles" + type: "item" + }] + title: "{quests.tfg_tips.candles.title}" + x: 1.5d + y: -11.5d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.cane.desc}"] + id: "75C6BF1C9405B4C7" + subtitle: "{quests.tfg_tips.cane.subtitle}" + tasks: [{ + id: "37DD99D32072ADFC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfccanes:walking_cane)item(tfccanes:refined_walking_cane))" + } + } + title: "{quests.tfg_tips.cane.task}" + type: "item" + }] + title: "{quests.tfg_tips.cane.title}" + x: 1.5d + y: 6.0d + } + { + dependencies: ["5C01BDDA66249D7B"] + description: ["{quests.tfg_tips.sleeping_bags.desc}"] + id: "0EEB7293B5CA65D8" + subtitle: "{quests.tfg_tips.sleeping_bags.subtitle}" + tasks: [{ + id: "56B210487D97FA31" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(comforts:sleeping_bags)" + } + } + title: "{quests.tasktype.item.any} #comforts:sleeping_bags" + type: "item" + }] + title: "{quests.tfg_tips.sleeping_bags.title}" + x: -2.0d + y: 18.0d + } + { + dependencies: ["5C01BDDA66249D7B"] + description: ["{quests.tfg_tips.hammocks.desc}"] + id: "47723F97A3E60425" + subtitle: "{quests.tfg_tips.hammocks.subtitle}" + tasks: [ + { + id: "774182313E02EDEB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(comforts:hammocks)" + } + } + title: "{quests.tasktype.item.any} #comforts:hammocks" + type: "item" + } + { + count: 2L + id: "324BAF05D22BEFA8" + item: "comforts:rope_and_nail" + type: "item" + } + ] + title: "{quests.tfg_tips.hammocks.title}" + x: 2.0d + y: 18.0d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: ["{quests.tfg_tips.tape_measure.desc}"] + id: "60D7605B4286C007" + subtitle: "{quests.tfg_tips.tape_measure.subtitle}" + tasks: [{ + id: "7D3FFED593B5CE48" + item: "measurements:tape_measure" + type: "item" + }] + title: "{quests.tfg_tips.tape_measure.title}" + x: -6.0d + y: 2.0d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: ["{quests.tfg_tips.chalk.desc}"] + id: "63508402A5BF5169" + subtitle: "{quests.tfg_tips.chalk.subtitle}" + tasks: [ + { + id: "2AA5B777EBBCF583" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(chalk:chalks)" + } + } + title: "Any #chalk:chalks" + type: "item" + } + { + id: "28B065D2AD85D082" + item: { + Count: 1 + id: "chalk:chalk_box" + tag: { + Items: [ + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + { + Count: 0b + id: "minecraft:air" + tag: { } + } + ] + } + } + type: "item" + } + ] + title: "{quests.tfg_tips.chalk.title}" + x: -5.0d + y: 2.0d + } + { + dependencies: ["037CDA933FBE2CBE"] + description: ["{quests.tfg_tips.tallow.desc}"] + id: "54E6994D5CC693A7" + subtitle: "{quests.tfg_tips.tallow.subtitle}" + tasks: [{ + id: "07D0D54839A9A725" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"tfc:tallow\"}})item(tfc:bucket/tallow))" + } + } + title: "{quests.tfg_tips.tallow.task}" + type: "item" + }] + title: "{quests.tfg_tips.tallow.title}" + x: -6.5d + y: 11.0d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.status_effects.desc}"] + icon: { + Count: 1 + id: "minecraft:potion" + tag: { + Potion: "minecraft:fire_resistance" + } + } + id: "28333A7852497C4D" + subtitle: "{quests.tfg_tips.status_effects.subtitle}" + tasks: [{ + id: "1F96808948B568A2" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.status_effects.title}" + x: 3.0d + y: 8.0d + } + { + dependencies: ["28333A7852497C4D"] + description: ["{quests.tfg_tips.aged_alcohol.desc}"] + id: "3179DABC8BCAD9FF" + subtitle: "{quests.tfg_tips.aged_alcohol.subtitle}" + tasks: [{ + id: "4BFC8A6E37AF4855" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfcagedalcohol:bucket/aged_beer)item(tfcagedalcohol:bucket/aged_cider)item(tfcagedalcohol:bucket/aged_rum)item(tfcagedalcohol:bucket/aged_sake)item(tfcagedalcohol:bucket/aged_vodka)item(tfcagedalcohol:bucket/aged_whiskey)item(tfcagedalcohol:bucket/aged_corn_whiskey)item(tfcagedalcohol:bucket/aged_rye_whiskey))" + } + } + title: "{quests.tfg_tips.aged_alcohol.task}" + type: "item" + }] + title: "{quests.tfg_tips.aged_alcohol.title}" + x: 3.0d + y: 10.0d + } + { + dependencies: ["28333A7852497C4D"] + description: ["{quests.tfg_tips.pills.desc}"] + id: "448E3249E5EB0969" + subtitle: "{quests.tfg_tips.pills.subtitle}" + tasks: [{ + id: "32A617086CD6E0B1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:haste_pill)item(tfg:night_vision_pill)item(tfg:poison_pill)item(tfg:regeneration_pill)item(tfg:slowness_pill)item(tfg:speed_pill)item(tfg:water_breathing_pill)item(tfg:weakness_pill)item(tfg:antipoison_pill))" + } + } + title: "{quests.tfg_tips.pills.task}" + type: "item" + }] + title: "{quests.tfg_tips.pills.title}" + x: 4.0d + y: 7.0d + } + { + dependencies: ["28333A7852497C4D"] + description: ["{quests.tfg_tips.tablets.desc}"] + id: "58745E29CBDE92FF" + subtitle: "{quests.tfg_tips.tablets.subtitle}" + tasks: [{ + id: "633B704A4568F2F0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:antipoison_tablet)item(tfg:haste_tablet)item(tfg:night_vision_tablet)item(tfg:poison_tablet)item(tfg:regeneration_tablet)item(tfg:slowness_tablet)item(tfg:speed_tablet)item(tfg:water_breathing_tablet)item(tfg:weakness_tablet))" + } + } + title: "{quests.tfg_tips.tablets.task}" + type: "item" + }] + title: "{quests.tfg_tips.tablets.title}" + x: 4.0d + y: 8.0d + } + { + dependencies: ["28333A7852497C4D"] + description: ["{quests.tfg_tips.salvo.desc}"] + id: "711F1438A35C3A91" + subtitle: "{quests.tfg_tips.salvo.subtitle}" + tasks: [{ + id: "5A8093BF2A1A2963" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:absorption_salvo)item(tfg:fire_resistance_salvo)item(tfg:invisibility_salvo)item(tfg:luck_salvo)item(tfg:resistance_salvo)item(tfg:instant_health_salvo))" + } + } + title: "{quests.tfg_tips.salvo.task}" + type: "item" + }] + title: "{quests.tfg_tips.salvo.title}" + x: 4.0d + y: 9.0d + } + { + dependencies: ["128483FFDC8277A0"] + description: ["{quests.tfg_tips.find_rosin_tree.desc}"] + id: "5D865179941E7B3A" + subtitle: "{quests.tfg_tips.find_rosin_tree.subtitle}" + tasks: [{ + icon: "tfc:wood/log/white_cedar" + id: "4C094F11C9BD13DE" + observe_type: 1 + timer: 0L + title: "{quests.tasktype.lookat} #tfg:rosin_logs" + to_observe: "#tfg:rosin_logs" + type: "observation" + }] + title: "{quests.tfg_tips.find_rosin_tree.title}" + x: -12.5d + y: -1.0d + } + { + dependencies: ["5D865179941E7B3A"] + description: ["{quests.tfg_tips.create_conifer_rosin.desc}"] + id: "674C30F26741135B" + subtitle: "{quests.tfg_tips.create_conifer_rosin.subtitle}" + tasks: [{ + id: "7852360339F429B4" + item: "tfg:conifer_rosin" + type: "item" + }] + title: "{quests.tfg_tips.create_conifer_rosin.title}" + x: -14.0d + y: -2.0d + } + { + dependencies: ["59F36AD7A3E81B45"] + description: ["{quests.tfg_tips.beneathxfirmaciv.desc}"] + icon: "createdeco:decal_fire" + id: "252EB7FA56D1F88E" + subtitle: "{quests.tfg_tips.beneathxfirmaciv.subtitle}" + tasks: [{ + id: "6C19AB80033D5E24" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.beneathxfirmaciv.title}" + x: -10.5d + y: -7.0d + } + { + dependencies: ["13F7066858E923FF"] + description: ["{quests.tfg_tips.vessel_preservation.desc}"] + id: "353BE5CFC422F99D" + subtitle: "{quests.tfg_tips.vessel_preservation.subtitle}" + tasks: [{ + id: "3006DD72C64564C7" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:fired_large_vessels)" + } + } + title: "{quests.tasktype.item.any} #tfc:fired_large_vessels" + type: "item" + }] + title: "{quests.tfg_tips.vessel_preservation.title}" + x: 6.0d + y: -16.5d + } + { + dependencies: ["173F6FA60A5B280B"] + description: ["{quests.tfg_tips.transportation.desc}"] + disable_toast: true + id: "60497014785301EB" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.transportation.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "2DDB6C944649BEDF" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.transportation.title}" + x: -4.0d + y: -4.0d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: [ + "{quests.tfg_tips.digger_helmet.desc.1}" + "{@pagebreak}" + "{quests.tfg_tips.digger_helmet.desc.2}" + "" + "{image:tfg:textures/quests/mining_helmet_option.png width:1000 height:135 align:center fit:true}" + ] + id: "4425519187BF28FE" + subtitle: "{quests.tfg_tips.digger_helmet.subtitle}" + tasks: [{ + id: "6010870D09DAD473" + item: { + Count: 1 + id: "diggerhelmet:digger_helmet" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.tfg_tips.digger_helmet.title}" + x: -4.0d + y: 2.0d + } + { + dependencies: ["60497014785301EB"] + description: ["{quests.tfg_tips.immersive_aircraft.desc}"] + icon: "immersive_aircraft:quadrocopter" + id: "62FD3E7A836D2E0A" + subtitle: "{quests.tfg_tips.immersive_aircraft.subtitle}" + tasks: [{ + id: "5A1E6B47737C6071" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.immersive_aircraft.title}" + x: -4.0d + y: -6.0d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.quadrocopter.desc}"] + id: "5D7E9840A5A7AD7E" + subtitle: "{quests.tfg_tips.quadrocopter.subtitle}" + tasks: [{ + id: "0746EC334B8F1C74" + item: "immersive_aircraft:quadrocopter" + type: "item" + }] + title: "{quests.tfg_tips.quadrocopter.title}" + x: -4.0d + y: -8.0d + } + { + dependencies: ["5D7E9840A5A7AD7E"] + description: ["{quests.tfg_tips.gyrodyne.desc}"] + id: "79767F5D33BCA30E" + subtitle: "{quests.tfg_tips.gyrodyne.subtitle}" + tasks: [{ + id: "6A5B1A379C09AF7C" + item: "immersive_aircraft:gyrodyne" + type: "item" + }] + title: "{quests.tfg_tips.gyrodyne.title}" + x: -4.0d + y: -10.0d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.airship.desc}"] + id: "598BD589D3C3057A" + subtitle: "{quests.tfg_tips.airship.subtitle}" + tasks: [{ + id: "1CD23602092BE7B4" + item: "immersive_aircraft:airship" + type: "item" + }] + title: "{quests.tfg_tips.airship.title}" + x: -5.0d + y: -8.0d + } + { + dependencies: ["598BD589D3C3057A"] + description: ["{quests.tfg_tips.cargo_airship.desc}"] + id: "6E5195824D12ED1F" + subtitle: "{quests.tfg_tips.cargo_airship.subtitle}" + tasks: [{ + id: "68F9CFD1ED872C19" + item: "immersive_aircraft:cargo_airship" + type: "item" + }] + title: "{quests.tfg_tips.cargo_airship.title}" + x: -5.0d + y: -10.0d + } + { + dependencies: ["6E5195824D12ED1F"] + description: ["{quests.tfg_tips.waghship.desc}"] + id: "0D89D46C99B96861" + subtitle: "{quests.tfg_tips.waghship.subtitle}" + tasks: [{ + id: "53693DEF78884347" + item: "immersive_aircraft:warship" + type: "item" + }] + title: "{quests.tfg_tips.waghship.title}" + x: -5.0d + y: -12.0d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.economy_plane.desc}"] + id: "037E11CB318CADAC" + subtitle: "{quests.tfg_tips.economy_plane.subtitle}" + tasks: [{ + id: "1AAC1601977A030D" + item: "man_of_many_planes:economy_plane" + type: "item" + }] + title: "{quests.tfg_tips.economy_plane.title}" + x: -3.0d + y: -8.0d + } + { + dependencies: ["037E11CB318CADAC"] + description: ["{quests.tfg_tips.biplane.desc}"] + id: "6E4754288899732B" + subtitle: "{quests.tfg_tips.biplane.subtitle}" + tasks: [{ + id: "46F8A8E1721833E5" + item: "immersive_aircraft:biplane" + type: "item" + }] + title: "{quests.tfg_tips.biplane.title}" + x: -3.0d + y: -10.0d + } + { + dependencies: ["6E4754288899732B"] + description: ["{quests.tfg_tips.scarlet_biplane.desc}"] + id: "7B5AD6AD5E99449C" + subtitle: "{quests.tfg_tips.scarlet_biplane.subtitle}" + tasks: [{ + id: "3E274FFB71007307" + item: "man_of_many_planes:scarlet_biplane" + type: "item" + }] + title: "{quests.tfg_tips.scarlet_biplane.title}" + x: -3.0d + y: -12.0d + } + { + dependencies: ["4AA0EBFBA5D8788C"] + description: ["{quests.tfg_tips.how_to_go_beneath.desc}"] + id: "5E2E37673AD87A4B" + size: 1.0d + subtitle: "{quests.tfg_tips.how_to_go_beneath.subtitle}" + tasks: [{ + icon: "minecraft:bedrock" + id: "1FAD65A53A1C803B" + observe_type: 0 + timer: 0L + title: "{quests.tfg_tips.how_to_go_beneath.task.1}" + to_observe: "minecraft:bedrock" + type: "observation" + }] + title: "{quests.tfg_tips.how_to_go_beneath.title}" + x: 12.0d + y: -7.0d + } + { + dependencies: ["4AA0EBFBA5D8788C"] + description: ["{quests.tfg_tips.beneath_prep.desc}"] + id: "4A8910950F638BB5" + subtitle: "{quests.tfg_tips.beneath_prep.subtitle}" + tasks: [{ + id: "2E029DE0398319F2" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.beneath_prep.title}" + x: 8.0d + y: -4.0d + } + { + dependencies: ["4A8910950F638BB5"] + description: ["{quests.tfg_tips.beneath_temp_management.desc}"] + id: "39C21134FD02F94B" + subtitle: "{quests.tfg_tips.beneath_temp_management.subtitle}" + tasks: [ + { + id: "3F86ED6ABA16279B" + item: "minecraft:water_bucket" + type: "item" + } + { + id: "75FC7712CD89CAD7" + item: "minecraft:ice" + type: "item" + } + ] + title: "{quests.tfg_tips.beneath_temp_management.title}" + x: 9.0d + y: -3.0d + } + { + dependencies: ["70DA01DFDAE54224"] + description: ["{quests.tfg_tips.blue_steel_diving.desc}"] + id: "7470780421C6E417" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.blue_steel_diving.subtitle}" + tasks: [ + { + id: "2A0B476C50A50FF2" + item: { + Count: 1 + id: "create:netherite_diving_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "2B10A6E3843BCF49" + item: { + Count: 1 + id: "minecraft:netherite_leggings" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "4819686135528067" + item: { + Count: 1 + id: "create:netherite_backtank" + tag: { + Air: 900 + } + } + type: "item" + } + { + id: "7F93E61714F1EC96" + item: { + Count: 1 + id: "create:netherite_diving_helmet" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.tfg_tips.blue_steel_diving.title}" + x: 16.0d + y: -7.0d + } + { + dependencies: ["4A8910950F638BB5"] + description: ["{quests.tfg_tips.beneath_clothes.desc}"] + icon: { + Count: 1 + id: "tfcambiental:silk_shirt" + tag: { + Damage: 0 + } + } + id: "098739E441CF565D" + subtitle: "{quests.tfg_tips.beneath_clothes.subtitle}" + tasks: [{ + id: "70EF47E8FD504806" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.beneath_clothes.title}" + x: 9.0d + y: -4.0d + } + { + dependencies: ["4A8910950F638BB5"] + description: ["{quests.tfg_tips.juicer.desc}"] + id: "3D845616A2F7083F" + subtitle: "{quests.tfg_tips.juicer.subtitle}" + tasks: [{ + id: "37D2748F141A8E25" + item: "beneath:juicer" + type: "item" + }] + title: "{quests.tfg_tips.juicer.title}" + x: 9.0d + y: -5.0d + } + { + dependencies: ["70DA01DFDAE54224"] + description: ["{quests.tfg_tips.fuck_go_back.desc}"] + id: "4FD6D93811DADCE4" + subtitle: "{quests.tfg_tips.fuck_go_back.subtitle}" + tasks: [{ + id: "6D482B9189A97E0F" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.fuck_go_back.title}" + x: 13.5d + y: -5.5d + } + { + dependencies: ["5E2E37673AD87A4B"] + description: ["{quests.tfg_tips.reach_the_beneath.desc}"] + id: "70DA01DFDAE54224" + size: 2.0d + subtitle: "{quests.tfg_tips.reach_the_beneath.subtitle}" + tasks: [{ + dimension: "minecraft:the_nether" + icon: "minecraft:netherrack" + id: "253320A57FAE6D0A" + title: "{quests.tfg_tips.reach_the_beneath.task}" + type: "dimension" + }] + title: "{quests.tfg_tips.reach_the_beneath.title}" + x: 13.5d + y: -7.0d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.aircraft_upgrades.desc}"] + id: "785BED393088C8FC" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.aircraft_upgrades.subtitle}" + tasks: [ + { + id: "6DF2BE113934991F" + item: "immersive_aircraft:gyroscope" + type: "item" + } + { + id: "3825ED5E282B43EB" + item: "immersive_aircraft:sturdy_pipes" + type: "item" + } + { + id: "3DDFDDBC012E7A60" + item: "immersive_aircraft:industrial_gears" + type: "item" + } + { + id: "58C9E47E9F8301E6" + item: "immersive_aircraft:eco_engine" + type: "item" + } + ] + title: "{quests.tfg_tips.aircraft_upgrades.title}" + x: -3.0d + y: -6.5d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.aircraft_weapons.desc}"] + id: "34E3478B77A0C2A0" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.aircraft_weapons.subtitle}" + tasks: [ + { + id: "5DB05CFA7AFF2627" + item: "immersive_aircraft:rotary_cannon" + type: "item" + } + { + id: "53D154EA5969DBCA" + item: "immersive_aircraft:telescope" + type: "item" + } + { + id: "1551101D10E08568" + item: "immersive_aircraft:heavy_crossbow" + type: "item" + } + { + id: "3C31C677394E4844" + item: "immersive_aircraft:bomb_bay" + type: "item" + } + ] + title: "{quests.tfg_tips.aircraft_weapons.title}" + x: -3.0d + y: -5.5d + } + { + dependencies: ["62FD3E7A836D2E0A"] + description: ["{quests.tfg_tips.steam_upgrades.desc}"] + id: "414A9A145910A9D4" + subtitle: "{quests.tfg_tips.steam_upgrades.subtitle}" + tasks: [{ + id: "7FF1F5F3F2F10425" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(immersive_aircraft:steel_boiler)item(tfg:black_steel_plated_airplane_propeller)item(immersive_aircraft:improved_landing_gear)item(immersive_aircraft:hull_reinforcement))" + } + } + title: "{quests.tfg_tips.steam_upgrades.task}" + type: "item" + }] + title: "{quests.tfg_tips.steam_upgrades.title}" + x: -6.0d + y: -6.0d + } + { + dependencies: ["414A9A145910A9D4"] + description: ["{quests.tfg_tips.lv_upgrades.desc}"] + id: "2F39D369639C40FD" + subtitle: "{quests.tfg_tips.lv_upgrades.subtitle}" + tasks: [{ + id: "431AB936AD02B843" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:lv_aircraft_engine)item(tfg:redblu_steel_plated_airplane_propeller)item(tfg:redblu_steel_landing_gear)item(tfg:redblu_steel_hull_reinforcement))" + } + } + title: "{quests.tfg_tips.lv_upgrades.task}" + type: "item" + }] + title: "{quests.tfg_tips.lv_upgrades.title}" + x: -6.0d + y: -8.0d + } + { + dependencies: ["2F39D369639C40FD"] + description: ["{quests.tfg_tips.mv_upgrades.desc}"] + id: "614CC5FB31A030B3" + subtitle: "{quests.tfg_tips.mv_upgrades.subtitle}" + tasks: [{ + id: "383347322A8B639C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(immersive_aircraft:nether_engine)item(immersive_aircraft:enhanced_propeller)item(tfg:aluminium_landing_gear)item(tfg:aluminium_hull_reinforcement))" + } + } + title: "{quests.tfg_tips.mv_upgrades.task}" + type: "item" + }] + title: "{quests.tfg_tips.mv_upgrades.title}" + x: -6.0d + y: -10.0d + } + { + dependencies: ["614CC5FB31A030B3"] + description: ["{quests.tfg_tips.hv_upgrades.desc}"] + id: "47409DED94FCC2BC" + subtitle: "{quests.tfg_tips.hv_upgrades.subtitle}" + tasks: [{ + id: "30455F8446278832" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:hv_aircraft_engine)item(tfg:stainless_steel_plated_airplane_propeller)item(tfg:stainless_steel_landing_gear)item(tfg:stainless_steel_hull_reinforcement))" + } + } + title: "{quests.tfg_tips.hv_upgrades.task}" + type: "item" + }] + title: "{quests.tfg_tips.hv_upgrades.title}" + x: -6.0d + y: -12.0d + } + { + dependencies: ["70DA01DFDAE54224"] + description: ["{quests.tfg_tips.piglin_bartering.desc}"] + id: "3D5C898F953FECFC" + subtitle: "{quests.tfg_tips.piglin_bartering.subtitle}" + tasks: [{ + id: "21E2724723ABB4A5" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "minecraft:gold_ingot" + } + type: "item" + }] + title: "{quests.tfg_tips.piglin_bartering.title}" + x: 13.5d + y: -8.5d + } + { + dependencies: ["3B3A0FEEB59F597C"] + description: ["{quests.tfg_tips.grappling_hook.desc}"] + id: "7A200766AAC1EE19" + subtitle: "{quests.tfg_tips.grappling_hook.subtitle}" + tasks: [{ + id: "1DD6337895FBD102" + item: { + Count: 1 + id: "grapplemod:grapplinghook" + tag: { + Damage: 0 + custom: { + angle: 20.0d + attract: 0b + attractradius: 3.0d + crc32: 2252267022L + detachonkeyrelease: 0b + doublehook: 0b + enderstaff: 0b + hookgravity: 1.0d + maxlen: 30.0d + motor: 0b + motoracceleration: 0.2d + motordampener: 0b + motormaxspeed: 4.0d + motorwhencrouching: 0b + motorwhennotcrouching: 1b + oneropepull: 0b + phaserope: 0b + playermovementmult: 1.0d + pullbackwards: 1b + reelin: 1b + repel: 0b + repelforce: 1.0d + rocket: 0b + rocket_active_time: 0.5d + rocket_force: 1.0d + rocket_refuel_ratio: 15.0d + rocket_vertical_angle: 0.0d + smartdoublemotor: 1b + smartmotor: 0b + sneakingangle: 10.0d + sneakingverticalthrowangle: 0.0d + sticky: 0b + throwspeed: 2.0d + verticalthrowangle: 0.0d + } + } + } + type: "item" + }] + title: "{quests.tfg_tips.grappling_hook.title}" + x: -9.5d + y: 3.5d + } + { + dependencies: ["7A200766AAC1EE19"] + description: ["{quests.tfg_tips.grapple_repair.desc}"] + icon: "createdeco:decal_warning" + id: "1F93C858F1D02F7C" + subtitle: "{quests.tfg_tips.grapple_repair.subtitle}" + tasks: [{ + id: "1269BD886B07619D" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.grapple_repair.title}" + x: -15.0d + y: 3.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_upgrade_length.desc}"] + id: "105FD1655EEB1921" + subtitle: "{quests.tfg_tips.grapple_upgrade_length.subtitle}" + tasks: [ + { + id: "6BC5AB4D7A479799" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/knives)" + } + } + title: "Any #forge:tools/knives" + type: "item" + } + { + id: "5557AB6B28C6C32F" + item: "firmaciv:rope_coil" + type: "item" + } + ] + title: "{quests.tfg_tips.grapple_upgrade_length.title}" + x: -17.0d + y: 4.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + id: "212E5863D8D919E1" + subtitle: "{quests.tfg_tips.grapple_motor.subtitle}" + tasks: [{ + id: "7734D5D897479316" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(gtceu:electric_motors)" + } + } + title: "Any #gtceu:electric_motors" + type: "item" + }] + title: "{quests.tfg_tips.grapple_motor.title}" + x: -17.0d + y: 5.5d + } + { + dependencies: ["1F93C858F1D02F7C"] + description: ["{quests.tfg_tips.grapple_upgrade_length.desc}"] + id: "6C64C20FF5DF972A" + subtitle: "{quests.tfg_tips.grapple_upgrades.subtitle}" + tasks: [{ + id: "18046502A04BADA8" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg_tips.grapple_upgrades.title}" + x: -15.0d + y: 4.5d + } + { + dependencies: ["212E5863D8D919E1"] + description: ["{quests.tfg_tips.grapple_smart_motor.desc}"] + id: "396802012C8CA565" + subtitle: "{quests.tfg_tips.grapple_smart_motor.subtitle}" + tasks: [{ + id: "5BFFEDB3DA7BFC12" + item: "gtceu:basic_electronic_circuit" + type: "item" + }] + title: "{quests.tfg_tips.grapple_smart_motor.title}" + x: -18.0d + y: 5.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_sticky.desc}"] + id: "48DF832E8367EC92" + subtitle: "{quests.tfg_tips.grapple_sticky.subtitle}" + tasks: [{ + id: "33D1808773272B67" + item: "gtceu:sticky_resin" + type: "item" + }] + title: "{quests.tfg_tips.grapple_sticky.title}" + x: -15.0d + y: 8.0d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_gravity_50.desc}"] + id: "7CA1496B662BFD3A" + subtitle: "{quests.tfg_tips.grapple_gravity_50.subtitle}" + tasks: [{ + id: "6E09C6EBEDC32D29" + item: "gtceu:helium_bucket" + type: "item" + }] + title: "{quests.tfg_tips.grapple_gravity_50.title}" + x: -13.0d + y: 5.5d + } + { + dependencies: ["7CA1496B662BFD3A"] + description: ["{quests.tfg_tips.grapple_gravity_0.desc}"] + id: "1545D7AF21997CFE" + subtitle: "{quests.tfg_tips.grapple_gravity_0.subtitle}" + tasks: [{ + id: "27248376D7D18900" + item: "gtceu:gravitation_engine_unit" + type: "item" + }] + title: "{quests.tfg_tips.grapple_gravity_0.title}" + x: -12.0d + y: 5.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_tweaks.desc}"] + id: "1AE8FCB4436EC0A5" + subtitle: "{quests.tfg_tips.grapple_tweaks.subtitle}" + tasks: [ + { + id: "611A9AAF15FAF6E3" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/wrenches)" + } + } + title: "{quests.tasktype.item.any} #forge:tools/wrenches" + type: "item" + } + { + id: "3C7E6E92CACFE1E6" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/screwdrivers)" + } + } + title: "{quests.tasktype.item.any} #forge:tools/screwdrivers" + type: "item" + } + ] + title: "{quests.tfg_tips.grapple_tweaks.title}" + x: -13.0d + y: 4.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_field.desc}"] + id: "3FECBEE0651EBA9A" + subtitle: "{quests.tfg_tips.grapple_field.subtitle}" + tasks: [{ + id: "4116FB514C1D654D" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(gtceu:field_generators)" + } + } + title: "{quests.tasktype.item.any} #gtceu:field_generators" + type: "item" + }] + title: "{quests.tfg_tips.grapple_field.title}" + x: -16.5d + y: 6.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_magnet.desc}"] + id: "0B0FC2CE8AB4649C" + subtitle: "{quests.tfg_tips.grapple_magnet.subtitle}" + tasks: [{ + id: "1E7CFFA4C5A8D96E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:magnetic_iron_ingot)item(gtceu:magnetic_steel_ingot)item(gtceu:magnetic_neodymium_ingot)item(gtceu:magnetic_samarium_ingot))" + } + } + title: "{quests.tfg_tips.grapple_magnet.task}" + type: "item" + }] + title: "{quests.tfg_tips.grapple_magnet.title}" + x: -16.0d + y: 7.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_throw_speed.desc}"] + id: "008B6E08B11694FF" + subtitle: "{quests.tfg_tips.grapple_throw_speed.subtitle}" + tasks: [{ + id: "42A65BEC1D0870D5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(gtceu:electric_pistons)" + } + } + title: "Any #gtceu:electric_pistons" + type: "item" + }] + title: "{quests.tfg_tips.grapple_throw_speed.title}" + x: -14.0d + y: 7.5d + } + { + dependencies: ["6C64C20FF5DF972A"] + description: ["{quests.tfg_tips.grapple_double.desc}"] + id: "62EA0912A9752840" + subtitle: "{quests.tfg_tips.grapple_double.subtitle}" + tasks: [{ + id: "1791828087A3B592" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:black_steel_pickaxe_head" + } + type: "item" + }] + title: "{quests.tfg_tips.grapple_double.title}" + x: -13.5d + y: 6.5d + } + ] + subtitle: ["{quests.tfg_tips.subtitle}"] + title: "{quests.tfg_tips}" +} diff --git a/config/ftbquests/quests/chapters/queststfg.snbt b/config/ftbquests/quests/chapters/queststfg.snbt new file mode 100644 index 000000000..63a98ffa3 --- /dev/null +++ b/config/ftbquests/quests/chapters/queststfg.snbt @@ -0,0 +1,119 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "queststfg" + group: "19428C6E7A36D463" + icon: "tfg:terra_firma_greg" + id: "5DD2C08324B24805" + order_index: 0 + quest_links: [ ] + quests: [ + { + description: ["{quests.tfg.welcome.desc}"] + icon: "tfg:terra_firma_greg" + id: "427814F6E9386772" + rewards: [ + { + auto: "no_toast" + id: "49E401323B66BD59" + item: { + Count: 1 + id: "patchouli:guide_book" + tag: { + "patchouli:book": "tfc:field_guide" + } + } + type: "item" + } + { + auto: "no_toast" + id: "3681660250209F02" + item: "ftbquests:book" + type: "item" + } + ] + shape: "gear" + size: 4.0d + subtitle: "{quests.tfg.welcome.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "1D8C7D630DFA8A0D" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg.welcome.title}" + x: 0.0d + y: 0.0d + } + { + dependencies: ["427814F6E9386772"] + description: ["{quests.tfg.create_team.desc}"] + icon: "minecraft:cake" + id: "6D43C29AC049341D" + subtitle: "{quests.tfg.create_team.subtitle}" + tasks: [{ + id: "124CFC2DE7647588" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg.create_team.title}" + x: -3.5d + y: 0.0d + } + { + dependencies: ["427814F6E9386772"] + description: ["{quests.tfg.capture_territory.desc}"] + icon: "createaddition:chocolate_cake" + id: "0B42D4AE2AC67F93" + subtitle: "{quests.tfg.capture_territory.subtitle}" + tasks: [{ + id: "5EB438DED5A994C4" + title: "{quests.tasktypes.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg.capture_territory.title}" + x: -2.5d + y: 2.5d + } + { + dependencies: ["427814F6E9386772"] + description: ["{quests.tfg.field_guide.desc}"] + icon: { + Count: 1 + id: "patchouli:guide_book" + tag: { + "patchouli:book": "tfc:field_guide" + } + } + id: "3D7B0F3134C30364" + subtitle: "{quests.tfg.field_guide.subtitle}" + tasks: [{ + dimension: "minecraft:overworld" + icon: "gtceu:overworld_marker" + id: "4433F67AD2E0F1D4" + title: "{quests.stone_age.temperature.task}" + type: "dimension" + }] + title: "{quests.tfg.field_guide.title}" + x: 0.0d + y: 3.5d + } + { + dependencies: ["427814F6E9386772"] + description: ["{quests.tfg.quest_shapes.desc}"] + id: "4232E14D66AF2675" + subtitle: "{quests.tfg.quest_shapes.subtitle}" + tasks: [{ + id: "464F635C92FA02DC" + title: "{quests.tfg.icons.title}" + type: "checkmark" + }] + title: "{quests.tfg.quest_shapes.title}" + x: 2.5d + y: 2.5d + } + ] + subtitle: ["{quests.tfg.subtitle}"] + title: "{quests.tfg}" +} diff --git a/config/ftbquests/quests/chapters/steam_age.snbt b/config/ftbquests/quests/chapters/steam_age.snbt deleted file mode 100644 index 7a6f50fc8..000000000 --- a/config/ftbquests/quests/chapters/steam_age.snbt +++ /dev/null @@ -1,845 +0,0 @@ -{ - default_hide_dependency_lines: false - default_quest_shape: "" - filename: "steam_age" - group: "" - icon: "gtceu:bronze_brick_casing" - id: "3B89FB8839204148" - order_index: 1 - quest_links: [ - { - id: "1C86D83D29134EBE" - linked_quest: "253860AD4DF4224C" - x: 5.5d - y: -6.0d - } - { - id: "09E0E263CC81CD99" - linked_quest: "2658E7679CD42ACD" - x: 9.0d - y: 4.5d - } - { - id: "26D1A18BE2F694C4" - linked_quest: "6E13B0241CB1D536" - x: 7.5d - y: 3.0d - } - { - id: "580358D6164B9CEA" - linked_quest: "04D4E196824D53C4" - x: 2.5d - y: -1.5d - } - { - id: "4DFB0BF29099F2A1" - linked_quest: "5BBF0B6AED98072E" - x: 2.5d - y: 0.0d - } - { - id: "190A7A8C49F390C2" - linked_quest: "478D0DF94D7495EF" - x: 1.0d - y: -4.5d - } - { - id: "3426BCAE1210DAE4" - linked_quest: "3FB3EE093DDC6B56" - shape: "gear" - size: 3.0d - x: -7.5d - y: 0.0d - } - { - id: "3E93FFAACC24EEA5" - linked_quest: "7B74DB051202E97E" - x: 11.5d - y: -1.0d - } - { - id: "5554A5384B8FBED2" - linked_quest: "3E82C14AF32AA103" - x: -4.5d - y: -3.0d - } - ] - quests: [ - { - dependencies: ["253860AD4DF4224C"] - description: [ - "Mine some &dSulfur&r from the Nether." - "" - "If Lava is \"too hot to handle\", we've included a &6direct crafting recipe&r for &aPotions of Fire Resistance&r." - "" - "&l&3Lore:&r&o With the existence of &6Small Sulfur Ores&f scattered in GregTech 5 ore veins, you could mine enough Sulfur in the Overworld to skip having to visit the Nether. Sounds broken, but it was still as much of a grind as Nether travel!" - ] - id: "236C886D50A99785" - shape: "square" - size: 1.0d - subtitle: "A little bit of exploring never hurt anyone" - tasks: [{ - count: 16L - id: "36D03210534D3226" - item: "gtceu:sulfur_dust" - type: "item" - }] - title: "S is for Sulfur" - x: 5.5d - y: -4.5d - } - { - dependencies: ["77EA56D16A9B3BFC"] - description: [ - "Good news - we're going to start to cut down on the amount of components you'll need to submit for quests as you progress further into the modpack. Remember that &2JEI is your friend&r if recipes are getting overwhelming." - "" - "Getting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r." - "" - "&6Once you complete this Quest and the Electronic Circuit Quest, you are ready to move on to the LV Age.&r" - ] - icon: "gtceu:lv_electric_motor" - id: "5A8F0124E07D5025" - shape: "gear" - size: 2.0d - subtitle: "Low Voltage beckons..." - tasks: [{ - icon: "gtceu:lv_electric_motor" - id: "6F01622979E6F332" - item: "gtceu:lv_electric_motor" - type: "item" - }] - title: "The First of Many Motors" - x: 7.5d - y: -3.0d - } - { - dependencies: ["3FB3EE093DDC6B56"] - description: [ - "&6GregTech&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them. " - "" - "Introducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside." - "{@pagebreak}" - "&l&4[ NOT YET IMPLEMENTED ]" - "" - "Additionally, &binternal tanks&r from machines will interact with items containing fluid. This is great for manual crafting - this means you can use fluid drums instead of multiple buckets in crafting. To &5void fluid&r contained in a Drum, place it alone in any crafting grid." - "" - "&o&7Pssst:&r &oA right-click with a Screwdriver allows a Drum to drain its content into another container placed under it. This is great if you want to keep your Liquid Boilers fueled for longer." - "{@pagebreak}" - "&l&3Lore:&r&o These drums are actually ported from GregTech 6." - ] - id: "2B74E56C9E138F18" - shape: "rsquare" - size: 1.0d - subtitle: "Just kidding, tanks for fluids" - tasks: [{ - id: "5876092FAA1763E0" - item: "gtceu:bronze_drum" - type: "item" - }] - title: "Armoured Tanks" - x: -9.0d - y: -3.0d - } - { - dependencies: ["3F087862270F649A"] - description: [ - "Make the listed molds for future alloy smelting. Be sure to make &aMolds&r - don't make &cExtruder Shapes&r, as they're used in a different machine." - "" - "The reward for this quest will alleviate &da lot of pain&r when it comes to crafting &bGears&r." - ] - hide_dependency_lines: true - icon: "gtceu:ball_casting_mold" - id: "22997534983F6812" - shape: "square" - size: 1.0d - subtitle: "Reduce the amount of malding by molding" - tasks: [ - { - id: "33DCDFE73740AF97" - item: "gtceu:plate_casting_mold" - type: "item" - } - { - id: "7E7A1A7FBBCA2C27" - item: "gtceu:ball_casting_mold" - type: "item" - } - { - id: "2AE408B2303C21EA" - item: "gtceu:block_casting_mold" - type: "item" - } - ] - title: "Molding" - x: 2.5d - y: -3.0d - } - { - dependencies: ["5BBF0B6AED98072E"] - description: [ - "Not many items are made in the &3Extractor&r during the &6Steam Age&r, but it's used to make &9Rubber&r, which you'll need after Steel." - "" - "You can also process Dirt in the Extractor for &aBones&r, which makes getting &aBone Meal&r a lot easier for Peaceful players." - ] - id: "1436DB89E21264F3" - shape: "square" - size: 1.0d - subtitle: "The Steam Extractor extracts..." - tasks: [{ - id: "12A46916B1BC17EC" - item: "gtceu:hp_steam_extractor" - type: "item" - }] - title: "Steam Extractor" - x: 4.0d - y: 0.0d - } - { - dependencies: [ - "236C886D50A99785" - "1436DB89E21264F3" - "22997534983F6812" - "6E13B0241CB1D536" - ] - description: [ - "Rubber is an excellent insulation material, and that's exactly what it's used for in GTCEu." - "" - "You'll want to use the &3Alloy Smelter&r to make &aRubber Bars&r. These ratios aren't particularly great, but we promise that making Rubber Bars will be much more efficient at &7LV&r." - "{@pagebreak}" - "&l&3Lore:&r&o In base GregTech 5 (and in base GTCE), you needed to get string and black wool carpets as your first insulation material. &mThat was obviously far, far more fun.&r" - ] - icon: "gtceu:rubber_ingot" - id: "77EA56D16A9B3BFC" - shape: "square" - size: 1.0d - subtitle: "Put that resin to use!" - tasks: [ - { - id: "04946F2F0923EFFE" - item: "gtceu:rubber_ingot" - type: "item" - } - { - id: "5B1CDCDC598717C5" - item: "gtceu:rubber_plate" - type: "item" - } - ] - title: "Rubbering up" - x: 5.5d - y: -3.0d - } - { - dependencies: [ - "2658E7679CD42ACD" - "6E13B0241CB1D536" - ] - description: [ - "Resistors are components that will be used to make your first Circuit." - "" - "It wouldn't be unwise to prioritise the recipes that use &aFine Wires&r, as they'll save you more materials in the long run." - "" - "Wires may be expensive right now, but they'll get a lot cheaper in &7LV&r." - ] - id: "391E853DCE86BFD0" - shape: "square" - size: 1.0d - subtitle: "The easier component for circuits" - tasks: [{ - id: "35CFB9E695DE3549" - item: "gtceu:resistor" - type: "item" - }] - title: "Electronics #1: Resistors" - x: 9.0d - y: 3.0d - } - { - dependencies: ["3FB3EE093DDC6B56"] - description: [ - "&bFluid Pipes&r will transport &7Steam&r between machines for you." - "" - "Each Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now." - "" - "Each material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)" - "" - "Get either a Small or Normal &6Bronze Fluid Pipe&r to complete this quest. Both are used in crafting." - "{@pagebreak}" - "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging." - "" - "&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe." - "" - "You can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction)." - ] - icon: "gtceu:bronze_normal_fluid_pipe" - id: "1FFD2242B94A7378" - shape: "rsquare" - size: 1.0d - subtitle: "Liquids, gases... we don't discriminate" - tasks: [{ - id: "5D2E76DBCDE1C86A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bronze_tiny_fluid_pipe)item(gtceu:bronze_quadruple_fluid_pipe)item(gtceu:bronze_nonuple_fluid_pipe)item(gtceu:bronze_huge_fluid_pipe)item(gtceu:bronze_large_fluid_pipe)item(gtceu:bronze_normal_fluid_pipe)item(gtceu:bronze_small_fluid_pipe))" - } - } - title: "Any Bronze Pipe" - type: "item" - }] - title: "Fluid Pipes" - x: -7.5d - y: -3.0d - } - { - dependencies: ["3F087862270F649A"] - description: [ - "&dSteam Machines&r accept any Steam that is pumped from nearby Boilers into their internal storage tank. They will run recipes from JEI up to 32 EU/t (&7LV&r-tier)." - "" - "&6This quest unlocks a new tutorial on Steam in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] - id: "03DBF1961AE21C76" - shape: "square" - size: 1.0d - tasks: [{ - id: "03BA041BE9C347FD" - item: "gtceu:steel_brick_casing" - type: "item" - }] - title: "Steam Machine Behaviour" - x: -0.5d - y: 0.0d - } - { - dependencies: ["03DBF1961AE21C76"] - description: [ - "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future." - "" - "Out of all the &6Steam Age&r machines, this is the most steam-hungry. If you ever find yourself running out of steam, give your machine a &alove-tap&r with &dany Soft Mallet&r to momentarily pause it." - ] - id: "48AED37B4E20A99A" - shape: "square" - size: 1.0d - subtitle: "The Alloy Smelter makes alloys..." - tasks: [{ - id: "2F3B195A110E41C2" - item: "gtceu:hp_steam_alloy_smelter" - type: "item" - }] - title: "Steam Alloy Smelter" - x: 2.5d - y: 1.5d - } - { - dependencies: ["04D4E196824D53C4"] - description: [ - "Crafting Vacuum Tubes might make you question your existence. Sorry about that." - "" - "This is mostly due to the fact that Wires and Rods are (sadly) very expensive right now, but they'll get cheaper in &7LV&r." - "" - "Vacuum Tubes are also technically your first Ultra Low Voltage (&8ULV&r) Circuit! Congratulations! You won't find very much use for these by themselves, though." - ] - id: "3CF550B81716B8B9" - shape: "square" - size: 1.0d - subtitle: "The harder component for circuits" - tasks: [{ - id: "099C373568DF4500" - item: "gtceu:vacuum_tube" - type: "item" - }] - title: "Electronics #3: Vacuum Tubes" - x: 4.0d - y: -1.5d - } - { - dependencies: ["48AED37B4E20A99A"] - description: [ - "&4Red Alloy&r is an alloy of Copper and Redstone, prized in the GregTech universe for its conductivity." - "" - "You will need some for &9Electronic Circuits&r." - "" - "&l&3Lore:&r&o This material originally comes from RedPower - what a throwback!" - ] - id: "54AF8696674766B4" - shape: "square" - size: 1.0d - subtitle: "A completely fictional alloy" - tasks: [{ - id: "4D3C4CF6577957A1" - item: "gtceu:red_alloy_ingot" - type: "item" - }] - title: "Red Alloy" - x: 4.0d - y: 1.5d - } - { - dependencies: [ - "3CF550B81716B8B9" - "391E853DCE86BFD0" - "4ED5A9AEF7B928BA" - "54AF8696674766B4" - "77EA56D16A9B3BFC" - "7B74DB051202E97E" - ] - description: [ - "We made it to &7LV&r! Give yourself a pat on the back!" - "" - "Just kidding (lol), you actually need three Circuits to get started anywhere relevant in &7LV&r. Thankfully for you, someone left this spare circuit laying around." - "" - "We also want you to make an &aLV Machine Hull&r for this quest. You'll need one if you're to make any &7LV&r machine. We're feeling generous enough that this quest will grant you a second Hull, free of charge!" - "" - "Circuits are an integral part of progression in GregTech, so keep climbing." - "" - "&6Once you complete this Quest and the LV Motor Quest, you are ready to move on to the LV Age.&r" - ] - icon: "gtceu:basic_electronic_circuit" - id: "4B979482EF026BFF" - shape: "gear" - size: 2.0d - subtitle: "Your first &aElectronic Circuit&r!" - tasks: [ - { - count: 2L - id: "2D394A5292C3BA46" - item: "gtceu:basic_electronic_circuit" - type: "item" - } - { - id: "4296EFD816E40A37" - item: "gtceu:lv_machine_hull" - type: "item" - } - ] - title: "Electronics #4: The Circuit" - x: 9.0d - y: -1.0d - } - { - dependencies: ["1FFD2242B94A7378"] - description: [ - "&dPotin Fluid Pipes&r have a &avery high throughput&r for the material tier and cost. You may want to look into making some of these to aid with fluid logistics." - "" - "To get &dPotin&r, you should start by crafting its &eDust&r form." - "" - "This quest calls for either the small or normal pipe. Get either size to complete it." - "{@pagebreak}" - "&l&3Lore:&r&o &dPotin Fluid Pipes&r were originally created in &9GT++&r, and were a huge power spike for players in a little pack called &4GT:NH&r. We wanted to spread some of that joy." - "" - "In the real world, &dPotin&r is an alloy used in coins, not pipes. GTCEu just gets more unrealistic by the day..." - ] - icon: "gtceu:potin_normal_fluid_pipe" - id: "3C70B0717E9377A4" - shape: "rsquare" - size: 1.0d - subtitle: "...I'm going into battle, and I need only your finest Potin." - tasks: [{ - id: "1D53AAFD7F6F8B2B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:potin_tiny_fluid_pipe)item(gtceu:potin_small_fluid_pipe)item(gtceu:potin_normal_fluid_pipe)item(gtceu:potin_large_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_quadruple_fluid_pipe)item(gtceu:potin_nonuple_fluid_pipe))" - } - } - title: "Any Potin Pipe" - type: "item" - }] - title: "Potin Seller..." - x: -7.5d - y: -4.5d - } - { - dependencies: ["03DBF1961AE21C76"] - description: [ - "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!" - "" - "It can process &bCobblestone into Gravel&r, and &dGravel into Sand&r - and it's zippy at that to boot." - "" - "Last but not least, it makes &aPlates&r at a better ratio: &6three Ingots for two Plates&r. A worthwhile investment!" - "" - "You know what? &aBonus&r! We'll give you the &8Anvil&r back if you craft the Forge Hammer. This is a gentle reminder that you can repair GregTech tools in an Anvil." - ] - id: "1931FC6DEAC29646" - shape: "square" - size: 1.0d - subtitle: "The Forge Hammer hammers..." - tasks: [{ - id: "4F4074D7CE5A61A0" - item: "gtceu:hp_steam_forge_hammer" - type: "item" - }] - title: "Steam Forge Hammer" - x: 1.0d - y: -1.5d - } - { - dependencies: ["03DBF1961AE21C76"] - description: [ - "The &bMacerator&r frees you from the painful process of &egrinding stuff into dust&r with a &3Mortar&r, but at the steep cost of time. Processing a single piece of Iron Ore in this machine will take &ctwenty seconds&r - twice the time it takes to smelt an ingot in a furnace!" - "" - "The Macerator also marks the advent of &eOre Processing&r, but that's a scary topic that we'll dip our toes into in the next quest." - "{@pagebreak}" - "The macerator will output only the first item shown in recipes from JEI. The other slots are locked until you make a &6HV&r Macerator. How unfortunate..." - "" - "Our (&oimportant!&r) advice: it's actually better to keep directly smelting for now! The efficiency loss is made up with faster mining. Use the Macerator to make things like &aClay Dust&r instead!" - ] - id: "1C50A758A1DE25CB" - shape: "square" - size: 1.0d - subtitle: "The Macerator macerates..." - tasks: [{ - id: "6DFD6AC8CF31305C" - item: "gtceu:hp_steam_macerator" - type: "item" - }] - title: "Steam Macerator" - x: -0.5d - y: 3.0d - } - { - dependencies: [ - "1C50A758A1DE25CB" - "6E13B0241CB1D536" - ] - description: [ - "Macerate Wood into Wood Pulp, then compress it into Wood Plates. Combine it with Resin to make an empty board." - "" - "Stick in some expensive Copper Wires (these'll get cheaper in &7LV&r) and you've got the base for your first &aCircuit&r." - "" - "Almost there!" - ] - icon: "gtceu:resin_printed_circuit_board" - id: "4ED5A9AEF7B928BA" - shape: "square" - size: 1.0d - subtitle: "The circuit-er part of circuits..." - tasks: [ - { - id: "3704C06203B7485A" - item: "gtceu:wood_plate" - optional_task: true - type: "item" - } - { - id: "131521889242DDB8" - item: "gtceu:resin_printed_circuit_board" - type: "item" - } - ] - title: "Electronics #2: Circuit Boards" - x: 5.5d - y: 3.0d - } - { - dependencies: ["1C50A758A1DE25CB"] - description: [ - "In its simplest form, Ore Processing in GregTech boils down to &aconverting one Ore into two Ingots through two Dusts&r, like several other tech mods. " - "" - "The added spice is the amount of steps, either optional or required." - "" - "Ore Processing will be explained further once you get into &7LV&r." - "" - "&6This quest unlocks a new tutorial on rudimentary Ore Processing in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] - icon: "gtceu:crushed_gold_ore" - id: "7813F183681E0342" - shape: "circle" - size: 1.0d - subtitle: "...and how do I get rid of it?" - tasks: [{ - id: "1C4CFA0AD3125A6D" - title: "Oh god, what have I gotten myself into!?" - type: "checkmark" - }] - title: "What is this Mess?!" - x: -0.5d - y: 4.5d - } - { - dependencies: ["1C50A758A1DE25CB"] - description: [ - "&o...or perhaps it was the opposite?&r" - "" - "The &3Steam Grinder&r can pulverize &6large batches of items quickly&r and effortlessly&r, sort of like a parallel Macerator." - "{@pagebreak}" - "&l&3Lore:&r&o This Multiblock originally comes from GT++. It required Tumbaga to craft, an alloy with a mix of Gold and Bronze." - ] - icon: "gtceu:steam_grinder" - id: "7FF95F1216D104B2" - shape: "square" - size: 1.0d - subtitle: "The Steam Oven's elder brother" - tasks: [ - { - id: "478F7F5E6B4FC488" - item: "gtceu:steam_grinder" - type: "item" - } - { - id: "03C98558808BFE64" - item: "gtceu:steam_input_hatch" - type: "item" - } - { - id: "2DC0277BA681DFAE" - item: "gtceu:steam_input_bus" - type: "item" - } - { - id: "68A6EFAD92986DFA" - item: "gtceu:steam_output_bus" - type: "item" - } - { - count: 22L - id: "4E7178278B4E3189" - item: "gtceu:steam_machine_casing" - type: "item" - } - ] - title: "Steam Grinder" - x: 1.0d - y: 4.5d - } - { - dependencies: ["011EC2CE0111C9A0"] - description: [ - "&o...or little brother. Don't let him know!&r" - "" - "The &3Steam Oven&r is a great multiblock option if you need &6effortlessly smelt large quantities of items.&r No more lines of furnaces that you have to manually empty and refuel!" - "" - "It effectively behaves as a parallel furnace, smelting up to 8 items at a time for a low cost of Steam." - "{@pagebreak}" - "" - "&l&3Lore:&r&o This Multiblock - despite being very similar to its brother, the Steam Grinder - isn't ported from a GregTech version or addon. Its actual progenitor is the Steam Oven from Railcraft, which dates back to 1.4.7!" - ] - icon: "gtceu:steam_oven" - id: "6C25D11A26306168" - shape: "square" - size: 1.0d - subtitle: "The Steam Grinder's big brother" - tasks: [ - { - id: "0EA421E6E53FA6A8" - item: "gtceu:steam_oven" - type: "item" - } - { - id: "0516BE263B5E27D4" - item: "gtceu:steam_input_hatch" - type: "item" - } - { - id: "772885C6A810E804" - item: "gtceu:steam_input_bus" - type: "item" - } - { - id: "3C3A4803A6F267F3" - item: "gtceu:steam_output_bus" - type: "item" - } - { - count: 8L - id: "427EA1F4AE420C1F" - item: "gtceu:steam_machine_casing" - type: "item" - } - { - count: 8L - id: "50AD2CBE77234D06" - item: "gtceu:bronze_firebox_casing" - type: "item" - } - ] - title: "Steam Oven" - x: -6.0d - y: 4.5d - } - { - dependencies: ["03DBF1961AE21C76"] - description: ["The Steam Compressor unlocks some tantalising new recipes that will help you to progress towards Steel."] - id: "07415D6305C3B1D2" - shape: "rsquare" - size: 1.0d - subtitle: "The Steam Compressor compresses..." - tasks: [{ - id: "21C99D59F1BE48A3" - item: "gtceu:hp_steam_compressor" - type: "item" - }] - title: "Steam Compressor" - x: -0.5d - y: -1.5d - } - { - dependencies: ["48AED37B4E20A99A"] - description: [ - "&3Item Pipes&r are a simple yet effective way to move items around &dinstantly&r, but with throughput limitations." - "" - "Higher tier pipes provide ridiculously large throughput - a rare sight in modded Minecraft!" - "" - "Item Pipes &9do not pull&r, but they will push any item inserted into them to other connected inventories, prioritizing &9the closest inventory&r first." - "{@pagebreak}" - "The priority mechanics are &osomewhat complicated&r, so skip ahead if you aren't interested:" - "" - "A &eDestination&r will have a &dRouting Value&r calculated, which is the sum of all \"Routing Values\" of the individual Pipes to that Destination. Whichever Destination has the &clowest &dRouting Value&r will be the one selected for Insertion." - "" - "&3Restrictive Pipes&r typically have the lowest Priority for insertion due to their higher Routing Value." - "{@pagebreak}" - "Right now, you can use them in combination with &6Hoppers&r, but you will also be able to use them with Conveyor Modules, Output Buses, and machine Auto-Outputs all in the LV age." - "" - "&9Note:&r GT6-style Pipes are &denabled&r. It means that placing Pipes connect them only to the block they were placed against. To open more connections, use your &5Wrench&r on the grid." - "" - "Get &eany&r of the suggested Item Pipes to complete this quest." - "{@pagebreak}" - "&l&3Lore:&r&o Oooooh, YEAH! Item Pipes were in GregTech 5, and for whatever reason they weren't kept for GTCE, so you had to use other mods to transport items. Who does that!? Jokes aside, we hope you enjoy Item Pipes being back in GregTech!" - ] - icon: "gtceu:tin_small_item_pipe" - id: "539CF1B85725786D" - shape: "rsquare" - size: 1.0d - tasks: [{ - id: "158F4EEDC214A3BA" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any item pipe\"}" - } - "ftbfiltersystem:filter": "or(item_tag(forge:small_item_pipes)item_tag(forge:normal_item_pipes)item_tag(forge:large_item_pipes)item_tag(forge:huge_item_pipes))" - } - } - title: "Any Item Pipes" - type: "item" - }] - title: "Item Pipes" - x: 2.5d - y: 4.5d - } - { - dependencies: ["3F087862270F649A"] - id: "011EC2CE0111C9A0" - tasks: [{ - id: "7A1C685F48E09F6B" - item: "gtceu:hp_steam_furnace" - type: "item" - }] - x: -6.0d - y: 3.0d - } - { - dependencies: ["3F087862270F649A"] - id: "41F23E44E154C3E9" - tasks: [{ - id: "22542CDE2F0C0524" - item: "gtceu:hp_steam_rock_crusher" - type: "item" - }] - x: -3.0d - y: 3.0d - } - { - dependencies: [ - "478D0DF94D7495EF" - "1931FC6DEAC29646" - ] - description: [""] - id: "39E8CE6A86731567" - tasks: [{ - id: "725E42CDF19B0495" - item: "gtceu:glass_dust" - type: "item" - }] - x: 1.0d - y: -3.0d - } - { - dependencies: ["3FB3EE093DDC6B56"] - id: "7470E713F599B891" - tasks: [{ - id: "0DF1243A3267F636" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lp_steam_solid_boiler)item(gtceu:lp_steam_liquid_boiler)item(gtceu:lp_steam_solar_boiler))" - } - } - title: "Any Low Pressure Boiler" - type: "item" - }] - x: -6.0d - y: -3.0d - } - { - dependencies: [ - "3FB3EE093DDC6B56" - "445E060EF3300A49" - ] - id: "3F087862270F649A" - size: 2.0d - tasks: [{ - id: "0BBF678F5A0517D7" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:hp_steam_solid_boiler)item(gtceu:hp_steam_liquid_boiler)item(gtceu:hp_steam_solar_boiler))" - } - } - title: "Any High Pressure Boiler" - type: "item" - }] - x: -4.5d - y: 0.0d - } - { - dependencies: ["3E82C14AF32AA103"] - id: "0A522CC855BF3FEC" - tasks: [{ - count: 8L - id: "62337B85F3A68DE3" - item: "gtceu:treated_wood_planks" - type: "item" - }] - x: -4.5d - y: -5.5d - } - { - dependencies: ["0A522CC855BF3FEC"] - id: "252FD7ED5BF225DD" - tasks: [{ - id: "5E4B2C29C7893EF8" - item: "gtceu:treated_wood_plate" - type: "item" - }] - x: -4.5d - y: -7.0d - } - { - dependencies: [ - "07415D6305C3B1D2" - "252FD7ED5BF225DD" - ] - icon: "create:large_cogwheel" - id: "5CB27C93795281AB" - shape: "gear" - size: 2.0d - tasks: [{ - id: "0D3B31329089CFE4" - item: "create:cogwheel" - type: "item" - }] - title: "The beginning of Create" - x: -0.5d - y: -7.0d - } - ] - subtitle: ["Harness the power of Steam and learn the basics"] - title: "ULV - Steam Age" -} diff --git a/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt b/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt index f1e16f3d3..8454e7c53 100644 --- a/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt +++ b/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "uv__ultimate_voltage" - group: "" + group: "563374AD29C006DB" icon: "gtceu:uv_electric_motor" id: "2E730D6F5A7C2E83" - order_index: 12 + order_index: 1 quest_links: [ { id: "5232A33368566616" diff --git a/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt b/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt index 7296fcd64..f9b6d08c8 100644 --- a/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt +++ b/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "zpm__zero_point_module" - group: "" + group: "563374AD29C006DB" icon: "gtceu:zpm_electric_motor" id: "0945247E83444D90" - order_index: 11 + order_index: 0 quest_links: [ { id: "6BE70146903B5CBD" diff --git a/config/ftbquests/quests/data.snbt b/config/ftbquests/quests/data.snbt index c5f077dff..33d92ad39 100644 --- a/config/ftbquests/quests/data.snbt +++ b/config/ftbquests/quests/data.snbt @@ -23,7 +23,7 @@ passive: 4000 } pause_game: true - progression_mode: "linear" + progression_mode: "flexible" title: "TerraFirmaGreg" version: 13 } diff --git a/config/ftbquests/quests/reward_tables/bronze_age.snbt b/config/ftbquests/quests/reward_tables/bronze_age.snbt deleted file mode 100644 index 3e423d2ec..000000000 --- a/config/ftbquests/quests/reward_tables/bronze_age.snbt +++ /dev/null @@ -1,10 +0,0 @@ -{ - id: "179F585BD4A7D26E" - loot_size: 1 - order_index: 0 - rewards: [ - { count: 32, item: "minecraft:copper_ingot" } - { count: 32, item: "gtceu:tin_ingot" } - ] - title: "bronze_age" -} diff --git a/config/ftbquests/quests/reward_tables/coke_oven.snbt b/config/ftbquests/quests/reward_tables/coke_oven.snbt deleted file mode 100644 index 588d08045..000000000 --- a/config/ftbquests/quests/reward_tables/coke_oven.snbt +++ /dev/null @@ -1,11 +0,0 @@ -{ - icon: "gtceu:coke_oven" - id: "22532792A58A9245" - loot_size: 1 - order_index: 1 - rewards: [ - { count: 40, item: "minecraft:coal" } - { count: 40, item: "minecraft:oak_log" } - ] - title: "coke_oven" -} diff --git a/config/ftbquests/quests/reward_tables/lv_lootbox.snbt b/config/ftbquests/quests/reward_tables/lv_lootbox.snbt deleted file mode 100644 index c14771429..000000000 --- a/config/ftbquests/quests/reward_tables/lv_lootbox.snbt +++ /dev/null @@ -1,19 +0,0 @@ -{ - icon: "gtceu:lv_machine_casing" - id: "7F1424A135F898C9" - loot_size: 1 - order_index: 2 - rewards: [ - { count: 4, item: "gtceu:steel_ingot", weight: 2.0f } - { item: "gtceu:lv_electric_pump" } - { item: "gtceu:lv_electric_motor", random_bonus: 3, weight: 1.2f } - { item: "gtceu:lv_robot_arm", weight: 0.3f } - { item: "gtceu:lv_electric_piston" } - { item: "gtceu:lv_conveyor_module", random_bonus: 3 } - { item: "gtceu:basic_electronic_circuit", random_bonus: 3, weight: 0.8f } - { item: "gtceu:invar_ingot", random_bonus: 7, weight: 1.33f } - { count: 8, item: "gtceu:wrought_iron_ingot", random_bonus: 8, weight: 1.5f } - { count: 2, item: "gtceu:lv_machine_hull", random_bonus: 2, weight: 0.66f } - ] - title: "lv_lootbox_common" -} diff --git a/config/gcyr.yaml b/config/gcyr.yaml deleted file mode 100644 index 0d7c2db45..000000000 --- a/config/gcyr.yaml +++ /dev/null @@ -1,69 +0,0 @@ -satellites: - # Damage of the laser satellite to entities per tick. - # Default: 2.0 - laserSatelliteDamagePerTickStep: 2.0 - - # Time between laser satellite mining attempts. - # Default: 2 - laserSatelliteMiningTickStep: 2 - -server: - # Wether the oxygen mechanics are enabled. - # Default: true - enableOxygen: true - - # Damage to entities per tick without oxygen. - # Default: 1.0 - oxygenDamage: 1.0 - - # Damage to overheated entities per tick - # Default: 2.0 - heatDamage: 2.0 - - # Damage to freezing entities per tick. - # Default: 2.0 - freezeDamage: 2.0 - - # Maximum distance the oxygen spreader can spread oxygen in. - # Default: 128 - maxOxygenatedBlockChecks: 128 - - # The temperature in space. - # Default: -270.0 - spaceTemperature: -270.0 - -machine: - # Damage caused by standing in an active dyson system controller's beam. (per tick) - # Default: 5.0 - dysonControllerBeamDamage: 5.0 - -rocket: - # How much fuel is required to travel to a moon or back? - # note: this is platform-specific. - # Default: 8 buckets. - moonFuelAmount: 8000 - - # How much fuel is required to travel to a planet in the same solar system? - # note: this is platform-specific. - # Default: 14 buckets. - solarSystemFuelAmount: 14000 - - # How much fuel is required to travel to a planet in the same galaxy? - # note: this is platform-specific. - # Default: 26 buckets. - galaxyFuelAmount: 26000 - - # How much fuel is required to travel to a planet anywhere? - # note: this is platform-specific. - # Default: 48 buckets. - anywhereFuelAmount: 48000 - -client: - # Offset of the oxygen bar from the left side of the screen. - # Default: 32 - oxygenBarX: 32 - - # Offset of the oxygen bar from the bottom of the screen. - # Default: 32 - oxygenBarY: 32 - diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 613f02ac1..090c3c3bf 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -10,20 +10,20 @@ recipes: # Change the recipe of Rods in the Lathe to 1 Rod and 2 Small Piles of Dust, instead of 2 Rods. # Default: false - harderRods: true + harderRods: false # Whether to make crafting recipes for Bricks, Firebricks, Nether Bricks, and Coke Bricks harder. # Default: false - harderBrickRecipes: false + harderBrickRecipes: true # Whether to nerf Wood crafting to 2 Planks from 1 Log, and 2 Sticks from 2 Planks. # Default: false - nerfWoodCrafting: false + nerfWoodCrafting: true # Whether to make Wood related recipes harder. # Excludes sticks and planks. # Default: false - hardWoodRecipes: false + hardWoodRecipes: true # Recipes for Buckets, Cauldrons, Hoppers, and Iron Bars require Iron Plates, Rods, and more. # Default: true @@ -31,16 +31,16 @@ recipes: # Whether to make Redstone related recipes harder. # Default: false - hardRedstoneRecipes: false + hardRedstoneRecipes: true # Whether to make Vanilla Tools and Armor recipes harder. # Excludes Flint and Steel, and Buckets. # Default: false - hardToolArmorRecipes: false + hardToolArmorRecipes: true # Whether to make miscellaneous recipes harder. # Default: false - hardMiscRecipes: false + hardMiscRecipes: true # Whether to make Glass related recipes harder. Default: true hardGlassRecipes: true @@ -51,7 +51,7 @@ recipes: # Recipes for items like Iron Doors, Trapdoors, Anvil require Iron Plates, Rods, and more. # Default: false - hardAdvancedIronRecipes: false + hardAdvancedIronRecipes: true # Whether to make coloring blocks like Concrete or Glass harder. # Default: false @@ -81,8 +81,16 @@ recipes: # Default: false harderCircuitRecipes: false + # Whether to nerf machine controller recipes. + # Default: false + hardMultiRecipes: false + + # Whether tools should have enchants or not. Like the flint sword getting fire aspect. + # Default: true + enchantedTools: true + worldgen: - # Rubber Tree spawn chance (% per chunk) + # Rubber Tree spawn chance (decimal % per chunk) # Default: 0.5 rubberTreeSpawnChance: 0.0 @@ -129,6 +137,10 @@ worldgen: # Default: false infiniteBedrockOresFluids: false + # Generate ores indicators above ore veins + # Default: true + oreIndicators: false + # Sets the maximum number of chunks that may be cached for ore vein generation. # Higher values may improve world generation performance, but at the cost of more RAM usage. # If you substantially increase the ore vein grid size, random vein offset, or have very large (custom) veins, you may need to increase this value as well. @@ -153,7 +165,7 @@ machines: # Whether machines explode in rainy weather or when placed next to certain terrain, such as fire or lava # Default: false - doTerrainExplosion: true + shouldWeatherOrTerrainExplosion: true # Energy use multiplier for electric items. # Default: 100 @@ -172,10 +184,6 @@ machines: # Default: false harmlessActiveTransformers: false - # Divisor for Recipe Duration per Overclock. - # Default: 2.0 - overclockDivisor: 2.0 - # Whether to play machine sounds while machines are active. # Default: true machineSounds: true @@ -195,7 +203,7 @@ machines: # Block to replace mined ores with in the miner and multiblock miner. # Default: minecraft:cobblestone - replaceMinedBlocksWith: tfc:rock/cobble/rhyolite + replaceMinedBlocksWith: tfc:rock/hardened/rhyolite # Whether to enable Assembly Line research for recipes. # Default: true @@ -222,7 +230,7 @@ machines: # Whether the machine's circuit slot need to be inserted a real circuit. ghostCircuit: true - # Wether to add a "Bedrock Ore Miner" (also enables bedrock ore generation) + # Whether to add a "Bedrock Ore Miner" (also enables bedrock ore generation) # Default: false doBedrockOres: true @@ -230,10 +238,9 @@ machines: # Default: "raw" bedrockOreDropTagPrefix: raw - # WARNING: THIS IS NO LONGER SUPPORTED AND WILL BE REMOVED! - # This option only exists to provide backwards compatibility until the Processing Array will be removed in 1.3.0 - # Default: false - doProcessingArray: false + # The base amount of ticks per block for electric singleblock ore miners + # Default: 320 + minerSpeed: 320 # Makes nearly every GCYM Multiblock require blocks which set their maximum voltages. # Default: false @@ -247,6 +254,18 @@ machines: # Default: 50 ldFluidPipeMinDistance: 50 + # Whether ONLY owners can open a machine gui + # Default: false + onlyOwnerGUI: false + + # Whether ONLY owners can break a machine + # Default: false + onlyOwnerBreak: false + + # Minimum op level to bypass the ownership checks + # Default: 2 + ownerOPBypass: 2 + # If High Tier (>UV-tier) GT content should be registered. # Items and Machines enabled with this config will have missing recipes by default. # This is intended for modpack developers only, and is not playable without custom tweaks or addons. @@ -254,6 +273,83 @@ machines: # Default: false highTierContent: false + # Whether the Assembly Line should require the item inputs to be in order. + # Default: true + orderedAssemblyLineItems: true + + # Whether the Assembly Line should require the fluid inputs to be in order. + # (Requires Ordered Assembly Line Item Inputs to be enabled.) + # Default: false + orderedAssemblyLineFluids: false + + # Default maximum parallel of steam multiblocks + # Default: 8 + steamMultiParallelAmount: 8 + + # Small Steam Boiler Options + smallBoilers: + # The amount of steam a Steam Solid Boiler produces per second at max temperature. + # Default: 120 + solidBoilerBaseOutput: 120 + + # The amount of steam a High Pressure Steam Solid Boiler produces per second at max temperature. + # Default: 300 + hpSolidBoilerBaseOutput: 300 + + # The amount of steam a Steam Liquid Boiler produces per second at max temperature. + # Default: 240 + liquidBoilerBaseOutput: 240 + + # The amount of steam a High Pressure Steam Liquid Boiler produces per second at max temperature. + # Default: 600 + hpLiquidBoilerBaseOutput: 600 + + # The amount of steam a Steam Solar Boiler produces per second at max temperature. + # Default: 120 + solarBoilerBaseOutput: 120 + + # The amount of steam a High Pressure Steam Solar Boiler produces per second at max temperature. + # Default: 360 + hpSolarBoilerBaseOutput: 360 + + # Large Steam Boiler Options + largeBoilers: + # The conversion rate between water and steam in Large Boilers. + # Default: 160 + steamPerWater: 160 + + # The max temperature of the Large Bronze Boiler. + # Default: 800 + bronzeBoilerMaxTemperature: 800 + + # The heat speed of the Large Bronze Boiler. + # Default: 1 + bronzeBoilerHeatSpeed: 1 + + # The max temperature of the Large Steel Boiler. + # Default: 1800 + steelBoilerMaxTemperature: 1800 + + # The heat speed of the Large Steel Boiler. + # Default: 1 + steelBoilerHeatSpeed: 1 + + # The max temperature of the Large Titanium Boiler. + # Default: 3200 + titaniumBoilerMaxTemperature: 3200 + + # The heat speed of the Large Titanium Boiler. + # Default: 1 + titaniumBoilerHeatSpeed: 1 + + # The max temperature of the Large Tungstensteel Boiler. + # Default: 6400 + tungstensteelBoilerMaxTemperature: 6400 + + # The heat speed of the Large Tungstensteel Boiler. + # Default: 2 + tungstensteelBoilerHeatSpeed: 2 + client: # Whether or not to enable Emissive Textures for GregTech Machines. # Default: true @@ -273,12 +369,12 @@ client: defaultPaintingColor: #FFFFFF # The default color to overlay onto Machine (and other) UIs. - # 16777215 (#FFFFFF) is no coloring (like GTCE). - # 13819135 (#D2DCFF in decimal) is the classic blue from GT5 (default). + # 16777215 (#FFFFFF) is no coloring (like GTCE) (default). + # 13819135 (#D2DCFF in decimal) is the classic blue from GT5. defaultUIColor: #FFFFFF # Use VBO cache for multiblock preview. - # Disable it if you have issues with rendering multiblocks. + # Disable if you have issues with rendering multiblocks. # Default: true useVBO: true @@ -307,6 +403,11 @@ client: # Default: 0 hudOffsetY: 0 + renderer: + # Render fluids in multiblocks that support them? + # Default: true + renderFluids: true + # Config options for Tools and Armor tools: # Random chance for electric tools to take actual damage @@ -317,49 +418,185 @@ tools: # Default: 16 sprayCanChainLength: 16 + # Delay in ticks between each log being broken when tree felling + # Default: 2 + treeFellingDelay: 2 + + # NanoSaber Options + nanoSaber: + # The additional damage added when the NanoSaber is powered. + # Default: 20.0 + nanoSaberDamageBoost: 20.0 + + # The base damage of the NanoSaber. + # Default: 5.0 + nanoSaberBaseDamage: 5.0 + + # Should Zombies spawn with charged, active NanoSabers on hard difficulty? + # Default: true + zombieSpawnWithSabers: false + + # The EU/t consumption of the NanoSaber. + # Default: 64 + energyConsumption: 64 + + # NightVision Goggles Voltage Tier. Default: 1 (LV) + voltageTierNightVision: 1 + + # NanoSuit Voltage Tier. Default: 3 (HV) + voltageTierNanoSuit: 3 + + # Advanced NanoSuit Chestplate Voltage Tier. + # Default: 3 (HV) + voltageTierAdvNanoSuit: 3 + + # QuarkTech Suit Voltage Tier. + # Default: 5 (IV) + voltageTierQuarkTech: 5 + + # Advanced QuarkTech Suit Chestplate Voltage Tier. + # Default: 5 (LuV) + voltageTierAdvQuarkTech: 6 + + # Electric Impeller Jetpack Voltage Tier. + # Default: 2 (MV) + voltageTierImpeller: 2 + + # Advanced Electric Jetpack Voltage Tier. + # Default: 3 (HV) + voltageTierAdvImpeller: 3 + # Config options for Game Mechanics gameplay: # Enable hazardous materials # Default: true hazardsEnabled: true + # Whether hazards are applied to all valid items, or just GT's. + # true = all, false = GT only. + # Default: true + universalHazards: true + + # Whether environmental hazards like pollution or radiation are active + # Default: true + environmentalHazards: true + + # How much environmental hazards decay per chunk, per tick. + # Default: 0.001 + environmentalHazardDecayRate: 0.001 + # Config options for Mod Compatibility compat: # Config options regarding GTEU compatibility with other energy systems energy: - # Enable Native GTEU to Platform native Energy (RF and alike) on GT Cables and Wires. + # Enable Native GTEU to Forge Energy (RF and alike) on GT Cables and Wires. # This does not enable nor disable Converters. # Default: true - nativeEUToPlatformNative: true + nativeEUToFE: true - # Enable GTEU to Platform native (and vice versa) Converters. + # Enable GTEU to FE (and vice versa) Converters. # Default: false - enablePlatformConverters: true + enableFEConverters: true - # Platform native Energy to GTEU ratio for converting FE to EU. + # Forge Energy to GTEU ratio for converting FE to EU. # Only affects converters. - # Default: 4 FE/Energy == 1 EU - platformToEuRatio: 4 + # Default: 4 FE == 1 EU + feToEuRatio: 4 - # GTEU to Platform native Energy ratio for converting EU to FE. + # GTEU to Forge Energy ratio for converting EU to FE. # Affects native conversion and Converters. - # Default: 4 FE/Energy == 1 EU - euToPlatformRatio: 4 + # Default: 4 FE == 1 EU + euToFeRatio: 4 + + # Config options regarding GTCEu compatibility with AE2 + ae2: + # The interval between ME Hatch/Bus interact ME network. + # It may cause lag if the interval is too small. + # Default: 2 sec + updateIntervals: 40 + + # The energy consumption of ME Hatch/Bus. + # Default: 1.0AE/t + meHatchEnergyUsage: 1.0 + + # Config options regarding GTCEu compatibility with minimap mods + minimap: + # Toggle specific map mod integration on/off (need to restart for this to take effect) + toggle: + # FTB Chunks integration enabled + ftbChunksIntegration: false + + # Journey Map integration enabled + journeyMapIntegration: false + + # Xaerox's map integration enabled + xaerosMapIntegration: false + + # The radius, in blocks, that picking up a surface rock will search for veins in. + # -1 to disable. + # Default: 24 + surfaceRockProspectRange: -1 + + # The radius, in blocks, that clicking an ore block will search for veins in. + # -1 to disable + # Default: 24 + oreBlockProspectRange: 24 + + # The map scale at which displayed ores will stop scaling. + oreScaleStop: 1.0 + + # The size, in pixels, of ore icons on the map + oreIconSize: 32 + + # The string prepending ore names in the ore vein tooltip + oreNamePrefix: - + + # The color to draw a box around the ore icon with. + # Accepts either an ARGB hex color prefixed with # or the string 'material' to use the ore's material color + borderColor: #00000000 + + # Which part of the screen to anchor buttons to + # Default: "BOTTOM_LEFT" + buttonAnchor: BOTTOM_LEFT + + # Which direction the buttons will go + # Default: "HORIZONTAL" + direction: HORIZONTAL + + # How horizontally far away from the anchor to place the buttons + # Default: 20 + xOffset: 20 + + # How vertically far away from the anchor to place the buttons + # Default: 0 + yOffset: 0 + + # Whether to put buttons on a separate toolbar on the right instead of the map type toolbar in JourneyMap. + # Default: true + rightToolbar: true # Whether to hide facades of all blocks in JEI and creative search menu. # Default: true - hideFacadesInJEI: true + hideFacadesInRecipeViewer: true # Whether to hide filled cells in JEI and creative search menu. # Default: true - hideFilledCellsInJEI: true + hideFilledCellsInRecipeViewer: true + + # Whether to hide the ore processing diagrams in JEI + # Default: false + hideOreProcessingDiagrams: false # Whether Gregtech should remove smelting recipes from the vanilla furnace for ingots requiring the Electric Blast Furnace. # Default: true removeSmeltingForEBFMetals: true + # Whether dimension markers should show the dimension tier value. + # Default: false + showDimensionTier: true + dev: - # Debug general events? (will print placed veins to server's debug.log) + # Debug general events? (will print recipe conficts etc. to server's debug.log) # Default: false debug: false @@ -367,6 +604,10 @@ dev: # Default: false (no placement printout in debug.log) debugWorldgen: false + # Generate ores in superflat worlds? + # Default: false + doSuperflatOres: false + # Dump all registered GT recipes? # Default: false dumpRecipes: false diff --git a/config/hangglider-server.toml b/config/hangglider-server.toml index 585dfcadf..28f07d8a8 100644 --- a/config/hangglider-server.toml +++ b/config/hangglider-server.toml @@ -33,25 +33,25 @@ overall_wind_power = 0.75 #The amount of blocks to move forwards (per-tick) while gliding fast (pressing 'Shift'). #Range: 0.0 ~ 100.0 - fast_forward_movement = 0.08 + fast_forward_movement = 0.10 #The amount of blocks a player falls (per-tick) while gliding normally. #Range: 0.0 ~ 100.0 - normal_fall_movement = 0.55 + normal_fall_movement = 0.35 #Enables durability usage of the hang glider when gliding. consume_durability = true #The timeframe for durability usage, in ticks. Recall that there are 20 ticks in a second, so a value of 20 would damage the item about once a second. #Default is 1 damage about every 10 seconds of flight, so with a durability of 618 means about 15 minutes of flight time with an undamaged glider. #Range: 1 ~ 10000 - durability_use_interval = 200 + durability_use_interval = 1000 #The rate at which air resistance hinders your movement. 1 is no resistance, 0.5 is 1/2 as fast each tick. #Range: 0.0 ~ 1.0 air_resistance = 0.99 #The amount of blocks to move forwards (per-tick) while gliding normally. #Range: 0.0 ~ 100.0 - normal_forward_movement = 0.04 + normal_forward_movement = 0.05 #The amount of blocks to fall (per-tick) while gliding fast (pressing 'Shift'). #Range: 0.0 ~ 100.0 - fast_fall_movement = 0.675 + fast_fall_movement = 0.475 [hang_glider] #A quality-of-life option to quickly change the overall power of the wind effect for this glider. Default is an overall relatively weak wind, with moderate gusts that occur semi-commonly. diff --git a/config/immediatelyfast.json b/config/immediatelyfast.json index b5ec7e304..5180ad4e1 100644 --- a/config/immediatelyfast.json +++ b/config/immediatelyfast.json @@ -5,8 +5,6 @@ "hud_batching": false, "fast_text_lookup": true, "fast_buffer_upload": true, - "fast_buffer_upload_size_mb": 256, - "fast_buffer_upload_explicit_flush": true, "COSMETIC_INFO": "----- Cosmetic only config values below (Does not optimize anything) -----", "dont_add_info_into_debug_hud": false, "EXPERIMENTAL_INFO": "----- Experimental config values below (Rendering glitches may occur) -----", diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 441b94dc6..3d7123b41 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -22,6 +22,7 @@ "crop_progress": true, "command_block": true, "mob_growth": true, + "waxed": true, "harvest_tool.new_line": false, "entity_health.max_for_render": 40, "entity_health.show_fractions": false, @@ -54,10 +55,25 @@ "chiseled_bookshelf": true }, "gtceu": { - "recipe_logic_provider": true, + "primitive_pump": true, + "auto_output_info": true, "workable_provider": true, + "transformer": true, + "controllable_provider": true, + "me_pattern_buffer": true, + "exhaust_vent_info": true, + "me_pattern_buffer_proxy": true, + "multiblock_structure": true, + "recipe_logic_provider": true, + "maintenance_info": true, + "machine_mode": true, "electric_container_provider": true, - "controllable_provider": true + "steam_boiler_info": true, + "recipe_output_info": true, + "stained_color": true, + "hazard_cleaner_provider": true, + "cable_info": true, + "parallel_info": true }, "jade": { "coordinates.rel": false, @@ -67,10 +83,20 @@ "registry_name": "OFF", "mod_name": true }, + "alekiships": { + "furnace": true, + "jukebox": true, + "brewing_stand": true, + "block": true, + "note_block": true + }, "expatternprovider": { "jade_chamber": true, "jade_wireless": true }, + "lootr": { + "info": true + }, "ae2": { "part_icon": true, "charger": true, @@ -151,6 +177,10 @@ "firepit": true, "ingot_pile": true }, + "firmaciv": { + "tfc_chest": true, + "barrel": true + }, "jadeaddons": { "equipment_requirement": "" }, diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index 63b8ee749..a20f9ccc8 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -10,6 +10,11 @@ "ae2:pattern_provider": null, "ae2:power_storage": null, "ae2:server_data": null, + "alekiships:block": null, + "alekiships:brewing_stand": null, + "alekiships:furnace": null, + "alekiships:jukebox": null, + "alekiships:note_block": null, "corpse:corpse": null, "create:backtank_capacity": null, "create:blaze_burner": null, @@ -39,6 +44,8 @@ "extendedcrafting:flux_crafter": null, "extendedcrafting:ultimate_auto_table": null, "extendedcrafting:ultimate_table": null, + "firmaciv:barrel": null, + "firmaciv:tfc_chest": null, "firmalife:barrel_press": null, "firmalife:cheese": null, "firmalife:drying_mat": null, @@ -53,16 +60,34 @@ "firmalife:tumbler": null, "firmalife:vat": null, "framedblocks:framed_item_frame": null, + "gtceu:auto_output_info": null, + "gtceu:cable_info": null, "gtceu:controllable_provider": null, + "gtceu:custom_fluid_storage": null, + "gtceu:custom_item_storage": null, "gtceu:electric_container_provider": null, + "gtceu:exhaust_vent_info": null, "gtceu:fluid_storage": null, + "gtceu:hazard_cleaner_provider": null, + "gtceu:machine_mode": null, + "gtceu:maintenance_info": null, + "gtceu:me_pattern_buffer": null, + "gtceu:me_pattern_buffer_proxy": null, + "gtceu:multiblock_structure": null, + "gtceu:parallel_info": null, + "gtceu:primitive_pump": null, "gtceu:recipe_logic_provider": null, + "gtceu:recipe_output_info": null, + "gtceu:stained_color": null, + "gtceu:steam_boiler_info": null, + "gtceu:transformer": null, "gtceu:workable_provider": null, "jade:block_face": null, "jade:distance": null, "jade:mod_name": null, "jade:object_name": null, "jade:registry_name": null, + "lootr:info": null, "lootr:inventory": null, "minecraft:animal_owner": null, "minecraft:armor_stand": null, @@ -103,6 +128,7 @@ "minecraft:tnt_stability": null, "minecraft:total_enchantment_power": null, "minecraft:villager_profession": null, + "minecraft:waxed": null, "minecraft:zombie_villager": null, "tfc:animal": null, "tfc:axle": null, diff --git a/config/jei/jei-client.ini b/config/jei/jei-client.ini index b0fbe9a60..2cf8cbda6 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -1,10 +1,57 @@ -[advanced] - # Description: Display search bar in the center +[appearance] + # Description: Move the JEI search bar to the bottom center of the screen. # Valid Values: [true, false] # Default Value: false CenterSearch = false - # Description: Set low-memory mode (makes search very slow, but uses less RAM) + # Description: Max recipe GUI height. + # Valid Values: Any integer greater than or equal to 175 + # Default Value: 350 + RecipeGuiHeight = 350 + + +[cheat_mode] + # Description: Choose if JEI should give ingredients directly to the inventory or pick them up with the mouse. + # Valid Values: [INVENTORY, MOUSE_PICKUP] + # Default Value: MOUSE_PICKUP + GiveMode = MOUSE_PICKUP + + # Description: Enable cheating items into the hotbar by using Shift + numeric keys. + # Valid Values: [true, false] + # Default Value: false + CheatToHotbarUsingHotkeysEnabled = false + + # Description: Enable showing items that are not in the creative menu. + # Valid Values: [true, false] + # Default Value: false + ShowHiddenItems = false + + +[bookmarks] + # Description: Add new bookmarks to the front of the bookmark list instead of the end. + # Valid Values: [true, false] + # Default Value: false + AddBookmarksToFrontEnabled = false + + # Description: Extra features for bookmark tooltips. + # Valid Values: A comma-separated list containing values of: + # [PREVIEW, INGREDIENTS] + # Default Value: PREVIEW + BookmarkTooltipFeatures = PREVIEW + + # Description: Hold Shift to show bookmark tooltip features. + # Valid Values: [true, false] + # Default Value: true + HoldShiftToShowBookmarkTooltipFeatures = true + + # Description: Drag bookmarks to rearrange them in the list. + # Valid Values: [true, false] + # Default Value: true + DragToRearrangeBookmarksEnabled = true + + +[advanced] + # Description: Set low-memory mode (makes search very slow but uses less RAM). # Valid Values: [true, false] # Default Value: false LowMemorySlowSearchEnabled = false @@ -14,16 +61,6 @@ # Default Value: true CatchRenderErrorsEnabled = true - # Description: Enable cheating items into the hotbar by using the shift+number keys. - # Valid Values: [true, false] - # Default Value: false - CheatToHotbarUsingHotkeysEnabled = false - - # Description: Enable adding new bookmarks to the front of the bookmark list. - # Valid Values: [true, false] - # Default Value: true - AddBookmarksToFrontEnabled = true - # Description: When looking up recipes with items that contain fluids, also look up recipes for the fluids. # Valid Values: [true, false] # Default Value: false @@ -34,74 +71,124 @@ # Default Value: true lookupBlockTagsEnabled = true - # Description: How items should be handed to you - # Valid Values: [INVENTORY, MOUSE_PICKUP] - # Default Value: MOUSE_PICKUP - GiveMode = MOUSE_PICKUP + # Description: Show recipes for ingredient tags like item tags and block tags. + # Valid Values: [true, false] + # Default Value: false + showTagRecipesEnabled = false - # Description: Max. recipe gui height - # Valid Values: Any integer greater than or equal to 175 - # Default Value: 350 - RecipeGuiHeight = 350 + # Description: Show creative tab names in ingredient tooltips. + # Valid Values: [true, false] + # Default Value: false + showCreativeTabNamesEnabled = false + + +[input] + # Description: Number of milliseconds before a long mouse click is considered a drag operation. + # Valid Values: An integer in the range [0, 1000] (inclusive) + # Default Value: 150 + dragDelayInMilliseconds = 150 + + # Description: Scroll rate for scrolling the mouse wheel in smooth-scrolling scroll boxes. Measured in pixels. + # Valid Values: An integer in the range [1, 50] (inclusive) + # Default Value: 9 + smoothScrollRate = 9 [sorting] - # Description: Sorting order for the ingredient list + # Description: Sorting order for the ingredient list. # Valid Values: A comma-separated list containing values of: # [MOD_NAME, INGREDIENT_TYPE, ALPHABETICAL, CREATIVE_MENU, TAG, ARMOR, MAX_DURABILITY] # Default Value: MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU IngredientSortStages = MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU + # Description: Sorting order for displayed recipes. + # Valid Values: A comma-separated list containing values of: + # [BOOKMARKED, CRAFTABLE] + # Default Value: BOOKMARKED, CRAFTABLE + RecipeSorterStages = BOOKMARKED, CRAFTABLE + + +[tags] + # Description: Show tag content in tooltips. + # Valid Values: [true, false] + # Default Value: true + TagContentTooltipEnabled = true + + # Description: Hide tags that only have 1 ingredient. + # Valid Values: [true, false] + # Default Value: true + HideSingleIngredientTagsEnabled = true + [search] - # Description: Search mode for Mod Names (prefix: @) + # Description: Search mode for mod names (prefix: @). # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] # Default Value: REQUIRE_PREFIX ModNameSearchMode = REQUIRE_PREFIX - # Description: Search mode for Tooltips (prefix: #) + # Description: Search mode for tooltips (prefix: #). # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] # Default Value: ENABLED TooltipSearchMode = ENABLED - # Description: Search mode for Tag Names (prefix: $) + # Description: Search mode for tags (prefix: $). # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] # Default Value: REQUIRE_PREFIX TagSearchMode = REQUIRE_PREFIX - # Description: Search mode for Colors (prefix: ^) + # Description: Search mode for colors (prefix: ^). # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] # Default Value: DISABLED ColorSearchMode = DISABLED - # Description: Search mode for resources locations (prefix: &) + # Description: Search mode for resource locations (prefix: &). # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] # Default Value: DISABLED ResourceLocationSearchMode = DISABLED - # Description: Search advanced tooltips (visible with F3+H) + # Description: Search mode for creative mode tab names (prefix: %). + # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] + # Default Value: DISABLED + CreativeTabSearchMode = DISABLED + + # Description: Search in advanced tooltips (visible with F3 + H). # Valid Values: [true, false] # Default Value: false SearchAdvancedTooltips = false + # Description: Search mod IDs in addition to mod names. + # Valid Values: [true, false] + # Default Value: true + SearchModIds = true + + # Description: Search by the shorthand first letters of a mod's name. + # Valid Values: [true, false] + # Default Value: true + SearchShortModNames = true + + # Description: Search ingredient aliases (alternative names) that are added by plugins, in addition to ingredient names. + # Valid Values: [true, false] + # Default Value: true + SearchIngredientAliases = true + [IngredientList] - # Description: Max number of rows shown + # Description: Max number of rows shown. # Valid Values: An integer in the range [1, 100] (inclusive) # Default Value: 16 MaxRows = 16 - # Description: Max number of columns shown + # Description: Max number of columns shown. # Valid Values: An integer in the range [4, 100] (inclusive) # Default Value: 9 MaxColumns = 9 - # Description: Horizontal alignment of the ingredient grid inside the available area + # Description: Horizontal alignment of the ingredient grid inside the available area. # Valid Values: [LEFT, CENTER, RIGHT] # Default Value: RIGHT HorizontalAlignment = RIGHT - # Description: Vertical alignment of the ingredient grid inside the available area + # Description: Vertical alignment of the ingredient grid inside the available area. # Valid Values: [TOP, CENTER, BOTTOM] # Default Value: TOP VerticalAlignment = TOP @@ -111,29 +198,29 @@ # Default Value: ENABLED ButtonNavigationVisibility = ENABLED - # Description: Set to true to draw a background texture behind the gui. + # Description: Enable this to draw a background texture behind the GUI. # Valid Values: [true, false] # Default Value: false DrawBackground = false [BookmarkList] - # Description: Max number of rows shown + # Description: Max number of rows shown. # Valid Values: An integer in the range [1, 100] (inclusive) # Default Value: 16 MaxRows = 16 - # Description: Max number of columns shown + # Description: Max number of columns shown. # Valid Values: An integer in the range [4, 100] (inclusive) # Default Value: 9 MaxColumns = 9 - # Description: Horizontal alignment of the ingredient grid inside the available area + # Description: Horizontal alignment of the ingredient grid inside the available area. # Valid Values: [LEFT, CENTER, RIGHT] # Default Value: LEFT HorizontalAlignment = LEFT - # Description: Vertical alignment of the ingredient grid inside the available area + # Description: Vertical alignment of the ingredient grid inside the available area. # Valid Values: [TOP, CENTER, BOTTOM] # Default Value: TOP VerticalAlignment = TOP @@ -143,7 +230,7 @@ # Default Value: ENABLED ButtonNavigationVisibility = ENABLED - # Description: Set to true to draw a background texture behind the gui. + # Description: Enable this to draw a background texture behind the GUI. # Valid Values: [true, false] # Default Value: false DrawBackground = false diff --git a/config/jei/jei-colors.ini b/config/jei/jei-colors.ini index 1fc7da4ea..a0ce6e531 100644 --- a/config/jei/jei-colors.ini +++ b/config/jei/jei-colors.ini @@ -1,5 +1,5 @@ [colors] - # Description: Color values to search for + # Description: Color values to search for. # Valid Values: A comma-separated list containing values of: # Any color name and an RGB hex color, separated by a ':' # Default Value: 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, 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 diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index f2171e61e..a13e27060 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -1,17 +1,32 @@ [debug] - # Description: Debug mode enabled + # Description: Debug mode enabled. # Valid Values: [true, false] # Default Value: false DebugMode = false - # Description: Debug inputs enabled + # Description: Debug GUIs enabled. + # Valid Values: [true, false] + # Default Value: false + DebugGuis = false + + # Description: Debug inputs enabled. # Valid Values: [true, false] # Default Value: false DebugInputs = false + # Description: Add debug information to ingredient tooltips when advanced tooltips are enabled. + # Valid Values: [true, false] + # Default Value: false + debugInfoTooltipsEnabled = false + # Description: Adds ingredients to JEI that intentionally crash, to help debug JEI. # Valid Values: [true, false] # Default Value: false CrashingTestItemsEnabled = false + # Description: Log information about the suffix trees used for searching, to help debug JEI. + # Valid Values: [true, false] + # Default Value: false + logSuffixTreeStats = false + diff --git a/config/jei/jei-mod-id-format.ini b/config/jei/jei-mod-id-format.ini index 05234a802..11464f229 100644 --- a/config/jei/jei-mod-id-format.ini +++ b/config/jei/jei-mod-id-format.ini @@ -1,5 +1,5 @@ [modname] - # Description: Formatting for mod name tooltip + # Description: Formatting for the mod names in tooltips for JEI GUIs. Leave blank to disable. # Valid Values: A chat formatting string. # Use these formatting colors: # black dark_blue dark_green dark_aqua dark_red dark_purple gold gray dark_gray blue green aqua red light_purple yellow white diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index b72d7c3e1..466a85c4f 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -1,89 +1,161 @@ minecraft:crafting -minecraft:anvil -minecraft:blasting -minecraft:brewing -minecraft:campfire -minecraft:compostable -minecraft:fuel -minecraft:furnace -minecraft:smithing -minecraft:smoking -minecraft:stonecutting -ae2:attunement -ae2:certus_growth -ae2:charger -ae2:condenser -ae2:entropy -ae2:inscriber -ae2:item_transformation -create:automatic_brewing -create:automatic_packing -create:automatic_shaped -create:automatic_shapeless -create:block_cutting -create:crushing -create:deploying -create:draining -create:fan_blasting -create:fan_haunting -create:fan_smoking -create:fan_washing -create:item_application create:mechanical_crafting -create:milling -create:mixing -create:mystery_conversion -create:packing -create:pressing -create:sandpaper_polishing -create:sawing -create:sequenced_assembly -create:spout_filling -create:wood_cutting -createaddition:charging -createaddition:liquid_burning -createaddition:rolling -exposure:photograph_printing -exposure:photograph_stacking + +tfc:rock_knapping +tfc:clay_knapping +tfc:fire_clay_knapping +tfc:leather_knapping +tfc:goat_horn_knapping +tfc:pumpkin_knapping +tfc:raw_hide_knapping + +tfc:heating +tfc:quern +tfc:casting +tfc:anvil +tfc:welding +vintageimprovements:hammering +tfc:instant_barrel +tfc:instant_fluid_barrel +tfc:sealed_barrel +tfc:bloomery +tfc:blast_furnace +tfc:alloying + +tfc:scraping +tfc:loom +tfc:glassworking +tfc:chisel +tfc:sewing firmalife:drying firmalife:mixing_bowl firmalife:oven firmalife:smoking -firmalife:vat -jei:information -jumbofurnace:jumbo_furnace_upgrade -jumbofurnace:jumbo_smelting -morered:soldering -tfc:alloying -tfc:anvil -tfc:blast_furnace -tfc:bloomery -tfc:casting -tfc:chisel -tfc:clay_knapping -tfc:fire_clay_knapping -tfc:glassworking -tfc:goat_horn_knapping -tfc:heating -tfc:instant_barrel -tfc:instant_fluid_barrel -tfc:jam_pot -tfc:leather_knapping -tfc:loom -tfc:pumpkin_knapping -tfc:quern -tfc:rock_knapping -tfc:scraping -tfc:sealed_barrel tfc:simple_pot tfc:soup_pot -tfc:welding -treetap:tap_extract -ftbquests:loot_crate -ftbquests:quest +tfc:jam_pot firmalife:bowl_pot -firmalife:stinky_soup -framedblocks:framing_saw -tfc:sewing -firmalife:press +firmalife:vat firmalife:stomping + +create:deploying +create:item_application +create:sequenced_assembly + +gtceu:large_boiler +gtceu:steam_boiler +gtceu:coke_oven + +gtceu:combustion_generator +gtceu:gas_turbine +gtceu:plasma_generator +gtceu:steam_turbine + +minecraft:smelting +gtceu:air_scrubber +gtceu:alloy_smelter +gtceu:arc_furnace +gtceu:assembler +gtceu:autoclave +createaddition:rolling +vintageimprovements:pressurizing +gtceu:bender +gtceu:brewery +gtceu:canner +vintageimprovements:centrifugation +gtceu:centrifuge +gtceu:chemical_bath +gtceu:chemical_reactor +gtceu:large_chemical_reactor +gtceu:circuit_assembler +gtceu:compressor +greate:sawing +gtceu:cutter +gtceu:distillery +gtceu:distillation_tower +gtceu:electrolyzer +gtceu:electromagnetic_separator +vintageimprovements:vacuumizing +gtceu:extractor +vintageimprovements:curving +gtceu:extruder +gtceu:fermenter +gtceu:fluid_heater +gtceu:fluid_solidifier +gtceu:forge_hammer +gtceu:forming_press +gtceu:gas_collector +vintageimprovements:laser_cutting +gtceu:laser_engraver +vintageimprovements:turning +gtceu:lathe +greate:milling +greate:crushing +gtceu:macerator +greate:mixing +gtceu:mixer +gtceu:packer +gtceu:polarizer +gtceu:rock_breaker +gtceu:scanner +vintageimprovements:vibrating +gtceu:sifter +gtceu:thermal_centrifuge +vintageimprovements:coiling +gtceu:wiremill + +gtceu:multiblock_info +gtceu:alloy_blast_smelter +gtceu:assembly_line +gtceu:cracker +gtceu:electric_blast_furnace +gtceu:end_dome +gtceu:evaporation +gtceu:fusion_reactor +gtceu:greenhouse +gtceu:implosion_compressor +gtceu:nether_dome +gtceu:pyrolyse_oven +gtceu:research_station +gtceu:steam_bloomery +gtceu:vacuum_freezer +gtceu:wire_coating + +gtceu:ore_processing_diagram +ae2:item_transformation +gtceu:ore_washer +greate:fan_washing +gtceu:ore_crushing +gtceu:ore_forging +gtceu:ore_bathing + +gtceu:bedrock_fluid_diagram + +gtceu:chem_dyes +gtceu:ingot_molding +gtceu:arc_furnace_recycling +gtceu:macerator_recycling +gtceu:extractor_recycling +ae2:condenser + +greate:packing + +minecraft:smithing +exposure:photograph_printing + +rnr:block_mod +rnr:mattock +greate:block_cutting +framedblocks:framing_saw +domum_ornamentum:architects_cutter + +gtceu:programmed_circuit +ae2:attunement +ae2:entropy +create:draining +create:spout_filling +exposure:photograph_stacking +ftbquests:quest + +emi:info +emi:tag \ No newline at end of file diff --git a/config/lmft.json b/config/lmft.json new file mode 100644 index 000000000..f874764cf --- /dev/null +++ b/config/lmft.json @@ -0,0 +1,3 @@ +{ + "disableIngameError": false +} \ No newline at end of file diff --git a/config/lootr-client.toml b/config/lootr-client.toml new file mode 100644 index 000000000..7fce451f0 --- /dev/null +++ b/config/lootr-client.toml @@ -0,0 +1,5 @@ +#set to true to use vanilla textures instead of Lootr special textures. Note: this will prevent previously opened chests from rendering differently +vanilla_textures = false +#set to true to use the old Lootr textures +old_textures = false + diff --git a/config/lootr-common.toml b/config/lootr-common.toml new file mode 100644 index 000000000..a64209289 --- /dev/null +++ b/config/lootr-common.toml @@ -0,0 +1,85 @@ +#determine whether or not loot generated is the same for all players using the provided seed, or randomised per player +randomise_seed = true +#the maximum age for containers; entries above this age will be discarded [default: 60 * 20 * 15, fifteen minutes] [note: the value 6000 will be corrected to 18000. if you wish to use 6000, please use 6001 or 5999.] +#Range: > 0 +max_age = 18000 +#if true, no chests will be converted +disable = false +#whether or not mineshaft chest minecarts should be converted to standard loot chests +convert_mineshafts = true +#whether or not the Elytra item frame should be converted into a standard loot chest with a guaranteed elytra +convert_elytras = true +#whether or not the entire forge:chests/wooden tag should be added to the conversion list for structures (if they are backed by RandomizableContainerBlockEntity) +convert_wooden_chests = true +#whether or not the entire forge:chests/trapped tag should be added to the conversion list for structures (if they are backed by RandomizableContainerBlockEntity +convert_trapped_chests = true +#lootr will automatically log all unresolved tables (i.e., for containers that have a loot table associated with them but, for whatever reason, the lookup for this table returns empty). setting this option to true additionally informs players when they open containers. +report_unresolved_tables = false +#a list of additional chests that should be converted (in the format of ["modid:name", "modid:other_name"], must be a tile entity instance of RandomizableContainerBlockEntity) +additional_chests = [] +#a list of additional trapped chests that should be converted (in the format of ["modid:name", "modid:other_name"], must be a tile entity instance of RandomizableContainerBlockEntity) +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", "minecraft:the_end"]) +dimension_whitelist = [] +#list of dimensions that loot chests should not be replaced in (default: blank, allowing all dimensions, format e.g., ["minecraft:overworld", "minecraft:the_end"]) +dimension_blacklist = [] +#list of dimensions by modid that loot chests should not be replaced in (default: blank, allowing all modids, format e.g., ["minecraft +#othermod"]) +modid_dimension_blacklist = [] +#list of dimensions by modid that loot chest should be replaced in (default: blank, allowing all modids, format e.g., ["minecraft +#othermod"]) +modid_dimension_whitelist = [] +#list of loot tables which shouldn't be converted (in the format of ["modid:loot_table", "othermodid:other_loot_table"]) +loot_table_blacklist = [] +#list of modids whose loot tables shouldn't be converted (in the format of ["modid", "other_modid"]) +loot_modid_blacklist = [] +#prevent the destruction of Lootr chests except while sneaking in creative mode +disable_break = false +#allow the destruction of Lootr chests regardless. overrides `disable_break` +enable_break = false +#disregard chests and chunks that are outside of the world border; enable this option if you are using a world border and are suffering consistent TPS issues; if you change the world border, you will need to restart your client +check_world_border = false +#allows fake players to destroy Lootr chests without having to sneak, overrides the `disable_break` option for fake players +enable_fake_player_break = false +#when true, comparators on Lootr containers will give an output of 1; when false, they will give an output of 0 +power_comparators = true +#when true, custom inventories will act like trapped chests when opened +trapped_custom = false +#lootr chests cannot be destroyed by creeper or TNT explosions +blast_resistant = false +#lootr chests cannot be destroyed by any explosion +blast_immune = false +#prevent notifications of decaying or refreshed chests +disable_notifications = false +#maximum time (in ticks) remaining on a chest before a notification for refreshing or decaying is sent to a player (default 30 seconds, -1 for no delay) +#Range: > -1 +notification_delay = 600 +#disables styling of breaking, decaying and refreshing messages sent to players +disable_message_styles = false +#how long (in ticks) a decaying loot containers should take to decay (default 5 minutes = 5 * 60 * 20) +#Range: > 0 +decay_value = 6000 +#list of loot tables which will decay (default blank, meaning no chests decay, in the format of (in the format of ["modid:loot_table", "othermodid:other_loot_table"]) +decay_loot_tables = [] +#list of mod IDs whose loot tables will decay (default blank, meaning no chests decay, in the format ["modid", "othermodid"]) +decay_modids = [] +#list of dimensions where loot chests should automatically decay (default: blank, e.g., ["minecraft:the_nether", "minecraft:the_end"]) +decay_dimensions = [] +#list of structures in which loot chests should automatically decay (in the format of ["modid:structure_name", "modid:other_structure_name"]) +decay_structures = [] +#overriding decay_loot_tables, decay_modids and decay_dimensions: all chests will decay after being opened for the first time +decay_all = false +#how long (in ticks) a refreshing loot containers should take to refresh their contents (default 20 minutes = 20 * 60 * 20) +#Range: > 0 +refresh_value = 24000 +#list of loot tables which will refresh (default blank, meaning no chests refresh, in the format of ["modid:loot_table", "othermodid:loot_table"]) +refresh_loot_tables = [] +#list of mod IDs whose loot tables will refresh (default blank, meaning no chests refresh, in the format of ["modid", "othermodid"]) +refresh_modids = [] +#list of dimensions where loot chests should automatically refresh (default: blank, e.g., ["minecraft:overworld", "othermod:otherdimension"]) +refresh_dimensions = [] +#list of structures in which loot chests should automatically refresh (in the format of ["modid:structure_name", "othermodid:other_structure_name"]) +refresh_structures = [] +#overriding refresh_loot_tables, refresh_modids and refresh_dimensions: all chests will refresh after being opened for the first time +refresh_all = false + diff --git a/config/measurements-client.toml b/config/measurements-client.toml new file mode 100644 index 000000000..9aaaf7ba3 --- /dev/null +++ b/config/measurements-client.toml @@ -0,0 +1,19 @@ + +#Client settings +[client] + #Set line color. [Default: YELLOW] + #Allowed Values: RANDOM, WHITE, ORANGE, MAGENTA, LIGHT_BLUE, YELLOW, LIME, PINK, GRAY, LIGHT_GRAY, CYAN, PURPLE, BLUE, BROWN, GREEN, RED, BLACK + lineColor = "YELLOW" + #Set text color. [Default: YELLOW] + #Allowed Values: RANDOM, XYZRGB, WHITE, ORANGE, MAGENTA, LIGHT_BLUE, YELLOW, LIME, PINK, GRAY, LIGHT_GRAY, CYAN, PURPLE, BLUE, BROWN, GREEN, RED, BLACK + textColor = "YELLOW" + #Set text size [Default: 0.02] + #Range: 0.01 ~ 0.1 + textSize = 0.02 + #Set line width (thickness). [Default: 2] + #Range: 1.0 ~ 16.0 + lineWidth = 2.0 + #Set line width when further away (thickness). [Default: 2] + #Range: 1 ~ 16 + lineWidthMax = 2 + diff --git a/config/modernfix-mixins.properties b/config/modernfix-mixins.properties index 3986f867a..ebc1b2366 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -21,6 +21,7 @@ # mixin.bugfix.fix_config_crashes=true # (default) # mixin.bugfix.forge_at_inject_error=true # (default) # mixin.bugfix.forge_vehicle_packets=true # (default) +# mixin.bugfix.missing_block_entities=false # (default) # mixin.bugfix.model_data_manager_cme=true # (default) # mixin.bugfix.packet_leak=false # (default) # mixin.bugfix.paper_chunk_patches=true # (default) @@ -39,6 +40,7 @@ # mixin.feature.measure_time=true # (default) # mixin.feature.registry_event_progress=false # (default) # mixin.feature.remove_chat_signing=false # (default) +# mixin.feature.remove_telemetry=true # (default) # mixin.feature.snapshot_easter_egg=true # (default) # mixin.feature.spam_thread_dump=false # (default) # mixin.feature.spark_profile_launch=false # (default) @@ -52,6 +54,7 @@ # mixin.perf.cache_profile_texture_url=true # (default) # mixin.perf.cache_strongholds=true # (default) # mixin.perf.cache_upgraded_structures=true # (default) +# mixin.perf.chunk_meshing=true # (default) # mixin.perf.clear_mixin_classinfo=false # (default) # mixin.perf.compact_bit_storage=true # (default) # mixin.perf.datapack_reload_exceptions=true # (default) @@ -63,7 +66,7 @@ # mixin.perf.dynamic_entity_renderers=false # (default) # mixin.perf.dynamic_resources=false # (default) # mixin.perf.dynamic_resources.ctm=true # (default) -# mixin.perf.dynamic_resources.rs=true # (default) +# mixin.perf.dynamic_resources.ldlib=true # (default) # mixin.perf.dynamic_resources.supermartijncore=true # (default) # mixin.perf.dynamic_sounds=true # (default) # mixin.perf.dynamic_structure_manager=true # (default) @@ -88,7 +91,7 @@ # mixin.perf.resourcepacks=true # (default) # mixin.perf.state_definition_construct=true # (default) # mixin.perf.tag_id_caching=true # (default) -# mixin.perf.thread_priorities=false # (overridden for mod compat) +# mixin.perf.thread_priorities=true # (default) # mixin.perf.ticking_chunk_alloc=true # (default) # mixin.perf.worldgen_allocation=false # (default) # mixin.safety=true # (default) diff --git a/config/packetfixer.properties b/config/packetfixer.properties index 85d13a3bc..0fb06d730 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,8 +1,9 @@ #Packet Fixer config file. #Default values (minecraft default): nbtMaxSize 2097152, packetSize 1048576, decoderSize 2097152 and varInt21Size 3. #Max values are 2147483647 for packetSize/decoderSize/varInt21 and 9223372036854775807 for nbtMaxSize. -#Tue Oct 01 12:13:54 YEKT 2024 -nbtMaxSize=209715200 +#Sun Feb 02 22:08:37 NOVT 2025 decoderSize=838860800 +nbtMaxSize=209715200 packetSize=104857600 +utfSize=3276700 varInt21=8 diff --git a/config/particle_core_config.toml b/config/particle_core_config.toml new file mode 100644 index 000000000..916211205 --- /dev/null +++ b/config/particle_core_config.toml @@ -0,0 +1,7 @@ +# Don't change this! Version used to track needed updates. +version = 0 +turnOffPotionParticles = "NONE" +reduceAllChance = 0.0 +reduceDecreasedChance = 0.0 +disableParticles = false +byTypeReductions = { } \ No newline at end of file diff --git a/config/particle_core_disabled_optimizations.json b/config/particle_core_disabled_optimizations.json new file mode 100644 index 000000000..de7c1fc2a --- /dev/null +++ b/config/particle_core_disabled_optimizations.json @@ -0,0 +1,12 @@ +{ + "_Disable_Optimizations_Options": { + "ROTATION": "[Impact: Medium] Disables mixins related to vertex rotation caching (ParticleManagerRotationMixin, BillboardParticleMixin)", + "TYPE": "[Impact: Low to Medium] Disables mixins related to particle disabling and reduction (WorldRendererTypeMixin)", + "DECREASE": "[Impact: Low] Disables mixins related particle settings reduction (ALL, DECREASED, MINIMAL) (WorldRendererDecreaseMixin)", + "LIGHTMAP": "[Impact: Medium] Disables mixins related to light map caching (ParticleManagerCachedLightMixin, ParticleMixin)", + "POTION": "[Impact: Low] Disables mixins related to potion particle disabling (LivingEntityMixin)" + }, + "disableOptimizations": [ + "NONE" + ] +} \ No newline at end of file diff --git a/config/particular-common.toml b/config/particular-common.toml new file mode 100644 index 000000000..759012687 --- /dev/null +++ b/config/particular-common.toml @@ -0,0 +1,103 @@ + +#Particular Mod Configuration +[general] + + #Enable/Disable Effects + [general.enabledEffects] + #Enable water splash particles + waterSplash = true + #Enable cascade particles + cascades = true + #Enable waterfall spray particles + waterfallSpray = true + #Enable firefly particles + fireflies = false + #Enable falling leaves particles + fallingLeaves = false + #Enable cave dust particles + caveDust = true + #Enable chest bubbles + chestBubbles = false + #Enable soul sand bubbles + soulSandBubbles = false + #Enable barrel bubbles + barrelBubbles = false + #Enable popping bubbles + poppingBubbles = false + #Enable rain ripples + rainRipples = true + #Enable water drip ripples + waterDripRipples = true + #Enable cake eating particles + cakeEatingParticles = true + #Enable emissive lava drips + emissiveLavaDrips = true + + #Advanced Particle Settings + [general.advancedSettings] + + [general.advancedSettings.fireflySettings] + #Time when fireflies start spawning + #Range: 0 ~ 23999 + startTime = 12000 + #Time when fireflies stop spawning + #Range: 0 ~ 23999 + endTime = 23000 + #Minimum temperature for fireflies to spawn + #Range: 0.0 ~ 2.0 + minTemp = 0.5 + #Maximum temperature for fireflies to spawn + #Range: 0.0 ~ 2.0 + maxTemp = 0.9900000095367432 + #Whether fireflies can spawn in rain + canSpawnInRain = false + + [general.advancedSettings.fireflySettings.frequencyModifiers] + #Daily random factors for firefly spawning + dailyRandom = [0.0, 0.0, 0.0, 0.33, 0.66, 1.0] + #Frequency modifier for grass + #Range: 0.0 ~ 1.0 + grass = 0.16666666666666666 + #Frequency modifier for tall grass + #Range: 0.0 ~ 1.0 + tallGrass = 0.08333333333333333 + #Frequency modifier for flowers + #Range: 0.0 ~ 1.0 + flowers = 1.0 + #Frequency modifier for tall flowers + #Range: 0.0 ~ 1.0 + tallFlowers = 0.5 + + [general.advancedSettings.fallingLeavesSettings] + #Chance of spawning falling leaves (higher = less frequent) + #Range: > 1 + spawnChance = 60 + #Whether falling leaves create ripples when landing on water + spawnRipples = true + #Whether falling leaves lay flat on the ground + layFlatOnGround = true + #Whether falling leaves lay at right angles + layFlatRightAngles = false + + [general.advancedSettings.caveDustSettings] + #Chance of spawning cave dust (higher = less frequent) + #Range: > 1 + spawnChance = 700 + #Base maximum age of cave dust particles + #Range: > 1 + baseMaxAge = 200 + #Color of cave dust particles (RGB hex) + #Range: 0 ~ 16777215 + color = 8421504 + #Duration of fade effect for cave dust particles + #Range: > 0 + fadeDuration = 20 + #Maximum acceleration of cave dust particles + #Range: 0.0 ~ 1.0 + maxAcceleration = 0.029999999329447746 + #Chance of changing acceleration for cave dust particles + #Range: > 1 + accelChangeChance = 180 + #Biomes where cave dust won't spawn + excludeBiomes = ["minecraft:lush_caves", "minecraft:dripstone_caves", "minecraft:deep_dark"] + diff --git a/config/playerrevive.json b/config/playerrevive.json index afd498e27..0322a014f 100644 --- a/config/playerrevive.json +++ b/config/playerrevive.json @@ -24,7 +24,11 @@ "hasShaderEffect": true, "changePermissionLevel": false, "permissionLevel": 0, - "canBePushed": true + "canBePushed": true, + "disableAllGUIAccess": false, + "disableInventoryAccess": false, + "disableChatAccess": false, + "disableServerCommands": false }, "revive": { "requiredReviveProgress": 100.0, diff --git a/config/sodiumdynamiclights-client.toml b/config/sodiumdynamiclights-client.toml new file mode 100644 index 000000000..64be37808 --- /dev/null +++ b/config/sodiumdynamiclights-client.toml @@ -0,0 +1,20 @@ + +[sodiumdynamiclights] + #Lighting mode + #Allowed Values: OFF, SLOW, FAST, REALTIME + mode = "REALTIME" + #Enable entities light source. + entities = false + #Enable first-person player light source. + self = true + #Enable block entities light source. + block_entities = true + #Enables water-sensitive light sources check. This means that water-sensitive items will not light up when submerged in water. + water_sensitive_check = true + #TNT lighting mode. May be off, simple or fancy. + #Allowed Values: OFF, SIMPLE, FANCY + tnt = "SIMPLE" + #Creeper lighting mode. May be off, simple or fancy. + #Allowed Values: OFF, SIMPLE, FANCY + creeper = "OFF" + diff --git a/config/sodiumextras-client.toml b/config/sodiumextras-client.toml new file mode 100644 index 000000000..b54945f98 --- /dev/null +++ b/config/sodiumextras-client.toml @@ -0,0 +1,131 @@ + +[embeddiumextras] + + [embeddiumextras.general] + #Set Fullscreen mode + #Borderless let you change between screens more faster and move your mouse across monitors + #Allowed Values: WINDOWED, BORDERLESS, FULLSCREEN + fullscreen = "WINDOWED" + #Configure FPS Display mode + #Complete mode gives you min FPS count and average count + #Allowed Values: OFF, SIMPLE, ADVANCED + fpsDisplay = "ADVANCED" + #Configure FPS Display gravity + #Places counter on specified corner of your screen + #Allowed Values: LEFT, CENTER, RIGHT + fpsDisplayGravity = "LEFT" + #Shows GPU and memory usage onto FPS display + #Allowed Values: OFF, ON, GPU, RAM + fpsDisplaySystem = "OFF" + #Configure FPS Display margin + #Give some space between corner and text + #Range: 0 ~ 48 + fpsDisplayMargin = 12 + #Toggle FPS Display shadow + #In case sometimes you can't see the text + fpsDisplayShadow = false + + [embeddiumextras.quality] + #Toggle fog feature + #Fog was a vanilla feature, toggling off may increases performance + fog = true + #Raise clouds + #Modify clouds height perfect for a adaptative world experience + #Range: 0 ~ 512 + cloudsHeight = 192 + #Chunks fade in speed + #This option doesn't affect performance, just changes speed + #Allowed Values: OFF, FAST, SLOW + chunkFadeSpeed = "SLOW" + + [embeddiumextras.quality.darkness] + #Configure Darkness Mode + #Each config changes what is considered 'true darkness' + #Allowed Values: PITCH_BLACK, TOTAL_DARKNESS, DARK, DIM, OFF + mode = "OFF" + #Toggle Darkness on Overworld dimension + enableOnOverworld = true + #Toggle Darkness on Nether dimension + enableOnNether = false + #Configure fog brightness on nether when darkness is enabled + #Range: 0.0 ~ 1.0 + netherFogBright = 0.5 + #Toggle Darkness on End dimension + enableOnEnd = false + #Configure fog brightness on nether when darkness is enabled + #Range: 0.0 ~ 1.0 + endFogBright = 0.5 + #Toggle Darkness default mode for modded dimensions + valueByDefault = false + #List of all dimensions to use True Darkness + #This option overrides 'valueByDefault' state + dimensionWhitelist = [] + #Toggle darkness when dimension has no SkyLight + enableOnNoSkyLight = false + #Disables all bright sources of darkness like moon or fog + #Only affects darkness effect + enableBlockLightOnly = false + #Toggles if moon phases affects darkness in the overworld + affectedByMoonPhase = true + #Configure max moon brightness level with darkness + #Range: 0.0 ~ 1.0 + fullMoonBright = 0.25 + #Configure min moon brightness level with darkness + #Range: 0.0 ~ 1.0 + newMoonBright = 0.0 + + [embeddiumextras.performance] + #Toggles JREI item rendering until searching + #Increases performance a little bit and cleans your screen when you don't want to use it + hideJREI = false + #Toggles Minecraft Fonts shadows + #Depending of the case may increase performance + #Gives a flat style text + fontShadows = true + + [embeddiumextras.performance.distanceCulling] + + [embeddiumextras.performance.distanceCulling.tileEntities] + #Toggles distance culling for Block Entities + #Maybe you use another mod for that :( + enable = true + #Configure horizontal max distance before cull Block entities + #Value is squared, default was 64^2 (or 64x64) + #Range: > 0 + cullingMaxDistanceX = 4096 + #Configure vertical max distance before cull Block entities + #Value is raw + #Range: 0 ~ 512 + cullingMaxDistanceY = 32 + #List of all Block Entities to be ignored by distance culling + #Uses ResourceLocation to identify it + #Example 1: "minecraft:chest" - Ignores chests only + #Example 2: "ae2:*" - ignores all Block entities from Applied Energetics 2 + whitelist = ["waterframes:*"] + + [embeddiumextras.performance.distanceCulling.entities] + #Toggles distance culling for entities + #Maybe you use another mod for that :( + enable = true + #Configure horizontal max distance before cull entities + #Value is squared, default was 64^2 (or 64x64) + #Range: > 0 + cullingMaxDistanceX = 4096 + #Configure vertical max distance before cull entities + #Value is raw + #Range: 0 ~ 512 + cullingMaxDistanceY = 32 + #List of all Entities to be ignored by distance culling + #Uses ResourceLocation to identify it + #Example 1: "minecraft:bat" - Ignores bats only + #Example 2: "alexsmobs:*" - ignores all entities for alexmobs mod + whitelist = ["minecraft:ghast", "minecraft:ender_dragon", "iceandfire:*", "create:*"] + + [embeddiumextras.others] + #Configure if borderless fullscreen option should be attached to F11 or replace vanilla fullscreen + #Allowed Values: ATTACH, REPLACE, OFF + borderlessAttachModeOnF11 = "OFF" + #Toggles fast language reload + #Embeddedt points it maybe cause troubles to JEI, so ¿why not add it as a toggleable option? + fastLanguageReload = true + diff --git a/config/sophisticatedcore-common.toml b/config/sophisticatedcore-common.toml index 188cb8aa4..255324cde 100644 --- a/config/sophisticatedcore-common.toml +++ b/config/sophisticatedcore-common.toml @@ -2,5 +2,5 @@ #Common Settings [common] #Disable / enable any items here (disables their recipes) - enabledItems = ["sophisticatedbackpacks:compacting_upgrade|false", "sophisticatedbackpacks:advanced_restock_upgrade|false", "sophisticatedbackpacks:diamond_backpack|false", "sophisticatedbackpacks:tank_upgrade|false", "sophisticatedbackpacks:auto_smoking_upgrade|false", "sophisticatedbackpacks:filter_upgrade|false", "sophisticatedbackpacks:advanced_compacting_upgrade|false", "sophisticatedbackpacks:feeding_upgrade|false", "sophisticatedbackpacks:advanced_pickup_upgrade|false", "sophisticatedbackpacks:smoking_upgrade|false", "sophisticatedbackpacks:everlasting_upgrade|false", "sophisticatedbackpacks:advanced_feeding_upgrade|false", "sophisticatedbackpacks:crafting_upgrade|false", "sophisticatedbackpacks:stack_upgrade_tier_4|false", "sophisticatedbackpacks:stack_upgrade_tier_2|false", "sophisticatedbackpacks:stack_upgrade_tier_3|false", "sophisticatedbackpacks:stack_upgrade_tier_1|false", "sophisticatedbackpacks:advanced_pump_upgrade|false", "sophisticatedbackpacks:refill_upgrade|false", "sophisticatedbackpacks:auto_blasting_upgrade|false", "sophisticatedbackpacks:void_upgrade|false", "sophisticatedbackpacks:advanced_refill_upgrade|false", "sophisticatedbackpacks:advanced_tool_swapper_upgrade|false", "sophisticatedbackpacks:smelting_upgrade|false", "sophisticatedbackpacks:battery_upgrade|false", "sophisticatedbackpacks:magnet_upgrade|false", "sophisticatedbackpacks:advanced_magnet_upgrade|false", "sophisticatedbackpacks:blasting_upgrade|false", "sophisticatedbackpacks:deposit_upgrade|false", "sophisticatedbackpacks:iron_backpack|false", "sophisticatedbackpacks:stonecutter_upgrade|false", "sophisticatedbackpacks:backpack|false", "sophisticatedbackpacks:tool_swapper_upgrade|false", "sophisticatedbackpacks:jukebox_upgrade|false", "sophisticatedbackpacks:advanced_filter_upgrade|false", "sophisticatedbackpacks:inception_upgrade|false", "sophisticatedbackpacks:anvil_upgrade|false", "sophisticatedbackpacks:xp_pump_upgrade|false", "sophisticatedbackpacks:auto_smelting_upgrade|false", "sophisticatedbackpacks:pickup_upgrade|false", "sophisticatedbackpacks:upgrade_base|false", "sophisticatedbackpacks:gold_backpack|false", "sophisticatedbackpacks:advanced_deposit_upgrade|false", "sophisticatedbackpacks:advanced_void_upgrade|false", "sophisticatedbackpacks:restock_upgrade|false", "sophisticatedbackpacks:pump_upgrade|false", "sophisticatedbackpacks:netherite_backpack|false", "sophisticatedbackpacks:copper_backpack|false", "sophisticatedbackpacks:stack_upgrade_starter_tier|false"] + enabledItems = ["sophisticatedbackpacks:compacting_upgrade|false", "sophisticatedbackpacks:advanced_restock_upgrade|true", "sophisticatedbackpacks:diamond_backpack|true", "sophisticatedbackpacks:tank_upgrade|true", "sophisticatedbackpacks:auto_smoking_upgrade|false", "sophisticatedbackpacks:filter_upgrade|true", "sophisticatedbackpacks:advanced_compacting_upgrade|false", "sophisticatedbackpacks:feeding_upgrade|false", "sophisticatedbackpacks:advanced_pickup_upgrade|true", "sophisticatedbackpacks:smoking_upgrade|false", "sophisticatedbackpacks:everlasting_upgrade|true", "sophisticatedbackpacks:advanced_feeding_upgrade|false", "sophisticatedbackpacks:crafting_upgrade|true", "sophisticatedbackpacks:stack_upgrade_tier_4|false", "sophisticatedbackpacks:stack_upgrade_tier_2|false", "sophisticatedbackpacks:stack_upgrade_tier_3|false", "sophisticatedbackpacks:stack_upgrade_tier_1|true", "sophisticatedbackpacks:advanced_pump_upgrade|false", "sophisticatedbackpacks:refill_upgrade|true", "sophisticatedbackpacks:auto_blasting_upgrade|false", "sophisticatedbackpacks:void_upgrade|true", "sophisticatedbackpacks:advanced_refill_upgrade|true", "sophisticatedbackpacks:advanced_tool_swapper_upgrade|true", "sophisticatedbackpacks:smelting_upgrade|false", "sophisticatedbackpacks:battery_upgrade|false", "sophisticatedbackpacks:magnet_upgrade|true", "sophisticatedbackpacks:advanced_magnet_upgrade|true", "sophisticatedbackpacks:blasting_upgrade|false", "sophisticatedbackpacks:deposit_upgrade|true", "sophisticatedbackpacks:iron_backpack|true", "sophisticatedbackpacks:stonecutter_upgrade|false", "sophisticatedbackpacks:backpack|true", "sophisticatedbackpacks:tool_swapper_upgrade|true", "sophisticatedbackpacks:jukebox_upgrade|true", "sophisticatedbackpacks:advanced_filter_upgrade|true", "sophisticatedbackpacks:inception_upgrade|false", "sophisticatedbackpacks:anvil_upgrade|false", "sophisticatedbackpacks:xp_pump_upgrade|false", "sophisticatedbackpacks:auto_smelting_upgrade|false", "sophisticatedbackpacks:pickup_upgrade|true", "sophisticatedbackpacks:upgrade_base|true", "sophisticatedbackpacks:gold_backpack|true", "sophisticatedbackpacks:advanced_deposit_upgrade|true", "sophisticatedbackpacks:advanced_void_upgrade|true", "sophisticatedbackpacks:restock_upgrade|true", "sophisticatedbackpacks:pump_upgrade|false", "sophisticatedbackpacks:netherite_backpack|true", "sophisticatedbackpacks:copper_backpack|false", "sophisticatedbackpacks:stack_upgrade_starter_tier|true", "sophisticatedbackpacks:advanced_jukebox_upgrade|true", "sophisticatedbackpacks:smithing_upgrade|false", "sophisticatedbackpacks:stack_downgrade_tier_2|false", "sophisticatedbackpacks:stack_downgrade_tier_1|false", "sophisticatedbackpacks:stack_downgrade_tier_3|false", "sophisticatedbackpacks:stack_upgrade_omega_tier|false", "sophisticatedbackpacks:infinity_upgrade|false", "sophisticatedbackpacks:survival_infinity_upgrade|false"] diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties new file mode 100644 index 000000000..76bc438d1 --- /dev/null +++ b/config/sound_physics_remastered/allowed_sounds.properties @@ -0,0 +1,1868 @@ +# Allowed sounds +# Set to 'false' to disable sound physics for that sound + +minecraft\:entity.parrot.imitate.vindicator=true +tfc\:block.thin.fall=true +minecraft\:item.bucket.fill=true +gtceu\:chemical=true +minecraft\:entity.sniffer.digging=true +minecraft\:block.lodestone.place=true +minecraft\:music.overworld.bamboo_jungle=true +minecraft\:entity.hoglin.death=true +minecraft\:block.cherry_wood_fence_gate.open=true +minecraft\:entity.parrot.imitate.witch=true +minecraft\:entity.pillager.celebrate=true +minecraft\:block.chiseled_bookshelf.insert.enchanted=true +minecraft\:entity.mule.eat=true +minecraft\:item.trident.thunder=true +minecraft\:block.bamboo_wood_door.open=true +minecraft\:entity.piglin.ambient=true +minecraft\:block.pink_petals.step=true +create_connected\:interlude_music=true +tfc\:block.charcoal.break=true +minecraft\:block.bamboo_wood_pressure_plate.click_on=true +minecraft\:music.overworld.jagged_peaks=true +tfc\:entity.lake_trout.ambient=true +minecraft\:block.bamboo_sapling.break=true +minecraft\:block.note_block.banjo=true +minecraft\:entity.llama.step=true +create\:clipboard_check=true +tfc\:item.armor.equip_steel=true +minecraft\:item.flintandsteel.use=true +minecraft\:entity.shulker.open=true +minecraft\:block.note_block.imitate.creeper=true +minecraft\:entity.skeleton_horse.hurt=true +minecraft\:block.powder_snow.break=true +minecraft\:entity.camel.eat=true +tfc\:entity.wildebeest.death=true +minecraft\:entity.mule.death=true +minecraft\:entity.magma_cube.hurt_small=true +tfc\:entity.penguin.ambient=true +minecraft\:block.roots.hit=true +minecraft\:entity.sniffer.step=true +minecraft\:entity.player.attack.crit=true +minecraft\:entity.silverfish.death=true +minecraft\:entity.axolotl.splash=true +minecraft\:block.frogspawn.hatch=true +minecraft\:music.overworld.cherry_grove=true +create\:sanding_short=true +minecraft\:entity.camel.saddle=true +minecraft\:block.froglight.hit=true +etched\:ui.etching_table.take_result=true +minecraft\:block.nether_sprouts.place=true +minecraft\:block.fungus.place=true +minecraft\:block.gilded_blackstone.step=true +minecraft\:entity.piglin.retreat=true +minecraft\:entity.armor_stand.hit=true +minecraft\:ambient.basalt_deltas.loop=true +minecraft\:entity.skeleton_horse.step_water=true +minecraft\:music.menu=true +minecraft\:block.sculk_vein.place=true +create\:whistle_low=true +minecraft\:block.anvil.hit=true +minecraft\:entity.chicken.step=true +minecraft\:entity.cat.beg_for_food=true +minecraft\:block.wood.fall=true +minecraft\:entity.camel.hurt=true +minecraft\:entity.zombie.break_wooden_door=true +create\:mechanical_press_activation_belt_compounded_1=true +minecraft\:entity.goat.screaming.horn_break=true +tfc\:entity.dog.attack=true +minecraft\:entity.sniffer.digging_stop=true +minecraft\:ambient.warped_forest.mood=true +tfc\:entity.boar.death=true +exposure\:item.photograph.rustle=true +minecraft\:block.wood.place=true +minecraft\:block.anvil.land=true +tfc\:entity.peafowl.hurt=true +minecraft\:item.firecharge.use=true +minecraft\:entity.horse.jump=true +minecraft\:block.pointed_dripstone.drip_lava=true +tfc\:entity.bear.sleep=true +tfc\:entity.hyena.death=true +exposure\:item.camera.dial_click=true +minecraft\:entity.parrot.imitate.pillager=true +tfc\:entity.hyena.attack=true +minecraft\:entity.ravager.death=true +minecraft\:block.grindstone.use=true +minecraft\:entity.firework_rocket.twinkle_far=true +minecraft\:block.powder_snow.place=true +minecraft\:entity.illusioner.prepare_blindness=true +minecraft\:entity.camel.death=true +minecraft\:entity.llama.chest=true +tfc\:entity.turkey.step=true +minecraft\:block.ladder.fall=true +minecraft\:block.candle.step=true +minecraft\:block.coral_block.break=true +minecraft\:block.soul_sand.step=true +tfc\:entity.dog.hurt=true +tfc\:entity.smallmouth_bass.ambient=true +minecraft\:block.cherry_sapling.step=true +minecraft\:entity.evoker.prepare_summon=true +minecraft\:entity.armor_stand.fall=true +minecraft\:block.netherite_block.place=true +minecraft\:entity.turtle.ambient_land=true +minecraft\:block.bamboo_sapling.place=true +minecraft\:entity.piglin.admiring_item=true +minecraft\:block.calcite.fall=true +minecraft\:block.cherry_wood.break=true +minecraft\:entity.enderman.stare=true +tfc\:entity.boar.step=true +minecraft\:entity.generic.big_fall=true +minecraft\:block.cherry_leaves.hit=true +tfc\:entity.cougar.hurt=true +chalk\:item.glow_applied=true +minecraft\:entity.wandering_trader.no=true +minecraft\:block.wool.hit=true +minecraft\:entity.tadpole.flop=true +minecraft\:block.netherrack.place=true +minecraft\:block.ladder.step=true +minecraft\:block.candle.fall=true +tfc\:entity.bear.step=true +minecraft\:block.packed_mud.hit=true +minecraft\:entity.phantom.flap=true +minecraft\:item.hoe.till=true +minecraft\:block.tuff.step=true +minecraft\:block.cherry_sapling.fall=true +minecraft\:block.gilded_blackstone.fall=true +minecraft\:block.wart_block.step=true +minecraft\:entity.turtle.hurt=true +minecraft\:entity.dolphin.play=true +minecraft\:block.note_block.bit=true +minecraft\:block.sculk_sensor.fall=true +minecraft\:entity.villager.celebrate=true +minecraft\:block.lodestone.break=true +astikorcarts\:entity.cart.detach=true +minecraft\:block.basalt.step=true +minecraft\:entity.polar_bear.hurt=true +exposure\:item.photograph_frame.remove_item=true +minecraft\:entity.parrot.imitate.wither=true +gtceu\:jet_engine=true +minecraft\:entity.fox.screech=true +minecraft\:block.sculk_sensor.clicking_stop=true +minecraft\:entity.vex.death=true +tfc\:entity.tfc_wolf.ambient=true +minecraft\:entity.bee.loop=true +minecraft\:entity.vex.charge=true +minecraft\:block.beehive.work=true +gtceu\:cooling=true +createaddition\:little_zap=true +minecraft\:entity.skeleton_horse.jump_water=true +minecraft\:entity.zombie_villager.death=true +tfc\:item.javelin.hit=true +tfc\:block.thin.place=true +minecraft\:entity.horse.ambient=true +minecraft\:entity.villager.work_armorer=true +minecraft\:block.mud_bricks.fall=true +minecraft\:entity.phantom.death=true +minecraft\:block.tripwire.detach=true +minecraft\:block.deepslate.place=true +tfc\:block.charcoal.place=true +tfc\:entity.jellyfish.hurt=true +minecraft\:entity.ender_dragon.death=true +minecraft\:block.sand.hit=true +minecraft\:entity.leash_knot.place=true +minecraft\:entity.strider.retreat=true +minecraft\:entity.cow.step=true +minecraft\:entity.allay.item_taken=true +minecraft\:block.note_block.imitate.zombie=true +minecraft\:entity.mooshroom.convert=true +minecraft\:entity.warden.death=true +minecraft\:block.sculk_sensor.step=true +tfc\:entity.cougar.ambient=true +minecraft\:item.armor.equip_leather=true +minecraft\:block.bell.resonate=true +minecraft\:entity.mooshroom.milk=true +minecraft\:block.dispenser.fail=true +minecraft\:entity.endermite.death=true +minecraft\:entity.goat.screaming.prepare_ram=true +minecraft\:block.nether_sprouts.break=true +minecraft\:block.respawn_anchor.ambient=true +gtceu\:drill=true +chalk\:ambient.glowing=true +astikorcarts\:entity.cart.place=true +minecraft\:item.crossbow.shoot=true +minecraft\:entity.bee.sting=true +minecraft\:block.deepslate.break=true +minecraft\:block.chest.open=true +minecraft\:block.netherite_block.break=true +minecraft\:block.note_block.cow_bell=true +minecraft\:block.iron_door.open=true +minecraft\:block.fungus.break=true +gtceu\:motor=true +tfc\:block.thin.break=true +minecraft\:entity.strider.happy=true +gtceu\:turbine=true +tfc\:entity.alpaca.hurt=true +minecraft\:ambient.soul_sand_valley.additions=true +minecraft\:block.slime_block.place=true +tfc\:item.knapping.leather=true +minecraft\:block.sculk_vein.break=true +minecraft\:block.fire.ambient=true +minecraft\:block.wooden_trapdoor.open=true +gtceu\:spray_can=true +minecraft\:entity.ravager.stunned=true +minecraft\:block.nether_wood.fall=true +minecraft\:entity.fox.aggro=true +minecraft\:entity.player.levelup=true +minecraft\:entity.dolphin.hurt=true +exposure\:item.camera.lens_insert=true +minecraft\:entity.glow_item_frame.place=true +minecraft\:entity.player.small_fall=true +tfc\:block.charcoal.fall=true +minecraft\:entity.skeleton.step=true +minecraft\:music_disc.13=true +minecraft\:entity.bee.death=true +minecraft\:entity.parrot.imitate.wither_skeleton=true +minecraft\:music_disc.11=true +minecraft\:block.wart_block.hit=true +minecraft\:block.wet_grass.step=true +minecraft\:entity.pillager.ambient=true +minecraft\:entity.experience_bottle.throw=true +minecraft\:entity.wither_skeleton.ambient=true +minecraft\:item.trident.riptide_3=true +minecraft\:item.trident.riptide_2=true +minecraft\:block.calcite.break=true +minecraft\:block.pointed_dripstone.fall=true +minecraft\:entity.piglin_brute.hurt=true +minecraft\:block.nether_gold_ore.fall=true +minecraft\:entity.fox.eat=true +minecraft\:block.azalea.break=true +minecraft\:entity.armor_stand.place=true +minecraft\:item.trident.riptide_1=true +minecraft\:block.wet_grass.fall=true +minecraft\:block.mud_bricks.step=true +minecraft\:entity.pig.hurt=true +minecraft\:block.bamboo_wood_hanging_sign.fall=true +minecraft\:entity.wolf.pant=true +minecraft\:block.sweet_berry_bush.place=true +minecraft\:entity.parrot.imitate.endermite=true +minecraft\:block.tuff.fall=true +minecraft\:block.ancient_debris.hit=true +gtceu\:mixer=true +minecraft\:block.netherite_block.step=true +minecraft\:entity.frog.death=true +minecraft\:entity.endermite.hurt=true +minecraft\:block.deepslate.hit=true +minecraft\:entity.evoker.prepare_wololo=true +minecraft\:entity.warden.sniff=true +tfc\:entity.gazelle.hurt=true +tfc\:entity.rainbow_trout.flop=true +minecraft\:entity.polar_bear.ambient_baby=true +tfc\:item.armor.equip_black_steel=true +minecraft\:block.sculk.hit=true +minecraft\:block.gravel.place=true +minecraft\:block.deepslate_bricks.break=true +tfc\:block.charcoal.step=true +minecraft\:entity.warden.nearby_closer=true +minecraft\:entity.wolf.shake=true +minecraft\:entity.firework_rocket.launch=true +minecraft\:block.basalt.break=true +tfc\:entity.rat.step=true +minecraft\:block.hanging_roots.fall=true +minecraft\:block.ender_chest.open=true +minecraft\:entity.piglin.jealous=true +create\:controller_take=true +minecraft\:block.sculk_sensor.hit=true +minecraft\:entity.camel.step_sand=true +tfc\:entity.quail.ambient=true +minecraft\:block.bamboo_wood.break=true +minecraft\:entity.parrot.imitate.ender_dragon=true +minecraft\:block.dispenser.dispense=true +minecraft\:block.sculk.fall=true +minecraft\:block.water.ambient=true +minecraft\:entity.donkey.eat=true +minecraft\:item.bucket.empty_tadpole=true +minecraft\:block.moss_carpet.hit=true +minecraft\:ambient.underwater.enter=true +minecraft\:entity.puffer_fish.hurt=true +minecraft\:entity.piglin.celebrate=true +minecraft\:entity.husk.ambient=true +gtceu\:combustion=true +tfc\:entity.dog.sleep=true +minecraft\:entity.guardian.death=true +minecraft\:entity.stray.step=true +minecraft\:entity.shulker.death=true +minecraft\:entity.camel.dash_ready=true +minecraft\:entity.iron_golem.repair=true +minecraft\:block.large_amethyst_bud.break=true +minecraft\:block.shulker_box.close=true +minecraft\:block.deepslate_bricks.place=true +minecraft\:entity.guardian.flop=true +minecraft\:entity.piglin_brute.ambient=true +minecraft\:entity.chicken.death=true +minecraft\:entity.glow_item_frame.remove_item=true +minecraft\:entity.salmon.hurt=true +minecraft\:entity.spider.death=true +create\:clipboard_erase=true +minecraft\:entity.turtle.shamble_baby=true +create\:mixing=true +create\:confirm=true +minecraft\:ui.button.click=true +tfc\:entity.boar.ambient=true +tfc\:entity.bluegill.hurt=true +minecraft\:entity.generic.death=true +minecraft\:block.bamboo_wood_button.click_off=true +minecraft\:block.sculk_vein.fall=true +minecraft\:entity.hoglin.retreat=true +minecraft\:block.wooden_trapdoor.close=true +minecraft\:block.roots.fall=true +minecraft\:block.shroomlight.hit=true +minecraft\:block.flowering_azalea.break=true +tfc\:entity.tfc_wolf.death=true +minecraft\:block.nether_wood.step=true +tfc\:entity.rooster.cry=true +tfc\:entity.bongo.ambient=true +minecraft\:block.sculk_shrieker.hit=true +minecraft\:block.honey_block.fall=true +minecraft\:block.hanging_roots.hit=true +gtceu\:wrench=true +minecraft\:block.moss_carpet.fall=true +minecraft\:item.trident.throw=true +minecraft\:entity.armor_stand.break=true +minecraft\:entity.goat.prepare_ram=true +tfc\:entity.turkey.ambient=true +minecraft\:entity.player.attack.nodamage=true +minecraft\:entity.cow.milk=true +minecraft\:entity.hoglin.ambient=true +minecraft\:entity.llama.ambient=true +minecraft\:block.nylium.fall=true +minecraft\:block.sculk.step=true +minecraft\:entity.strider.step_lava=true +minecraft\:block.sweet_berry_bush.break=true +minecraft\:block.calcite.place=true +minecraft\:entity.snow_golem.ambient=true +tfc\:entity.rainbow_trout.death=true +minecraft\:block.metal.step=true +minecraft\:entity.donkey.angry=true +gtceu\:replicator=true +tfc\:entity.bluegill.ambient=true +minecraft\:ui.toast.in=true +minecraft\:block.wart_block.fall=true +minecraft\:block.slime_block.break=true +minecraft\:entity.enderman.ambient=true +minecraft\:item.crossbow.loading_start=true +minecraft\:entity.shulker.shoot=true +minecraft\:entity.drowned.swim=true +minecraft\:block.wet_grass.break=true +minecraft\:block.note_block.bass=true +tfc\:entity.lion.hurt=true +minecraft\:block.stem.hit=true +minecraft\:entity.parrot.imitate.ghast=true +minecraft\:block.honey_block.step=true +tfc\:entity.bongo.death=true +minecraft\:entity.squid.ambient=true +minecraft\:entity.strider.ambient=true +minecraft\:entity.ghast.ambient=true +exposure\:item.camera.generic_click=true +chalk\:block.mark_removed=true +minecraft\:ambient.underwater.loop=true +tfc\:entity.lake_trout.flop=true +minecraft\:block.respawn_anchor.set_spawn=true +minecraft\:block.wooden_pressure_plate.click_off=true +minecraft\:entity.experience_orb.pickup=true +minecraft\:entity.villager.work_fisherman=true +minecraft\:block.hanging_roots.step=true +minecraft\:entity.skeleton.ambient=true +minecraft\:music.overworld.forest=true +minecraft\:item.trident.return=true +minecraft\:entity.turtle.egg_crack=true +minecraft\:block.gilded_blackstone.break=true +tfc\:entity.pheasant.step=true +minecraft\:entity.magma_cube.jump=true +tfc\:entity.duck.step=true +minecraft\:block.mud.step=true +minecraft\:block.end_portal_frame.fill=true +create\:cranking_compounded_1=true +minecraft\:item.elytra.flying=true +minecraft\:entity.goat.screaming.ram_impact=true +minecraft\:block.lava.ambient=true +minecraft\:entity.rabbit.death=true +fallingtrees\:tree_fall=true +minecraft\:entity.camel.stand=true +minecraft\:block.cake.add_candle=true +minecraft\:block.slime_block.step=true +minecraft\:block.nether_gold_ore.step=true +create\:crushing_3=true +create\:crushing_2=true +minecraft\:entity.spider.ambient=true +create\:crushing_1=true +minecraft\:block.nether_wood_door.close=true +minecraft\:block.bamboo_wood.place=true +exposure\:block.lightroom.print=true +minecraft\:block.fungus.step=true +create\:whistle_train_low=true +minecraft\:entity.horse.breathe=true +tfc\:entity.tiger.death=true +minecraft\:entity.tropical_fish.death=true +minecraft\:block.moss_carpet.step=true +minecraft\:block.note_block.chime=true +minecraft\:entity.cow.death=true +minecraft\:ambient.crimson_forest.mood=true +minecraft\:ambient.underwater.loop.additions=true +minecraft\:block.bamboo_wood_hanging_sign.hit=true +minecraft\:entity.skeleton_horse.ambient_water=true +minecraft\:entity.hostile.death=true +minecraft\:block.chain.hit=true +minecraft\:entity.warden.roar=true +minecraft\:block.flowering_azalea.place=true +tfc\:entity.sabertooth.step=true +minecraft\:block.mud.hit=true +minecraft\:entity.minecart.inside.underwater=true +minecraft\:entity.strider.hurt=true +tfc\:item.armor.equip_bismuth_bronze=true +create\:chiff=true +minecraft\:entity.evoker.prepare_attack=true +minecraft\:block.note_block.imitate.wither_skeleton=true +minecraft\:item.bundle.drop_contents=true +minecraft\:entity.horse.angry=true +minecraft\:entity.zoglin.ambient=true +minecraft\:block.stone.hit=true +exposure\:item.camera.shutter_close=true +minecraft\:block.nylium.step=true +minecraft\:block.soul_sand.fall=true +create\:mechanical_press_activation_belt=true +minecraft\:entity.strider.saddle=true +minecraft\:entity.zombie_horse.hurt=true +minecraft\:entity.cod.ambient=true +minecraft\:entity.player.hurt_freeze=true +minecraft\:block.enchantment_table.use=true +minecraft\:block.bell.use=true +minecraft\:entity.frog.long_jump=true +minecraft\:entity.hostile.splash=true +minecraft\:block.large_amethyst_bud.place=true +minecraft\:block.weeping_vines.break=true +minecraft\:block.wood.step=true +minecraft\:block.wet_grass.place=true +minecraft\:entity.goat.screaming.hurt=true +minecraft\:item.bucket.fill_tadpole=true +minecraft\:block.bamboo_wood_hanging_sign.step=true +minecraft\:block.note_block.guitar=true +minecraft\:item.bottle.fill_dragonbreath=true +minecraft\:entity.rabbit.hurt=true +minecraft\:entity.wandering_trader.reappeared=true +create\:haunted_bell_convert=true +minecraft\:item.honey_bottle.drink=true +minecraft\:entity.turtle.death=true +minecraft\:entity.pig.saddle=true +minecraft\:entity.parrot.imitate.guardian=true +minecraft\:entity.tadpole.death=true +minecraft\:entity.fox.ambient=true +minecraft\:entity.villager.work_farmer=true +tfc\:item.pan.use=true +minecraft\:block.roots.step=true +minecraft\:block.fungus.hit=true +gtceu\:electrolyzer=true +minecraft\:entity.villager.work_shepherd=true +minecraft\:entity.player.hurt_sweet_berry_bush=true +minecraft\:block.sculk_vein.step=true +minecraft\:block.pointed_dripstone.place=true +minecraft\:block.slime_block.fall=true +minecraft\:block.decorated_pot.place=true +minecraft\:entity.fishing_bobber.retrieve=true +minecraft\:entity.axolotl.idle_water=true +minecraft\:music.overworld.grove=true +minecraft\:block.weeping_vines.place=true +minecraft\:block.note_block.didgeridoo=true +tfc\:entity.penguin.hurt=true +tfc\:entity.tiger.attack=true +minecraft\:entity.wandering_trader.trade=true +create\:whistle_train_manual_low=true +minecraft\:block.nether_ore.hit=true +minecraft\:entity.vex.hurt=true +minecraft\:block.fence_gate.open=true +minecraft\:block.sweet_berry_bush.pick_berries=true +minecraft\:entity.ender_dragon.ambient=true +minecraft\:block.stone.break=true +tfc\:entity.moose.hurt=true +minecraft\:block.sniffer_egg.plop=true +minecraft\:entity.ravager.celebrate=true +minecraft\:block.chain.step=true +minecraft\:block.suspicious_gravel.break=true +minecraft\:block.mud.fall=true +minecraft\:block.lava.pop=true +exposure\:item.camera.film_advance_last=true +exposure\:item.camera.film_advance=true +tfc\:entity.lake_trout.hurt=true +minecraft\:entity.item_frame.break=true +minecraft\:block.amethyst_block.hit=true +minecraft\:block.beacon.ambient=true +create\:saw_activate_wood=true +minecraft\:entity.guardian.hurt_land=true +tfc\:block.wattle.daubed=true +minecraft\:entity.fox.hurt=true +minecraft\:entity.panda.death=true +create\:peculiar_bell_use=true +minecraft\:item.totem.use=true +minecraft\:entity.fishing_bobber.splash=true +minecraft\:music_disc.wait=true +minecraft\:ambient.underwater.loop.additions.ultra_rare=true +gtceu\:arc=true +minecraft\:block.honey_block.slide=true +minecraft\:block.nether_ore.fall=true +minecraft\:entity.skeleton_horse.ambient=true +minecraft\:block.soul_soil.place=true +tfc\:entity.bear.hurt=true +create\:potato_hit=true +tfc\:entity.musk_ox.step=true +minecraft\:block.wooden_button.click_on=true +minecraft\:block.shroomlight.break=true +minecraft\:entity.squid.hurt=true +minecraft\:block.rooted_dirt.hit=true +minecraft\:block.cherry_wood_trapdoor.open=true +minecraft\:block.roots.place=true +minecraft\:block.mud.break=true +minecraft\:entity.arrow.hit_player=true +minecraft\:block.mud.place=true +minecraft\:block.muddy_mangrove_roots.fall=true +minecraft\:entity.illusioner.death=true +minecraft\:entity.shulker.hurt_closed=true +minecraft\:entity.silverfish.hurt=true +minecraft\:item.spyglass.use=true +minecraft\:entity.parrot.imitate.hoglin=true +exposure\:item.camera.flash=true +tfc\:entity.ramming.impact=true +tfc\:entity.moose.attack=true +minecraft\:entity.iron_golem.step=true +minecraft\:block.blastfurnace.fire_crackle=true +minecraft\:block.chain.fall=true +tfc\:entity.rainbow_trout.ambient=true +minecraft\:block.honey_block.hit=true +minecraft\:entity.magma_cube.death_small=true +minecraft\:entity.fox.teleport=true +minecraft\:entity.phantom.hurt=true +minecraft\:block.candle.hit=true +minecraft\:block.portal.travel=true +minecraft\:item.brush.brushing.gravel.complete=true +create\:saw_activate_stone=true +minecraft\:entity.goat.screaming.eat=true +minecraft\:entity.allay.ambient_with_item=true +minecraft\:music_disc.otherside=true +minecraft\:entity.slime.death=true +tfc\:entity.manatee.ambient=true +tfc\:entity.turkey.death=true +minecraft\:entity.skeleton.hurt=true +minecraft\:block.moss_carpet.place=true +minecraft\:block.nether_wood_door.open=true +playerrevive\:death=true +minecraft\:block.big_dripleaf.step=true +minecraft\:block.bamboo.hit=true +tfc\:entity.caribou.death=true +minecraft\:block.bamboo_wood_pressure_plate.click_off=true +minecraft\:item.trident.hit_ground=true +minecraft\:item.brush.brushing.gravel=true +minecraft\:block.portal.ambient=true +minecraft\:block.snow.place=true +minecraft\:entity.stray.hurt=true +minecraft\:music_disc.blocks=true +minecraft\:entity.ender_dragon.hurt=true +minecraft\:entity.glow_squid.ambient=true +minecraft\:item.honeycomb.wax_on=true +minecraft\:entity.wither.break_block=true +minecraft\:entity.sniffer.sniffing=true +minecraft\:block.ender_chest.close=true +tfc\:item.armor.equip_wrought_iron=true +minecraft\:entity.witch.ambient=true +minecraft\:block.respawn_anchor.deplete=true +minecraft\:block.candle.break=true +minecraft\:block.spore_blossom.break=true +minecraft\:block.amethyst_block.place=true +minecraft\:item.armor.equip_diamond=true +minecraft\:block.nether_wood.place=true +minecraft\:block.pointed_dripstone.drip_water=true +minecraft\:entity.blaze.shoot=true +minecraft\:block.nether_gold_ore.break=true +minecraft\:entity.sheep.shear=true +minecraft\:entity.ender_pearl.throw=true +minecraft\:block.beacon.activate=true +minecraft\:block.tuff.break=true +minecraft\:entity.turtle.egg_hatch=true +minecraft\:block.redstone_torch.burnout=true +minecraft\:intentionally_empty=true +minecraft\:entity.zombified_piglin.angry=true +gtceu\:furnace=true +minecraft\:block.fungus.fall=true +minecraft\:block.moss.step=true +minecraft\:block.dispenser.launch=true +minecraft\:entity.cat.hiss=true +minecraft\:block.nether_wart.break=true +minecraft\:entity.goat.long_jump=true +minecraft\:entity.ravager.roar=true +minecraft\:block.note_block.imitate.ender_dragon=true +create\:sanding_long=true +minecraft\:entity.blaze.hurt=true +firmalife\:item.hollow_shell.blow=true +minecraft\:block.sniffer_egg.crack=true +minecraft\:entity.endermite.ambient=true +minecraft\:block.ancient_debris.step=true +minecraft\:entity.panda.bite=true +minecraft\:entity.parrot.imitate.silverfish=true +create\:slime_added=true +minecraft\:block.polished_deepslate.step=true +minecraft\:block.bamboo_wood.fall=true +minecraft\:entity.wandering_trader.hurt=true +minecraft\:entity.dolphin.ambient_water=true +tfc\:entity.turkey.hurt=true +railways\:handcar_cogs=true +cccbridge\:cage_unlock=true +minecraft\:entity.bat.death=true +minecraft\:item.bottle.fill=true +tfc\:entity.moose.ambient=true +minecraft\:entity.piglin.converted_to_zombified=true +minecraft\:entity.arrow.shoot=true +minecraft\:ambient.warped_forest.additions=true +minecraft\:block.nether_ore.step=true +minecraft\:entity.strider.step=true +minecraft\:entity.goat.death=true +minecraft\:entity.panda.aggressive_ambient=true +minecraft\:block.big_dripleaf.hit=true +minecraft\:entity.husk.converted_to_zombie=true +minecraft\:entity.villager.work_cleric=true +minecraft\:block.bubble_column.bubble_pop=true +minecraft\:entity.phantom.swoop=true +minecraft\:entity.piglin_brute.death=true +minecraft\:entity.llama.death=true +minecraft\:entity.piglin.hurt=true +minecraft\:entity.parrot.imitate.phantom=true +minecraft\:music.overworld.lush_caves=true +tfc\:entity.jellyfish.ambient=true +minecraft\:entity.boat.paddle_land=true +minecraft\:entity.frog.tongue=true +minecraft\:music_disc.ward=true +minecraft\:entity.fox.sniff=true +minecraft\:entity.wither_skeleton.hurt=true +minecraft\:block.azalea_leaves.fall=true +minecraft\:entity.wither_skeleton.step=true +minecraft\:entity.drowned.hurt_water=true +gtceu\:wirecutter=true +minecraft\:block.tuff.hit=true +minecraft\:entity.sheep.hurt=true +tfc\:entity.crappie.death=true +minecraft\:block.metal.fall=true +minecraft\:block.netherite_block.fall=true +minecraft\:entity.pig.step=true +minecraft\:entity.villager.yes=true +minecraft\:music.nether.soul_sand_valley=true +minecraft\:entity.ender_dragon.growl=true +minecraft\:entity.vindicator.hurt=true +create\:blaze_munch=true +minecraft\:entity.llama.swag=true +minecraft\:block.small_dripleaf.break=true +create_connected\:elevator_music=true +minecraft\:entity.villager.work_toolsmith=true +minecraft\:item.bucket.fill_fish=true +minecraft\:block.moss_carpet.break=true +minecraft\:block.bamboo_sapling.hit=true +tfc\:entity.moose.death=true +minecraft\:block.nether_wood_hanging_sign.break=true +minecraft\:block.spore_blossom.place=true +minecraft\:entity.enderman.scream=true +minecraft\:block.soul_sand.hit=true +exposure\:item.photograph.break=true +minecraft\:entity.parrot.imitate.warden=true +minecraft\:entity.minecart.riding=true +minecraft\:block.tuff.place=true +minecraft\:block.soul_soil.break=true +minecraft\:entity.illusioner.prepare_mirror=true +minecraft\:entity.elder_guardian.death=true +create\:mechanical_press_activation_compounded_1=true +minecraft\:block.ladder.hit=true +minecraft\:entity.polar_bear.warning=true +minecraft\:block.amethyst_block.break=true +minecraft\:entity.piglin_brute.converted_to_zombified=true +minecraft\:entity.parrot.imitate.magma_cube=true +minecraft\:block.small_dripleaf.place=true +minecraft\:entity.cat.purreow=true +minecraft\:block.beacon.deactivate=true +minecraft\:music_disc.pigstep=true +tfc\:entity.dog.step=true +minecraft\:entity.parrot.imitate.elder_guardian=true +playerrevive\:revived=true +minecraft\:block.conduit.attack.target=true +minecraft\:music.overworld.flower_forest=true +minecraft\:entity.arrow.hit=true +tfc\:entity.quail.hurt=true +minecraft\:item.ink_sac.use=true +minecraft\:entity.witch.death=true +minecraft\:entity.squid.death=true +minecraft\:block.gilded_blackstone.hit=true +tfc\:entity.yak.hurt=true +minecraft\:entity.sheep.ambient=true +minecraft\:block.bone_block.place=true +minecraft\:entity.cow.ambient=true +minecraft\:entity.tropical_fish.flop=true +minecraft\:block.frogspawn.place=true +minecraft\:entity.snow_golem.shear=true +minecraft\:block.azalea_leaves.step=true +minecraft\:entity.panda.ambient=true +minecraft\:block.polished_deepslate.fall=true +minecraft\:item.armor.equip_chain=true +minecraft\:entity.dolphin.ambient=true +minecraft\:entity.parrot.imitate.zombie=true +minecraft\:block.snow.break=true +minecraft\:block.lily_pad.place=true +gtceu\:compressor=true +tfc\:entity.wildebeest.hurt=true +minecraft\:entity.zombie_villager.hurt=true +minecraft\:item.bucket.empty_milk=true +minecraft\:entity.dolphin.eat=true +minecraft\:entity.evoker.hurt=true +tfc\:entity.sabertooth.ambient=true +minecraft\:block.gravel.hit=true +minecraft\:item.bucket.fill_lava=true +minecraft\:entity.magma_cube.squish_small=true +minecraft\:entity.bee.pollinate=true +minecraft\:entity.ocelot.hurt=true +minecraft\:block.sand.place=true +gtceu\:portal_closing=true +minecraft\:entity.generic.small_fall=true +minecraft\:block.chiseled_bookshelf.hit=true +tfc\:entity.deer.step=true +tfc\:entity.wildebeest.attack=true +minecraft\:block.chain.break=true +gtceu\:assembler=true +minecraft\:entity.ravager.hurt=true +minecraft\:block.weeping_vines.fall=true +minecraft\:block.soul_soil.step=true +minecraft\:block.bamboo_wood_hanging_sign.break=true +minecraft\:block.wooden_button.click_off=true +minecraft\:entity.wandering_trader.death=true +minecraft\:entity.warden.dig=true +minecraft\:entity.guardian.attack=true +minecraft\:entity.bee.loop_aggressive=true +minecraft\:block.scaffolding.hit=true +minecraft\:event.raid.horn=true +minecraft\:entity.goat.screaming.death=true +minecraft\:ambient.nether_wastes.mood=true +minecraft\:block.anvil.destroy=true +minecraft\:block.cherry_wood.place=true +minecraft\:block.bamboo_wood_button.click_on=true +minecraft\:block.hanging_roots.break=true +minecraft\:block.netherrack.break=true +minecraft\:block.respawn_anchor.charge=true +tfc\:block.bloomery.crackle=true +minecraft\:block.pink_petals.break=true +minecraft\:entity.piglin.death=true +minecraft\:entity.warden.listening_angry=true +minecraft\:entity.witch.hurt=true +minecraft\:entity.player.breath=true +minecraft\:entity.dolphin.swim=true +minecraft\:entity.stray.death=true +minecraft\:block.deepslate_tiles.step=true +minecraft\:block.wet_grass.hit=true +minecraft\:block.ancient_debris.fall=true +minecraft\:block.note_block.pling=true +minecraft\:entity.ghast.warn=true +minecraft\:entity.warden.heartbeat=true +minecraft\:entity.skeleton_horse.death=true +minecraft\:entity.sniffer.scenting=true +tfc\:entity.pheasant.hurt=true +minecraft\:entity.parrot.imitate.husk=true +minecraft\:block.spore_blossom.hit=true +minecraft\:entity.tadpole.grow_up=true +waterflasks\:item.flaskbreak=true +minecraft\:entity.axolotl.attack=true +minecraft\:entity.polar_bear.step=true +exposure\:item.photograph_frame.break=true +minecraft\:entity.turtle.hurt_baby=true +tfc\:entity.duck.ambient=true +minecraft\:entity.horse.land=true +tfc\:entity.bongo.step=true +minecraft\:entity.parrot.step=true +tfc\:entity.tiger.hurt=true +minecraft\:music.dragon=true +minecraft\:block.big_dripleaf.place=true +minecraft\:block.nether_sprouts.hit=true +gtceu\:centrifuge=true +minecraft\:block.lava.extinguish=true +minecraft\:block.basalt.fall=true +minecraft\:entity.player.big_fall=true +minecraft\:entity.villager.work_librarian=true +minecraft\:block.stone_button.click_off=true +minecraft\:block.dripstone_block.hit=true +minecraft\:entity.slime.hurt=true +minecraft\:block.end_gateway.spawn=true +minecraft\:entity.iron_golem.attack=true +tfc\:entity.peafowl.death=true +minecraft\:entity.chicken.egg=true +tfc\:entity.jellyfish.death=true +minecraft\:block.amethyst_cluster.hit=true +minecraft\:entity.zoglin.hurt=true +minecraft\:block.ladder.break=true +minecraft\:block.bubble_column.whirlpool_inside=true +minecraft\:entity.glow_item_frame.break=true +minecraft\:item.crossbow.hit=true +minecraft\:entity.elder_guardian.hurt_land=true +minecraft\:block.end_portal.spawn=true +minecraft\:music_disc.cat=true +minecraft\:music.overworld.snowy_slopes=true +minecraft\:block.bamboo_wood.step=true +minecraft\:entity.generic.burn=true +minecraft\:block.bubble_column.whirlpool_ambient=true +tfc\:block.quern.drag=true +minecraft\:block.composter.empty=true +minecraft\:block.sculk.break=true +tfc\:entity.boar.hurt=true +minecraft\:entity.zombie_villager.converted=true +minecraft\:block.chain.place=true +minecraft\:entity.shulker.teleport=true +tfc\:random.dirt_slide_short=true +minecraft\:entity.sniffer.happy=true +minecraft\:block.bone_block.break=true +minecraft\:item.glow_ink_sac.use=true +tfc\:entity.crappie.flop=true +minecraft\:entity.leash_knot.break=true +minecraft\:entity.zombie_villager.ambient=true +minecraft\:entity.enderman.death=true +minecraft\:block.froglight.break=true +create\:contraption_assemble=true +tfc\:block.anvil.hit=true +minecraft\:ambient.underwater.loop.additions.rare=true +minecraft\:block.calcite.step=true +minecraft\:entity.zoglin.attack=true +minecraft\:block.stone.fall=true +minecraft\:ui.loom.take_result=true +minecraft\:entity.puffer_fish.flop=true +minecraft\:block.big_dripleaf.tilt_down=true +minecraft\:entity.parrot.death=true +tfc\:entity.lion.death=true +minecraft\:block.hanging_roots.place=true +minecraft\:block.amethyst_block.fall=true +minecraft\:block.note_block.xylophone=true +minecraft\:entity.elder_guardian.ambient_land=true +minecraft\:entity.rabbit.ambient=true +tfc\:item.firestarter.use=true +minecraft\:entity.blaze.death=true +patchouli\:book_flip=true +minecraft\:block.beehive.exit=true +minecraft\:entity.vex.ambient=true +minecraft\:block.dripstone_block.break=true +minecraft\:block.coral_block.place=true +tfc\:block.scribing_table.use=true +exposure\:item.camera.button_click=true +createaddition\:tesla_coil=true +minecraft\:block.shroomlight.place=true +minecraft\:entity.guardian.ambient_land=true +minecraft\:block.coral_block.step=true +gtceu\:saw=true +minecraft\:entity.generic.eat=true +minecraft\:item.bucket.fill_milk=true +tfc\:block.barrel.open=true +minecraft\:block.weeping_vines.step=true +tfc\:entity.peafowl.ambient=true +minecraft\:block.moss.fall=true +tfc\:block.charcoal.hit=true +minecraft\:block.cherry_wood.hit=true +minecraft\:entity.axolotl.swim=true +minecraft\:block.slime_block.hit=true +minecraft\:entity.husk.step=true +minecraft\:entity.zombie.death=true +create\:contraption_disassemble=true +create\:wrench_rotate=true +minecraft\:entity.ender_dragon.shoot=true +minecraft\:block.sculk_catalyst.hit=true +minecraft\:entity.zombie.step=true +minecraft\:block.stone.place=true +tfc\:entity.crocodile.attack=true +minecraft\:entity.allay.item_given=true +minecraft\:entity.wolf.howl=true +minecraft\:entity.pig.ambient=true +tfc\:entity.smallmouth_bass.death=true +minecraft\:entity.iron_golem.death=true +tfc\:entity.caribou.hurt=true +minecraft\:block.nether_wood_trapdoor.close=true +minecraft\:entity.item_frame.place=true +minecraft\:music.overworld.jungle=true +minecraft\:block.chiseled_bookshelf.pickup=true +minecraft\:entity.item_frame.remove_item=true +tfc\:entity.rat.ambient=true +minecraft\:entity.warden.ambient=true +tfc\:entity.bluegill.flop=true +minecraft\:block.flowering_azalea.hit=true +minecraft\:block.nether_gold_ore.place=true +minecraft\:entity.iron_golem.damage=true +minecraft\:block.candle.place=true +minecraft\:block.beehive.enter=true +minecraft\:entity.elder_guardian.curse=true +minecraft\:entity.firework_rocket.blast=true +minecraft\:entity.wolf.whine=true +minecraft\:ambient.basalt_deltas.mood=true +gtceu\:boiler=true +minecraft\:block.coral_block.fall=true +minecraft\:block.stone.step=true +minecraft\:block.nether_wood.break=true +minecraft\:block.sculk.place=true +minecraft\:entity.llama.eat=true +tfc\:entity.smallmouth_bass.hurt=true +create\:mechanical_press_activation=true +minecraft\:entity.generic.splash=true +minecraft\:block.sculk_catalyst.place=true +minecraft\:entity.frog.ambient=true +minecraft\:entity.wolf.step=true +minecraft\:entity.slime.squish=true +minecraft\:block.sniffer_egg.hatch=true +minecraft\:block.froglight.place=true +minecraft\:entity.bat.loop=true +minecraft\:item.bucket.empty_fish=true +minecraft\:entity.goat.eat=true +minecraft\:entity.hoglin.step=true +minecraft\:entity.illusioner.hurt=true +minecraft\:entity.slime.death_small=true +minecraft\:entity.zombie.ambient=true +minecraft\:block.sand.break=true +minecraft\:block.amethyst_block.step=true +minecraft\:block.decorated_pot.break=true +minecraft\:entity.goat.hurt=true +minecraft\:entity.generic.extinguish_fire=true +minecraft\:block.metal.hit=true +minecraft\:entity.rabbit.attack=true +minecraft\:block.muddy_mangrove_roots.step=true +tfc\:item.cool=true +minecraft\:block.big_dripleaf.break=true +minecraft\:entity.guardian.ambient=true +minecraft\:block.tripwire.attach=true +exposure\:item.camera.release_button_click=true +tfc\:entity.grouse.death=true +minecraft\:block.suspicious_gravel.place=true +minecraft\:entity.goat.screaming.long_jump=true +minecraft\:block.ladder.place=true +minecraft\:block.dripstone_block.place=true +minecraft\:block.bamboo_wood_hanging_sign.place=true +minecraft\:entity.hostile.swim=true +tfc\:entity.tfc_wolf.hurt=true +minecraft\:block.nether_wood_fence_gate.open=true +minecraft\:entity.tnt.primed=true +minecraft\:block.soul_soil.fall=true +minecraft\:block.big_dripleaf.fall=true +minecraft\:entity.generic.swim=true +minecraft\:block.stone_button.click_on=true +minecraft\:entity.slime.squish_small=true +tfc\:entity.peafowl.step=true +minecraft\:entity.villager.work_cartographer=true +minecraft\:entity.warden.nearby_closest=true +minecraft\:block.fence_gate.close=true +minecraft\:entity.mule.ambient=true +tfc\:block.thin.hit=true +minecraft\:block.beehive.drip=true +minecraft\:block.campfire.crackle=true +minecraft\:block.comparator.click=true +minecraft\:block.metal_pressure_plate.click_off=true +minecraft\:item.armor.equip_iron=true +minecraft\:entity.panda.sneeze=true +minecraft\:entity.dolphin.jump=true +minecraft\:music_disc.relic=true +gtceu\:science=true +minecraft\:block.sculk_catalyst.fall=true +minecraft\:block.ancient_debris.break=true +minecraft\:item.nether_wart.plant=true +minecraft\:entity.fox.spit=true +minecraft\:block.chiseled_bookshelf.break=true +minecraft\:block.cherry_leaves.fall=true +minecraft\:block.azalea_leaves.break=true +minecraft\:entity.hostile.big_fall=true +minecraft\:entity.turtle.death_baby=true +minecraft\:entity.cod.death=true +minecraft\:entity.player.death=true +minecraft\:block.scaffolding.fall=true +minecraft\:block.lantern.fall=true +create\:cranking=true +minecraft\:entity.splash_potion.throw=true +cucumber\:watering_can=true +minecraft\:block.bone_block.step=true +minecraft\:entity.dolphin.splash=true +createaddition\:loud_zap=true +minecraft\:entity.wither.ambient=true +minecraft\:block.wart_block.place=true +minecraft\:entity.creeper.primed=true +minecraft\:entity.horse.eat=true +tfc\:random.rock_slide_short=true +minecraft\:block.copper.place=true +minecraft\:entity.elder_guardian.hurt=true +minecraft\:entity.polar_bear.ambient=true +minecraft\:block.nether_wood_button.click_off=true +minecraft\:block.chest.locked=true +tfc\:entity.duck.death=true +minecraft\:entity.frog.step=true +minecraft\:block.small_amethyst_bud.break=true +minecraft\:entity.wolf.ambient=true +minecraft\:block.cherry_wood.fall=true +minecraft\:block.nether_wood_pressure_plate.click_on=true +minecraft\:block.decorated_pot.fall=true +exposure\:item.photograph_frame.add_item=true +minecraft\:block.candle.extinguish=true +minecraft\:weather.rain=false +minecraft\:entity.phantom.ambient=true +minecraft\:entity.cat.death=true +tfc\:entity.rat.hurt=true +minecraft\:block.sand.step=true +minecraft\:entity.goat.screaming.ambient=true +minecraft\:entity.ender_dragon.flap=true +create\:whistle_train=true +tfc\:entity.caribou.ambient=true +create\:funnel_flap=true +minecraft\:block.conduit.deactivate=true +tfc\:block.thatch.fall=true +minecraft\:entity.generic.hurt=true +minecraft\:entity.puffer_fish.death=true +minecraft\:entity.turtle.egg_break=true +minecraft\:entity.elder_guardian.death_land=true +minecraft\:entity.magma_cube.death=true +tfc\:entity.lion.attack=true +minecraft\:item.spyglass.stop_using=true +minecraft\:entity.donkey.ambient=true +minecraft\:ui.loom.select_pattern=true +minecraft\:weather.rain.above=false +tfc\:entity.musk_ox.death=true +tfc\:entity.smallmouth_bass.flop=true +create\:wrench_remove_compounded_1=true +minecraft\:block.wooden_door.open=true +minecraft\:ambient.crimson_forest.loop=true +minecraft\:block.cherry_wood_button.click_on=true +gtceu\:sus=true +gtceu\:macerator=true +minecraft\:block.pumpkin.carve=true +tfc\:block.bellows.blow=true +minecraft\:block.vine.fall=true +minecraft\:block.cherry_wood_trapdoor.close=true +minecraft\:block.decorated_pot.step=true +minecraft\:item.shield.block=true +minecraft\:block.note_block.snare=true +minecraft\:block.copper.break=true +minecraft\:block.grass.break=true +minecraft\:block.metal.place=true +minecraft\:entity.allay.hurt=true +minecraft\:block.vine.hit=true +minecraft\:block.wart_block.break=true +minecraft\:entity.zombie_horse.ambient=true +minecraft\:block.nether_ore.place=true +minecraft\:block.sculk_catalyst.step=true +minecraft\:entity.horse.death=true +minecraft\:entity.parrot.imitate.ravager=true +tfc\:random.rock_slide_long_fake=true +minecraft\:entity.item.break=true +minecraft\:entity.wandering_trader.yes=true +minecraft\:entity.blaze.burn=true +tfc\:block.thatch.step=true +minecraft\:entity.mooshroom.suspicious_milk=true +minecraft\:entity.pig.death=true +minecraft\:entity.zombie.infect=true +tfc\:entity.cougar.sleep=true +minecraft\:block.sand.fall=true +minecraft\:item.bundle.remove_one=true +minecraft\:entity.hoglin.hurt=true +minecraft\:entity.horse.hurt=true +minecraft\:block.polished_deepslate.place=true +minecraft\:entity.creeper.death=true +minecraft\:block.honey_block.break=true +minecraft\:block.sculk_catalyst.break=true +minecraft\:entity.squid.squirt=true +minecraft\:entity.villager.work_leatherworker=true +minecraft\:block.stone_pressure_plate.click_on=true +minecraft\:ui.toast.challenge_complete=true +chalk\:item.chalk_box_open=true +minecraft\:entity.guardian.death_land=true +tfc\:item.jug.blow=true +minecraft\:block.pink_petals.place=true +minecraft\:block.cherry_wood_pressure_plate.click_off=true +minecraft\:entity.hoglin.converted_to_zombified=true +minecraft\:block.nether_wood_fence_gate.close=true +minecraft\:music_disc.stal=true +create\:mixing_compounded_1=true +minecraft\:block.sculk_vein.hit=true +tfc\:entity.rat.death=true +minecraft\:entity.firework_rocket.large_blast_far=true +minecraft\:entity.parrot.imitate.zoglin=true +minecraft\:entity.drowned.ambient_water=true +minecraft\:entity.fish.swim=true +minecraft\:entity.sniffer.drop_seed=true +minecraft\:entity.villager.ambient=true +tfc\:entity.crappie.hurt=true +cccbridge\:cage_lock=true +minecraft\:block.lantern.step=true +patchouli\:book_open=true +tfc\:entity.tiger.sleep=true +create\:whistle_high=true +minecraft\:block.note_block.harp=true +minecraft\:entity.parrot.imitate.shulker=true +minecraft\:entity.axolotl.death=true +exposure\:item.camera.lens_remove=true +exposure\:item.camera.viewfinder_open=true +minecraft\:entity.skeleton_horse.gallop_water=true +minecraft\:music_disc.mellohi=true +minecraft\:music.overworld.frozen_peaks=true +minecraft\:entity.drowned.ambient=true +minecraft\:entity.elder_guardian.ambient=true +minecraft\:block.nether_wood_hanging_sign.hit=true +exposure\:item.photograph_frame.place=true +minecraft\:block.rooted_dirt.place=true +tfc\:entity.rainbow_trout.hurt=true +minecraft\:block.vine.step=true +minecraft\:block.azalea_leaves.place=true +exposure\:item.camera.viewfinder_close=true +minecraft\:music.credits=true +minecraft\:entity.zombie.converted_to_drowned=true +minecraft\:block.note_block.flute=true +tfc\:entity.largemouth_bass.hurt=true +minecraft\:entity.zombified_piglin.ambient=true +minecraft\:entity.fox.death=true +minecraft\:block.bone_block.fall=true +minecraft\:item.crossbow.quick_charge_2=true +minecraft\:item.crossbow.quick_charge_1=true +minecraft\:entity.player.splash=true +minecraft\:block.amethyst_block.chime=true +minecraft\:entity.husk.death=true +minecraft\:music_disc.far=true +minecraft\:music.end=true +create\:potato_hit_compounded_1=true +minecraft\:item.bucket.empty_powder_snow=true +minecraft\:item.bucket.fill_powder_snow=true +minecraft\:block.scaffolding.step=true +minecraft\:entity.firework_rocket.large_blast=true +minecraft\:entity.panda.eat=true +minecraft\:item.crossbow.quick_charge_3=true +minecraft\:entity.wither_skeleton.death=true +minecraft\:ambient.cave=true +minecraft\:block.cave_vines.pick_berries=true +minecraft\:entity.spider.step=true +minecraft\:entity.illusioner.mirror_move=true +tfc\:item.fertilizer.use=true +minecraft\:block.pointed_dripstone.drip_lava_into_cauldron=true +create\:steam=true +minecraft\:entity.salmon.ambient=true +minecraft\:entity.slime.hurt_small=true +minecraft\:block.azalea.step=true +minecraft\:entity.wolf.death=true +minecraft\:entity.wandering_trader.disappeared=true +minecraft\:block.pointed_dripstone.land=true +minecraft\:block.small_amethyst_bud.place=true +minecraft\:entity.mule.angry=true +minecraft\:entity.husk.hurt=true +minecraft\:block.snow.hit=true +tfc\:entity.manatee.hurt=true +tfc\:entity.boar.attack=true +minecraft\:block.portal.trigger=true +minecraft\:entity.puffer_fish.sting=true +minecraft\:block.grass.hit=true +minecraft\:block.conduit.ambient=true +minecraft\:block.deepslate_tiles.fall=true +gtceu\:portable_scanner=true +minecraft\:block.stone_pressure_plate.click_off=true +minecraft\:block.bubble_column.upwards_inside=true +minecraft\:block.copper.hit=true +minecraft\:entity.parrot.hurt=true +minecraft\:entity.horse.gallop=true +create\:copper_armor_equip=true +minecraft\:entity.allay.item_thrown=true +minecraft\:entity.zombie_horse.death=true +minecraft\:block.grass.place=true +minecraft\:entity.evoker.ambient=true +tfc\:block.peat.hit=true +minecraft\:entity.zoglin.death=true +minecraft\:entity.parrot.imitate.slime=true +minecraft\:block.bamboo_wood_trapdoor.open=true +exposure\:item.camera.film_removed=true +minecraft\:block.cave_vines.hit=true +minecraft\:block.barrel.close=true +minecraft\:entity.chicken.ambient=true +minecraft\:entity.cat.hurt=true +tfc\:random.rock_smash=true +minecraft\:entity.guardian.hurt=true +minecraft\:entity.hoglin.angry=true +minecraft\:entity.ghast.death=true +minecraft\:music_disc.mall=true +minecraft\:entity.silverfish.step=true +tfc\:entity.duck.hurt=true +tfc\:entity.manatee.death=true +minecraft\:entity.turtle.shamble=true +minecraft\:entity.shulker_bullet.hurt=true +minecraft\:music.game=true +minecraft\:block.nether_ore.break=true +minecraft\:item.bucket.empty=true +minecraft\:block.calcite.hit=true +minecraft\:block.decorated_pot.shatter=true +minecraft\:block.sculk_shrieker.step=true +tfc\:entity.sabertooth.death=true +minecraft\:entity.snowball.throw=true +minecraft\:block.chorus_flower.grow=true +minecraft\:entity.hostile.small_fall=true +minecraft\:block.bubble_column.upwards_ambient=true +tfc\:entity.hyena.hurt=true +minecraft\:entity.hoglin.attack=true +minecraft\:entity.warden.nearby_close=true +minecraft\:block.cave_vines.place=true +minecraft\:block.nylium.hit=true +minecraft\:item.bucket.empty_lava=true +tfc\:entity.caribou.step=true +minecraft\:block.azalea.fall=true +ae2\:guide.click=true +tfc\:item.armor.equip_blue_steel=true +minecraft\:block.nether_wood_hanging_sign.step=true +minecraft\:block.nether_wood_hanging_sign.place=true +minecraft\:entity.player.burp=true +minecraft\:block.cherry_wood_button.click_off=true +create\:schematicannon_launch_block=true +minecraft\:block.bamboo_wood_trapdoor.close=true +minecraft\:entity.item.pickup=true +minecraft\:entity.villager.work_butcher=true +minecraft\:entity.player.attack.knockback=true +exposure\:item.photograph.place=true +minecraft\:block.bamboo.step=true +minecraft\:block.stem.place=true +minecraft\:block.cherry_wood_hanging_sign.step=true +minecraft\:block.amethyst_cluster.break=true +minecraft\:block.glass.place=true +minecraft\:item.armor.equip_elytra=true +minecraft\:entity.cat.stray_ambient=true +minecraft\:block.small_dripleaf.step=true +minecraft\:entity.strider.eat=true +minecraft\:entity.player.hurt_drown=true +gtceu\:fire=true +exposure\:item.camera.lens_ring_click=true +minecraft\:block.growing_plant.crop=true +minecraft\:entity.lingering_potion.throw=true +minecraft\:block.cherry_sapling.hit=true +minecraft\:block.deepslate_bricks.fall=true +minecraft\:entity.zombie.attack_iron_door=true +minecraft\:entity.camel.ambient=true +minecraft\:entity.ghast.shoot=true +minecraft\:music.overworld.stony_peaks=true +minecraft\:block.cherry_leaves.place=true +minecraft\:block.bamboo.fall=true +minecraft\:block.composter.fill_success=true +minecraft\:ambient.nether_wastes.loop=true +minecraft\:entity.turtle.swim=true +minecraft\:music.under_water=true +gtceu\:portal_opening=true +minecraft\:entity.glow_squid.squirt=true +minecraft\:music.overworld.meadow=true +minecraft\:entity.player.attack.sweep=true +tfc\:entity.grouse.step=true +minecraft\:block.soul_soil.hit=true +minecraft\:block.tripwire.click_on=true +minecraft\:entity.evoker.death=true +minecraft\:entity.goat.ambient=true +minecraft\:item.dye.use=true +minecraft\:entity.sniffer.hurt=true +minecraft\:block.dripstone_block.fall=true +minecraft\:block.glass.break=true +minecraft\:block.note_block.hat=true +gtceu\:file=true +minecraft\:block.cherry_leaves.break=true +minecraft\:entity.bat.ambient=true +minecraft\:block.flowering_azalea.step=true +minecraft\:item.armor.equip_turtle=true +minecraft\:entity.skeleton_horse.swim=true +minecraft\:block.mangrove_roots.place=true +minecraft\:entity.drowned.hurt=true +minecraft\:entity.player.swim=true +tfc\:item.armor.equip_bronze=true +minecraft\:entity.bat.takeoff=true +minecraft\:entity.parrot.imitate.zombie_villager=true +minecraft\:entity.painting.break=true +tfc\:item.armor.equip_red_steel=true +minecraft\:block.anvil.fall=true +minecraft\:block.hanging_sign.hit=true +alekiships\:music_disc_pirate_crafting=true +minecraft\:entity.warden.angry=true +exposure\:item.camera.filter_remove=true +minecraft\:entity.cow.hurt=true +minecraft\:entity.mooshroom.eat=true +minecraft\:block.chiseled_bookshelf.insert=true +tfc\:entity.largemouth_bass.ambient=true +minecraft\:block.sculk_shrieker.fall=true +minecraft\:block.iron_trapdoor.close=true +minecraft\:block.suspicious_gravel.step=true +minecraft\:entity.parrot.imitate.spider=true +minecraft\:block.sculk_shrieker.shriek=true +minecraft\:block.chest.close=true +minecraft\:entity.dolphin.attack=true +minecraft\:block.frogspawn.break=true +create\:train=true +minecraft\:entity.parrot.eat=true +minecraft\:item.bone_meal.use=true +minecraft\:block.small_dripleaf.fall=true +minecraft\:entity.vindicator.celebrate=true +minecraft\:entity.ocelot.ambient=true +minecraft\:entity.shulker.hurt=true +minecraft\:music.overworld.badlands=true +minecraft\:block.cave_vines.break=true +minecraft\:entity.player.attack.weak=true +gtceu\:plunger=true +minecraft\:entity.firework_rocket.shoot=true +minecraft\:block.deepslate_bricks.step=true +create\:funnel_flap_compounded_1=true +minecraft\:block.cherry_wood_hanging_sign.fall=true +gtceu\:computation=true +minecraft\:entity.lightning_bolt.thunder=false +minecraft\:entity.parrot.ambient=true +tfc\:entity.yak.death=true +minecraft\:block.cherry_wood.step=true +minecraft\:block.stem.break=true +minecraft\:entity.villager.death=true +minecraft\:block.suspicious_gravel.fall=true +minecraft\:block.amethyst_cluster.place=true +exposure\:item.camera.shutter_open=true +minecraft\:entity.villager.trade=true +minecraft\:entity.drowned.death_water=true +minecraft\:entity.cat.purr=true +minecraft\:block.conduit.ambient.short=true +minecraft\:block.piston.contract=true +tfc\:block.wattle.dyed=true +minecraft\:block.sculk_sensor.place=true +tfc\:entity.pheasant.ambient=true +minecraft\:entity.splash_potion.break=true +minecraft\:block.cherry_wood_pressure_plate.click_on=true +minecraft\:entity.item_frame.add_item=true +minecraft\:block.dripstone_block.step=true +minecraft\:entity.zombie_villager.step=true +tfc\:entity.tiger.step=true +minecraft\:block.glass.fall=true +minecraft\:block.lodestone.step=true +tfc\:entity.alpaca.step=true +minecraft\:entity.parrot.imitate.piglin=true +tfc\:entity.wildebeest.step=true +minecraft\:block.fire.extinguish=true +tfc\:entity.gazelle.ambient=true +gtceu\:metal_pipe=true +minecraft\:entity.panda.step=true +minecraft\:entity.player.hurt_on_fire=true +fallingtrees\:tree_impact=true +minecraft\:block.mud_bricks.place=true +tfc\:entity.moose.step=true +minecraft\:entity.tropical_fish.ambient=true +minecraft\:entity.sniffer.death=true +minecraft\:block.packed_mud.break=true +tfc\:item.javelin.hit_ground=true +minecraft\:entity.puffer_fish.blow_out=true +minecraft\:block.nether_wood_hanging_sign.fall=true +minecraft\:entity.parrot.imitate.vex=true +minecraft\:entity.fox.bite=true +minecraft\:ambient.warped_forest.loop=true +minecraft\:block.flowering_azalea.fall=true +minecraft\:block.sculk.spread=true +minecraft\:entity.camel.step=true +minecraft\:block.metal.break=true +create\:whistle_train_manual=true +minecraft\:ambient.crimson_forest.additions=true +minecraft\:block.cherry_wood_fence_gate.close=true +minecraft\:entity.piglin.step=true +minecraft\:entity.fishing_bobber.throw=true +minecraft\:block.packed_mud.fall=true +minecraft\:entity.horse.armor=true +minecraft\:block.amethyst_block.resonate=true +minecraft\:block.hanging_sign.step=true +minecraft\:block.nether_sprouts.step=true +minecraft\:block.nether_gold_ore.hit=true +minecraft\:block.mud_bricks.break=true +minecraft\:entity.painting.place=true +minecraft\:entity.parrot.imitate.drowned=true +gtceu\:chainsaw=true +minecraft\:entity.warden.sonic_charge=true +tfc\:entity.lion.sleep=true +minecraft\:block.chiseled_bookshelf.pickup.enchanted=true +minecraft\:music_disc.strad=true +minecraft\:entity.blaze.ambient=true +minecraft\:block.amethyst_cluster.fall=true +minecraft\:entity.cod.flop=true +minecraft\:entity.zombie_villager.cure=true +minecraft\:entity.dolphin.death=true +minecraft\:entity.warden.step=true +minecraft\:block.anvil.step=true +minecraft\:block.packed_mud.step=true +minecraft\:block.hanging_sign.fall=true +minecraft\:entity.sheep.step=true +minecraft\:entity.parrot.imitate.evoker=true +minecraft\:entity.cat.ambient=true +tfc\:item.ceramic.break=true +minecraft\:block.polished_deepslate.break=true +minecraft\:item.trident.hit=true +minecraft\:entity.magma_cube.hurt=true +minecraft\:block.wooden_pressure_plate.click_on=true +minecraft\:entity.generic.explode=true +minecraft\:block.nether_sprouts.fall=true +create\:depot_plop=true +minecraft\:entity.horse.saddle=true +minecraft\:block.lever.click=true +tfc\:block.wattle.woven=true +tfc\:entity.crocodile.hurt=true +minecraft\:block.roots.break=true +minecraft\:block.nether_wood_pressure_plate.click_off=true +minecraft\:entity.silverfish.ambient=true +create\:fwoomp=true +minecraft\:entity.zombified_piglin.death=true +minecraft\:block.bone_block.hit=true +minecraft\:entity.witch.celebrate=true +minecraft\:block.amethyst_cluster.step=true +tfc\:entity.cougar.death=true +minecraft\:ambient.soul_sand_valley.mood=true +tfc\:entity.alpaca.ambient=true +tfc\:block.large_vessel.close=true +tfc\:entity.bear.attack=true +minecraft\:block.powder_snow.hit=true +minecraft\:block.ancient_debris.place=true +minecraft\:entity.wither.death=true +minecraft\:block.sculk_sensor.break=true +gtceu\:bath=true +minecraft\:entity.ghast.scream=true +minecraft\:block.glass.step=true +minecraft\:block.lodestone.fall=true +minecraft\:block.sculk_catalyst.bloom=true +tfc\:entity.bluegill.death=true +minecraft\:block.cherry_wood_door.close=true +tfc\:entity.lake_trout.death=true +minecraft\:entity.llama.hurt=true +minecraft\:block.mangrove_roots.break=true +minecraft\:ui.stonecutter.select_recipe=true +minecraft\:entity.donkey.death=true +minecraft\:entity.allay.ambient_without_item=true +minecraft\:entity.rabbit.jump=true +astikorcarts\:entity.cart.attach=true +minecraft\:music.nether.basalt_deltas=true +minecraft\:entity.goat.screaming.milk=true +minecraft\:entity.warden.tendril_clicks=true +exposure\:item.camera.shutter_ticking=true +tfc\:block.peat.step=true +minecraft\:block.gravel.step=true +minecraft\:entity.ravager.attack=true +create\:crafter_craft=true +minecraft\:entity.parrot.imitate.blaze=true +minecraft\:entity.sniffer.searching=true +minecraft\:entity.snow_golem.death=true +tfc\:block.tool_rack.place=true +minecraft\:block.pointed_dripstone.hit=true +minecraft\:block.anvil.break=true +minecraft\:music.nether.nether_wastes=true +minecraft\:block.candle.ambient=true +minecraft\:block.nether_bricks.place=true +minecraft\:entity.zombified_piglin.hurt=true +minecraft\:entity.camel.dash=true +minecraft\:block.netherrack.fall=true +minecraft\:entity.ocelot.death=true +create\:worldshaper_place=true +minecraft\:item.shield.break=true +tfc\:block.peat.break=true +minecraft\:entity.player.hurt=true +minecraft\:item.armor.equip_generic=true +minecraft\:block.deepslate_bricks.hit=true +minecraft\:block.lantern.break=true +minecraft\:block.frogspawn.fall=true +tfc\:entity.lion.step=true +minecraft\:entity.turtle.lay_egg=true +create\:schematicannon_finish=true +minecraft\:block.cave_vines.fall=true +minecraft\:entity.wither.shoot=true +create\:train2=true +minecraft\:block.deepslate_tiles.place=true +minecraft\:entity.firework_rocket.twinkle=true +minecraft\:block.spore_blossom.fall=true +create\:train3=true +minecraft\:block.hanging_sign.place=true +minecraft\:block.netherite_block.hit=true +minecraft\:item.chorus_fruit.teleport=true +minecraft\:block.decorated_pot.hit=true +tfc\:entity.pheasant.death=true +minecraft\:block.deepslate.step=true +minecraft\:entity.villager.work_weaponsmith=true +minecraft\:block.chiseled_bookshelf.fall=true +minecraft\:block.gilded_blackstone.place=true +minecraft\:block.medium_amethyst_bud.break=true +minecraft\:entity.salmon.flop=true +gtceu\:cut=true +minecraft\:block.cherry_sapling.place=true +minecraft\:block.mud_bricks.hit=true +minecraft\:block.iron_door.close=true +minecraft\:block.mangrove_roots.fall=true +tfc\:entity.lion.ambient=true +minecraft\:item.armor.equip_gold=true +minecraft\:block.sculk_shrieker.break=true +create\:scroll_value=true +minecraft\:block.soul_sand.break=true +create\:whistle=true +gtceu\:soft_hammer=true +tfc\:entity.wildebeest.ambient=true +minecraft\:entity.generic.drink=true +minecraft\:entity.ghast.hurt=true +minecraft\:block.packed_mud.place=true +minecraft\:item.bucket.fill_axolotl=true +minecraft\:block.azalea_leaves.hit=true +minecraft\:block.cave_vines.step=true +minecraft\:entity.goat.step=true +minecraft\:entity.firework_rocket.blast_far=true +minecraft\:music.nether.crimson_forest=true +tfc\:entity.cougar.attack=true +minecraft\:item.goat_horn.sound.7=false +minecraft\:item.goat_horn.sound.6=false +minecraft\:block.sculk_shrieker.place=true +minecraft\:item.goat_horn.sound.5=false +minecraft\:item.goat_horn.sound.4=false +minecraft\:block.polished_deepslate.hit=true +minecraft\:item.bundle.insert=true +minecraft\:block.nether_bricks.hit=true +minecraft\:block.metal_pressure_plate.click_on=true +tfc\:block.loom.weave=true +tfc\:entity.manatee.flop=true +minecraft\:block.moss.break=true +minecraft\:item.goat_horn.sound.3=false +minecraft\:item.goat_horn.sound.2=false +minecraft\:item.goat_horn.sound.1=false +minecraft\:item.goat_horn.sound.0=false +minecraft\:block.pointed_dripstone.break=true +minecraft\:block.soul_sand.place=true +minecraft\:block.nether_wood_button.click_on=true +tfc\:entity.tfc_wolf.step=true +tfc\:entity.largemouth_bass.death=true +tfc\:entity.crappie.ambient=true +tfc\:item.javelin.throw=true +minecraft\:block.deepslate.fall=true +minecraft\:entity.wandering_trader.drink_milk=true +minecraft\:entity.parrot.imitate.creeper=true +minecraft\:entity.egg.throw=true +minecraft\:entity.magma_cube.squish=true +minecraft\:block.wool.break=true +minecraft\:entity.skeleton.shoot=true +minecraft\:entity.piglin_brute.step=true +gtceu\:screwdriver=true +tfc\:entity.alpaca.death=true +minecraft\:entity.drowned.death=true +minecraft\:block.weeping_vines.hit=true +minecraft\:block.bamboo_wood.hit=true +minecraft\:entity.bee.hurt=true +minecraft\:block.frogspawn.step=true +tfc\:entity.quail.death=true +minecraft\:block.vine.place=true +minecraft\:item.crossbow.loading_end=true +minecraft\:music.overworld.dripstone_caves=true +minecraft\:entity.player.attack.strong=true +tfc\:block.barrel.close=true +minecraft\:block.beehive.shear=true +minecraft\:entity.snow_golem.shoot=true +minecraft\:block.moss.hit=true +minecraft\:entity.panda.pre_sneeze=true +create\:controller_put=true +minecraft\:entity.cat.eat=true +tfc\:entity.jellyfish.flop=true +minecraft\:block.smithing_table.use=true +minecraft\:block.stem.fall=true +minecraft\:block.conduit.activate=true +railways\:conductor_whistle=true +minecraft\:ui.toast.out=true +tfc\:entity.grouse.ambient=true +minecraft\:block.mangrove_roots.step=true +minecraft\:entity.ender_eye.death=true +minecraft\:block.chorus_flower.death=true +minecraft\:block.deepslate_tiles.break=true +minecraft\:entity.vindicator.ambient=true +minecraft\:entity.frog.hurt=true +minecraft\:entity.puffer_fish.blow_up=true +minecraft\:block.basalt.place=true +minecraft\:block.muddy_mangrove_roots.place=true +minecraft\:music.overworld.sparse_jungle=true +minecraft\:entity.glow_squid.hurt=true +minecraft\:entity.zoglin.step=true +minecraft\:entity.elder_guardian.flop=true +minecraft\:entity.lightning_bolt.impact=true +minecraft\:entity.panda.cant_breed=true +minecraft\:item.book.page_turn=true +minecraft\:block.pink_petals.hit=true +minecraft\:entity.bat.hurt=true +minecraft\:entity.fox.sleep=true +minecraft\:block.medium_amethyst_bud.place=true +minecraft\:music.overworld.old_growth_taiga=true +minecraft\:block.sign.waxed_interact_fail=true +minecraft\:entity.glow_squid.death=true +minecraft\:ui.cartography_table.take_result=true +minecraft\:entity.zombie.attack_wooden_door=true +minecraft\:entity.illusioner.cast_spell=true +minecraft\:entity.salmon.death=true +minecraft\:entity.hostile.hurt=true +minecraft\:block.anvil.place=true +minecraft\:block.brewing_stand.brew=true +minecraft\:block.bamboo.break=true +create\:whistle_train_manual_low_end=true +minecraft\:block.glass.hit=true +minecraft\:block.shroomlight.fall=true +create\:deny=true +tfc\:item.armor.equip_copper=true +minecraft\:item.crop.plant=true +minecraft\:music_disc.chirp=true +tfc\:entity.deer.hurt=true +minecraft\:block.frogspawn.hit=true +minecraft\:entity.chicken.hurt=true +minecraft\:block.furnace.fire_crackle=true +minecraft\:entity.horse.step_wood=true +tfc\:entity.penguin.death=true +minecraft\:block.note_block.bell=true +create\:depot_slide=true +minecraft\:block.nether_wood.hit=true +minecraft\:entity.warden.agitated=true +minecraft\:entity.panda.worried_ambient=true +minecraft\:block.copper.step=true +minecraft\:entity.wolf.hurt=true +minecraft\:entity.enderman.teleport=true +minecraft\:block.lodestone.hit=true +minecraft\:block.gravel.fall=true +minecraft\:block.pointed_dripstone.step=true +minecraft\:entity.skeleton.death=true +minecraft\:block.deepslate_tiles.hit=true +minecraft\:entity.warden.sonic_boom=true +minecraft\:entity.llama.angry=true +minecraft\:entity.glow_item_frame.add_item=true +minecraft\:entity.wither.spawn=true +minecraft\:block.wool.place=true +minecraft\:block.stem.step=true +minecraft\:block.hanging_sign.break=true +minecraft\:block.gravel.break=true +minecraft\:block.vine.break=true +minecraft\:entity.warden.listening=true +minecraft\:block.basalt.hit=true +minecraft\:block.smoker.smoke=true +minecraft\:entity.wolf.growl=true +minecraft\:music_disc.5=true +minecraft\:entity.pillager.death=true +minecraft\:entity.ravager.step=true +create\:wrench_remove=true +minecraft\:item.axe.scrape=true +minecraft\:item.crossbow.loading_middle=true +minecraft\:entity.evoker.celebrate=true +minecraft\:block.copper.fall=true +minecraft\:entity.drowned.shoot=true +minecraft\:block.wood.hit=true +minecraft\:entity.zombie.hurt=true +gtceu\:mortar=true +minecraft\:block.composter.ready=true +tfc\:entity.sabertooth.hurt=true +exposure\:item.camera.interplanar_projector.project=true +minecraft\:entity.frog.eat=true +minecraft\:entity.parrot.imitate.illusioner=true +minecraft\:block.nether_bricks.step=true +tfc\:entity.crocodile.ambient=true +minecraft\:entity.illusioner.ambient=true +minecraft\:ambient.nether_wastes.additions=true +chalk\:item.chalk_box_close=true +minecraft\:entity.camel.sit=true +minecraft\:entity.parrot.fly=true +tfc\:block.peat.fall=true +minecraft\:entity.boat.paddle_water=true +tfc\:entity.tfc_wolf.attack=true +minecraft\:entity.stray.ambient=true +minecraft\:entity.horse.step=true +tfc\:entity.bongo.hurt=true +tfc\:item.armor.equip_black_bronze=true +minecraft\:entity.enderman.hurt=true +minecraft\:item.shovel.flatten=true +minecraft\:item.bottle.empty=true +minecraft\:block.note_block.basedrum=true +minecraft\:block.sculk.charge=true +minecraft\:entity.item_frame.rotate_item=true +minecraft\:item.axe.strip=true +minecraft\:entity.axolotl.idle_air=true +minecraft\:block.netherrack.step=true +tfc\:entity.dog.ambient=true +minecraft\:entity.puffer_fish.ambient=true +createaddition\:electric_motor_buzz=true +minecraft\:entity.panda.hurt=true +minecraft\:block.powder_snow.step=true +tfc\:entity.hyena.sleep=true +tfc\:entity.bear.death=true +minecraft\:entity.shulker.close=true +minecraft\:block.shroomlight.step=true +tfc\:block.peat.place=true +tfc\:entity.tfc_wolf.sleep=true +minecraft\:entity.ender_eye.launch=true +tfc\:block.thatch.break=true +minecraft\:block.bamboo.place=true +tfc\:entity.crocodile.death=true +minecraft\:block.pointed_dripstone.drip_water_into_cauldron=true +tfc\:entity.dog.death=true +minecraft\:block.shulker_box.open=true +minecraft\:block.piston.extend=true +tfc\:entity.gazelle.death=true +minecraft\:entity.slime.attack=true +minecraft\:block.rooted_dirt.break=true +tfc\:entity.tiger.ambient=true +minecraft\:entity.goat.ram_impact=true +tfc\:block.crop.stick_add=true +minecraft\:entity.warden.hurt=true +minecraft\:ui.stonecutter.take_result=true +minecraft\:block.wool.step=true +tfc\:entity.hyena.ambient=true +minecraft\:block.bamboo_wood_fence_gate.open=true +tfc\:random.rock_slide_long=true +tfc\:entity.sabertooth.attack=true +minecraft\:block.cherry_wood_hanging_sign.break=true +minecraft\:entity.creeper.hurt=true +minecraft\:block.note_block.imitate.piglin=true +tfc\:block.thatch.hit=true +minecraft\:item.bucket.empty_axolotl=true +minecraft\:block.tripwire.click_off=true +minecraft\:entity.wandering_trader.ambient=true +minecraft\:block.iron_trapdoor.open=true +minecraft\:music.nether.warped_forest=true +minecraft\:block.suspicious_sand.step=true +minecraft\:entity.piglin_brute.angry=true +minecraft\:block.bamboo_wood_door.close=true +minecraft\:entity.spider.hurt=true +minecraft\:entity.witch.drink=true +minecraft\:entity.player.splash.high_speed=true +minecraft\:entity.donkey.hurt=true +minecraft\:entity.sniffer.eat=true +minecraft\:entity.snow_golem.hurt=true +minecraft\:block.bamboo_wood_fence_gate.close=true +minecraft\:block.nether_bricks.fall=true +minecraft\:block.beacon.power_select=true +minecraft\:block.suspicious_sand.break=true +minecraft\:block.snow.step=true +minecraft\:block.suspicious_gravel.hit=true +create\:whistle_train_manual_end=true +exposure\:item.photograph_frame.rotate_item=true +minecraft\:block.anvil.use=true +minecraft\:item.goat_horn.play=true +minecraft\:entity.minecart.inside=true +minecraft\:entity.wither.hurt=true +minecraft\:block.nylium.place=true +minecraft\:entity.shulker.ambient=true +tfc\:entity.largemouth_bass.flop=true +tfc\:entity.cougar.step=true +minecraft\:entity.tadpole.hurt=true +minecraft\:block.big_dripleaf.tilt_up=true +gtceu\:forge_hammer=true +minecraft\:block.froglight.step=true +chalk\:item.chalk_box_change=true +minecraft\:block.suspicious_sand.fall=true +minecraft\:block.sculk_sensor.clicking=true +tfc\:entity.quail.step=true +minecraft\:entity.villager.hurt=true +minecraft\:block.suspicious_sand.place=true +minecraft\:block.coral_block.hit=true +minecraft\:entity.pillager.hurt=true +tfc\:entity.crocodile.sleep=true +create\:cogs=true +minecraft\:entity.cod.hurt=true +minecraft\:entity.parrot.imitate.skeleton=true +minecraft\:entity.piglin.angry=true +minecraft\:entity.zoglin.angry=true +tfc\:entity.musk_ox.hurt=true +minecraft\:entity.glow_item_frame.rotate_item=true +tfc\:entity.sabertooth.sleep=true +minecraft\:block.mangrove_roots.hit=true +minecraft\:block.powder_snow.fall=true +minecraft\:entity.warden.attack_impact=true +minecraft\:block.muddy_mangrove_roots.break=true +minecraft\:block.azalea.place=true +minecraft\:entity.ravager.ambient=true +minecraft\:entity.strider.death=true +minecraft\:ambient.underwater.exit=true +minecraft\:entity.parrot.imitate.stray=true +minecraft\:entity.slime.jump=true +create\:crafter_click_compounded_1=true +minecraft\:item.brush.brushing.sand=true +minecraft\:entity.mule.hurt=true +minecraft\:block.rooted_dirt.step=true +minecraft\:entity.axolotl.hurt=true +minecraft\:entity.villager.no=true +minecraft\:block.azalea.hit=true +tfc\:item.knapping.clay=true +minecraft\:music.overworld.swamp=true +minecraft\:music.creative=true +tfc\:entity.crocodile.step=true +minecraft\:entity.villager.work_fletcher=true +minecraft\:entity.villager.work_mason=true +create\:haunted_bell_use=true +minecraft\:entity.skeleton.converted_to_stray=true +create\:controller_click=true +minecraft\:entity.allay.death=true +minecraft\:block.spore_blossom.step=true +create\:spout=true +minecraft\:music.overworld.desert=true +minecraft\:block.suspicious_sand.hit=true +minecraft\:block.wooden_door.close=true +minecraft\:block.nylium.break=true +tfc\:entity.yak.step=true +minecraft\:item.axe.wax_off=true +minecraft\:entity.evoker.cast_spell=true +minecraft\:particle.soul_escape=true +minecraft\:block.chiseled_bookshelf.step=true +minecraft\:block.froglight.fall=true +minecraft\:block.honey_block.place=true +tfc\:entity.bear.ambient=true +minecraft\:entity.mule.chest=true +minecraft\:block.scaffolding.place=true +tfc\:block.large_vessel.open=true +tfc\:entity.deer.death=true +minecraft\:block.netherrack.hit=true +minecraft\:entity.wandering_trader.drink_potion=true +create\:contraption_assemble_compounded_1=true +minecraft\:block.snow.fall=true +minecraft\:entity.tropical_fish.hurt=true +minecraft\:block.cherry_sapling.break=true +minecraft\:entity.polar_bear.death=true +minecraft\:block.pink_petals.fall=true +minecraft\:block.cherry_wood_hanging_sign.hit=true +tfc\:entity.musk_ox.ambient=true +minecraft\:music.overworld.deep_dark=true +tfc\:block.barrel.drip=true +minecraft\:block.chiseled_bookshelf.place=true +minecraft\:block.cherry_wood_door.open=true +minecraft\:item.lodestone_compass.lock=true +exposure\:item.camera.filter_insert=true +minecraft\:block.note_block.imitate.skeleton=true +tfc\:entity.penguin.step=true +createaddition\:electric_charge=true +minecraft\:block.rooted_dirt.fall=true +minecraft\:block.lantern.hit=true +minecraft\:entity.sniffer.idle=true +tfc\:entity.hyena.step=true +minecraft\:block.grass.fall=true +minecraft\:entity.evoker_fangs.attack=true +minecraft\:entity.witch.throw=true +minecraft\:block.crop.break=true +minecraft\:entity.donkey.chest=true +minecraft\:item.brush.brushing.generic=true +minecraft\:block.cherry_leaves.step=true +minecraft\:block.cherry_wood_hanging_sign.place=true +tfc\:entity.gazelle.step=true +minecraft\:entity.zombie.destroy_egg=true +minecraft\:entity.drowned.step=true +minecraft\:block.muddy_mangrove_roots.hit=true +minecraft\:block.wool.fall=true +minecraft\:entity.endermite.step=true +minecraft\:entity.parrot.imitate.piglin_brute=true +create\:crafter_click=true +minecraft\:entity.shulker_bullet.hit=true +minecraft\:block.note_block.iron_xylophone=true +minecraft\:entity.vindicator.death=true +tfc\:entity.deer.ambient=true +minecraft\:block.nether_bricks.break=true +minecraft\:entity.warden.emerge=true +minecraft\:block.small_dripleaf.hit=true +minecraft\:ambient.soul_sand_valley.loop=true +minecraft\:item.armor.equip_netherite=true +minecraft\:item.brush.brushing.sand.complete=true +minecraft\:block.barrel.open=true +gtceu\:miner=true +tfc\:item.knapping.stone=true +minecraft\:entity.phantom.bite=true +minecraft\:entity.sheep.death=true +minecraft\:block.grass.step=true +minecraft\:entity.dragon_fireball.explode=true +minecraft\:entity.mooshroom.shear=true +minecraft\:entity.goat.horn_break=true +tfc\:block.thatch.place=true +minecraft\:entity.iron_golem.hurt=true +minecraft\:entity.llama.spit=true +minecraft\:ambient.basalt_deltas.additions=true +minecraft\:entity.goat.milk=true +minecraft\:entity.slime.jump_small=true +minecraft\:entity.frog.lay_spawn=true +chalk\:item.chalk_draw=true +tfc\:entity.grouse.hurt=true +tfc\:block.thin.step=true +minecraft\:block.nether_wood_trapdoor.open=true +minecraft\:block.lantern.place=true +minecraft\:block.moss.place=true +minecraft\:block.wood.break=true +minecraft\:enchant.thorns.hit=true +tfc\:entity.yak.ambient=true +minecraft\:block.scaffolding.break=true +minecraft\:block.composter.fill=true +minecraft\:item.book.put=true diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties new file mode 100644 index 000000000..9e4a228c4 --- /dev/null +++ b/config/sound_physics_remastered/occlusion.properties @@ -0,0 +1,219 @@ +# Values for blocks can be defined as follows: +# +# By sound type: +# WOOD=1.0 +# +# By block tag: +# \#minecraft\:logs=1.0 +# +# By block ID: +# minecraft\:oak_log=1.0 + +# Azalea (Sound Type) +AZALEA=1.0 +# Metal (Sound Type) +METAL=1.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Glass (Sound Type) +GLASS=0.1 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Tuff (Sound Type) +TUFF=1.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Mud (Sound Type) +MUD=1.0 +# Sand (Sound Type) +SAND=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Vine (Sound Type) +VINE=0.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Wool (Sound Type) +WOOL=1.5 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 +# Wood (Sound Type) +WOOD=1.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Sculk (Sound Type) +SCULK=1.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Candle (Sound Type) +CANDLE=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Roots (Sound Type) +ROOTS=0.0 +# Chain (Sound Type) +CHAIN=0.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Copper (Sound Type) +COPPER=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Snow (Sound Type) +SNOW=0.1 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=1.0 +# Stone (Sound Type) +STONE=1.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Crop (Sound Type) +CROP=0.0 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Hard Crop (Sound Type) +HARD_CROP=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Moss (Sound Type) +MOSS=0.75 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Lily Pad (Sound Type) +LILY_PAD=0.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Stem (Sound Type) +STEM=1.0 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Grass (Sound Type) +GRASS=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Water (Block) +minecraft\:water=0.25 +# Lava (Block) +minecraft\:lava=0.75 +# Jukebox (Block) +minecraft\:jukebox=0.0 diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties new file mode 100644 index 000000000..259f2a6d3 --- /dev/null +++ b/config/sound_physics_remastered/reflectivity.properties @@ -0,0 +1,213 @@ +# Values for blocks can be defined as follows: +# +# By sound type: +# WOOD=1.0 +# +# By block tag: +# \#minecraft\:logs=1.0 +# +# By block ID: +# minecraft\:oak_log=1.0 + +# Azalea (Sound Type) +AZALEA=0.5 +# Metal (Sound Type) +METAL=1.25 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Lantern (Sound Type) +LANTERN=0.5 +# Glass (Sound Type) +GLASS=0.75 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Tuff (Sound Type) +TUFF=1.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Mud (Sound Type) +MUD=0.5 +# Sand (Sound Type) +SAND=0.2 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Vine (Sound Type) +VINE=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Wool (Sound Type) +WOOL=0.1 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 +# Wood (Sound Type) +WOOD=0.4 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Ladder (Sound Type) +LADDER=0.5 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Basalt (Sound Type) +BASALT=1.5 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Candle (Sound Type) +CANDLE=0.5 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Roots (Sound Type) +ROOTS=0.5 +# Chain (Sound Type) +CHAIN=0.5 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Copper (Sound Type) +COPPER=1.25 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=0.5 +# Stone (Sound Type) +STONE=1.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Crop (Sound Type) +CROP=0.5 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Fungus (Sound Type) +FUNGUS=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.5 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Moss (Sound Type) +MOSS=0.1 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Lily Pad (Sound Type) +LILY_PAD=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Stem (Sound Type) +STEM=0.4 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Grass (Sound Type) +GRASS=0.3 +# Nylium (Sound Type) +NYLIUM=0.5 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Gravel (Sound Type) +GRAVEL=0.3 +# Amethyst (Sound Type) +AMETHYST=1.5 diff --git a/config/sound_physics_remastered/soundphysics.properties b/config/sound_physics_remastered/soundphysics.properties new file mode 100644 index 000000000..beafe0e1f --- /dev/null +++ b/config/sound_physics_remastered/soundphysics.properties @@ -0,0 +1,94 @@ +# Enables/Disables all sound effects +enabled=true +# Affects how quiet a sound gets based on distance +# Lower values mean distant sounds are louder +# This setting requires you to be in singleplayer or having the mod installed on the server +# 1.0 is the physically correct value +attenuation_factor=1.0 +# The volume of simulated reverberations +reverb_gain=1.0 +# The brightness of reverberation +# Higher values result in more high frequencies in reverberation +# Lower values give a more muffled sound to the reverb +reverb_brightness=1.0 +# The distance of reverb relative to the sound distance +reverb_distance=1.5 +# The amount of sound that will be absorbed when traveling through blocks +block_absorption=1.0 +# Higher values mean smaller objects won't be considered as occluding +occlusion_variation=0.35 +# The default amount of sound reflectance energy for all blocks +# Lower values result in more conservative reverb simulation with shorter reverb tails +# Higher values result in more generous reverb simulation with higher reverb tails +default_block_reflectivity=0.5 +# The default amount of occlusion for all blocks +# Lower values will result in sounds being less muffled through walls +# Higher values mean sounds will be not audible though thicker walls +default_block_occlusion_factor=1.0 +# Minecraft won't allow sounds to play past a certain distance +# This parameter is a multiplier for how far away a sound source is allowed to be in order for it to actually play +# This setting only takes affect in singleplayer worlds and when installed on the server +sound_distance_allowance=4.0 +# A value controlling the amount that air absorbs high frequencies with distance +# A value of 1.0 is physically correct for air with normal humidity and temperature +# Higher values mean air will absorb more high frequencies with distance +# 0 disables this effect +air_absorption=1.0 +# How much sound is filtered when the player is underwater +# 0.0 means no filter +# 1.0 means fully filtered +underwater_filter=0.25 +# Whether sounds like cave, nether or underwater ambient sounds should have sound physics +evaluate_ambient_sounds=false +# The number of rays to trace to determine reverberation for each sound source +# More rays provides more consistent tracing results but takes more time to calculate +# Decrease this value if you experience lag spikes when sounds play +environment_evaluation_ray_count=32 +# The number of rays bounces to trace to determine reverberation for each sound source +# More bounces provides more echo and sound ducting but takes more time to calculate +# Decrease this value if you experience lag spikes when sounds play +environment_evaluation_ray_bounces=4 +# If sound hits a non-full-square side, block occlusion is multiplied by this +non_full_block_occlusion_factor=0.25 +# The maximum amount of rays to determine occlusion +# Directly correlates to the amount of blocks between walls that are considered +max_occlusion_rays=16 +# The amount at which occlusion is capped +max_occlusion=64.0 +# If enabled, the occlusion calculation only uses one path between the sound source and the listener instead of 9 +strict_occlusion=false +# Whether to try calculating where the sound should come from based on reflections +sound_direction_evaluation=true +# Skip redirecting non-occluded sounds (the ones you can see directly) +redirect_non_occluded_sounds=true +# If music discs or other longer sounds should be frequently reevaluated +update_moving_sounds=false +# The interval in ticks that moving sounds are reevaluated +# Lower values mean more frequent reevaluation but also more lag +# This option only takes effect if update_moving_sounds is enabled +sound_update_interval=5 +# Disable level clone and cache. This will fall back to original main thread access. +# WARNING! Enabling this will cause instability and issues with other mods. +unsafe_level_access=false +# The radius of chunks to clone for level access +level_clone_range=4 +# The maximum number of ticks to retain the cloned level in the cache +level_clone_max_retain_ticks=20 +# The maximum distance a player can move from the cloned origin before invalidation +level_clone_max_retain_block_distance=16 +# Enables debug logging +debug_logging=false +# Provides more information about occlusion in the logs +occlusion_logging=false +# Provides more information about the environment calculation in the logs +environment_logging=false +# Provides more information about how long computations take +performance_logging=false +# If enabled, the path of the sound will be rendered in game +render_sound_bounces=false +# If enabled, occlusion will be visualized in game +render_occlusion=false +# Enables/Disables sound effects for Simple Voice Chat audio +simple_voice_chat_integration=true +# Enables/Disables hearing your own echo with Simple Voice Chat +simple_voice_chat_hear_self=false diff --git a/config/tfcambiental-common.toml b/config/tfcambiental-common.toml index 47f1ed826..bb7d1ce79 100644 --- a/config/tfcambiental-common.toml +++ b/config/tfcambiental-common.toml @@ -28,4 +28,7 @@ wetnessChangeSpeed = 1.0 #How much do items in the forge:hot_ingots tag modify the temperature of the player #Range: 0.0 ~ 3.4028234663852886E38 hotIngotTemperature = 1.0 +#A modifier for the number of ticks between checking if a player is indoors. -1 to disable the check. +#Range: > -1 +indoorCheckTickModifier = 20 diff --git a/config/tfcdesirepaths-common.toml b/config/tfcdesirepaths-common.toml deleted file mode 100644 index 637ce445c..000000000 --- a/config/tfcdesirepaths-common.toml +++ /dev/null @@ -1,24 +0,0 @@ - -#You can change the block compaction (paths) chance via a datapack, as this uses recipes, -#this means you can create custom desire path recipes, e.g. coal to diamond blocks, and set a custom chance -# -[general] - #When enabled, prints debug values to console - enableDebug = false - #When enabled, all animals create paths (possibly performance intensive depending on the amount) - allMobs = true - #Should carts be able to compact blocks and create desire paths? True = enabled - toggleCarts = true - #When enabled, vegetation like tall grass or loose rocks gets destroyed - destroyVegetation = true - #The minimum speed the player should move at, in order for blocks to compact. - #Player sneaking is about 0.06, walking is about 0.215 and sprinting is above 0.26. - #Range: 0.0 ~ 1.7976931348623157E308 - playerSpeedThreshold = 0.15 - #The minimum speed a mob should move at, in order for blocks to compact - #Range: 0.0 ~ 1.7976931348623157E308 - mobSpeedThreshold = 0.15 - #The factor that affects the chance of path creation. Higher value equals higher chance - #Range: 1.0 ~ 1.7976931348623157E308 - cartCompactFactor = 5.0 - diff --git a/config/tfcgenviewer.toml b/config/tfcgenviewer.toml new file mode 100644 index 000000000..1ea5f8876 --- /dev/null +++ b/config/tfcgenviewer.toml @@ -0,0 +1,24 @@ +# +# The preview size the preview screen will have when first opened +# Conversion to km: +# (2 ^ (defaultPreviewSize + 5)) * 128 / 1000 +# +#Range: 0 ~ 6 +defaultPreviewSize = 3 +# +# If the preview should change to a loading icon when a preview is being generated +# +loadingIcon = true +# +# If a sound should be played when a preview finishes generating +# +dingWhenGenerated = true +# +# If the info pane should show a prgress bar while a preview is being generated +# +generationProgress = true +# +# If errors encountered during preview generation should cancel further generation or simply only be logged +# +cancelPreviewOnError = true + diff --git a/config/vintageimprovements-client.toml b/config/vintageimprovements-client.toml new file mode 100644 index 000000000..221cc527c --- /dev/null +++ b/config/vintageimprovements-client.toml @@ -0,0 +1,54 @@ + +#. +#Client-only settings - If you're looking for general settings, look inside your worlds serverconfig folder! +[client] + #. + #If enabled, compat items with not loaded mod still appears in the creative tab + forceCompatItemsIntoCreativeTab = false + #. + #If enabled, Shadow Steel & Refined Radiance items appears in the creative tab + legacyMaterialsIntoCreativeTab = false + + #. + #Choose items to hide from creative tab & JEI + [client.hideItems] + #. + #Hides all Springs from creative tab & JEI (you still can craft it) + hideSprings = true + #. + #Hides all Small Springs from creative tab & JEI (you still can craft it) + hideSmallSprings = true + #. + #Hides all Rods from creative tab & JEI (you still can craft it) + hideRods = true + #. + #Hides all Sheets from creative tab & JEI (you still can craft it) + hideSheets = false + #. + #Hides all Wires from creative tab & JEI (you still can craft it) + hideWires = true + + #. + #Position of Create: Vintage Improvements config button in the main menu & pause menu + [client.configButton] + #. + #Choose the menu row that the Vintage Improvements config button appears on in the main menu + #Set to 0 to disable the button altogether + #Range: 0 ~ 4 + mainMenuConfigButtonRow = 0 + #. + #Offset the Vintage Improvements 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 + #. + #Choose the menu row that the Vintage Improvements config button appears on in the in-game menu + #Set to 0 to disable the button altogether + #Range: 0 ~ 5 + ingameMenuConfigButtonRow = 0 + #. + #Offset the Vintage Improvements 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 + diff --git a/config/visual_workbench.json b/config/visual_workbench.json new file mode 100644 index 000000000..e99524fcb --- /dev/null +++ b/config/visual_workbench.json @@ -0,0 +1,276 @@ +{ + "__comment": "Crafting table blocks to enable Visual Workbench support for.", + "values": [ + "minecraft:crafting_table", + "blue_skies:bluebright_crafting_table", + "blue_skies:starlit_crafting_table", + "blue_skies:frostbright_crafting_table", + "blue_skies:lunar_crafting_table", + "blue_skies:dusk_crafting_table", + "blue_skies:maple_crafting_table", + "blue_skies:cherry_crafting_table", + "blocksplus:spruce_crafting_table", + "blocksplus:birch_crafting_table", + "blocksplus:jungle_crafting_table", + "blocksplus:acacia_crafting_table", + "blocksplus:dark_oak_crafting_table", + "blocksplus:crimson_crafting_table", + "blocksplus:warped_crafting_table", + "blocksplus:bamboo_crafting_table", + "blocksplus:mushroom_crafting_table", + "mctb:spruce_crafting_table", + "mctb:birch_crafting_table", + "mctb:acacia_crafting_table", + "mctb:jungle_crafting_table", + "mctb:dark_oak_crafting_table", + "mctb:warped_crafting_table", + "mctb:crimson_crafting_table", + "mctb:cherry_crafting_table", + "mctb:dead_crafting_table", + "mctb:fir_crafting_table", + "mctb:hellbark_crafting_table", + "mctb:jacaranda_crafting_table", + "mctb:magic_crafting_table", + "mctb:mahogany_crafting_table", + "mctb:palm_crafting_table", + "mctb:redwood_crafting_table", + "mctb:umbran_crafting_table", + "mctb:willow_crafting_table", + "mctb:azalea_crafting_table", + "mctb:blossom_crafting_table", + "betternether:rubeus_crafting_table", + "betternether:nether_sakura_crafting_table", + "betternether:crafting_table_crimson", + "betternether:wart_crafting_table", + "betternether:crafting_table_warped", + "betternether:anchor_tree_crafting_table", + "betternether:willow_crafting_table", + "betternether:nether_mushroom_crafting_table", + "betternether:stalagnate_crafting_table", + "betternether:mushroom_fir_crafting_table", + "betternether:nether_reed_crafting_table", + "betterend:helix_tree_crafting_table", + "betterend:mossy_glowshroom_crafting_table", + "betterend:end_lotus_crafting_table", + "betterend:pythadendron_crafting_table", + "betterend:jellyshroom_crafting_table", + "betterend:tenanea_crafting_table", + "betterend:dragon_tree_crafting_table", + "betterend:lucernia_crafting_table", + "betterend:lacugrove_crafting_table", + "betterend:umbrella_tree_crafting_table", + "betterendforge:helix_tree_crafting_table", + "betterendforge:mossy_glowshroom_crafting_table", + "betterendforge:end_lotus_crafting_table", + "betterendforge:pythadendron_crafting_table", + "betterendforge:jellyshroom_crafting_table", + "betterendforge:tenanea_crafting_table", + "betterendforge:dragon_tree_crafting_table", + "betterendforge:lucernia_crafting_table", + "betterendforge:lacugrove_crafting_table", + "betterendforge:umbrella_tree_crafting_table", + "crumbs:spruce_crafting_table", + "crumbs:birch_crafting_table", + "crumbs:jungle_crafting_table", + "crumbs:acacia_crafting_table", + "crumbs:dark_oak_crafting_table", + "crumbs:crimson_crafting_table", + "crumbs:warped_crafting_table", + "byg:aspen_crafting_table", + "byg:baobab_crafting_table", + "byg:blue_enchanted_crafting_table", + "byg:cherry_crafting_table", + "byg:cika_crafting_table", + "byg:cypress_crafting_table", + "byg:ebony_crafting_table", + "byg:fir_crafting_table", + "byg:green_enchanted_crafting_table", + "byg:holly_crafting_table", + "byg:jacaranda_crafting_table", + "byg:mahogany_crafting_table", + "byg:mangrove_crafting_table", + "byg:maple_crafting_table", + "byg:pine_crafting_table", + "byg:rainbow_eucalyptus_crafting_table", + "byg:redwood_crafting_table", + "byg:skyris_crafting_table", + "byg:willow_crafting_table", + "byg:witch_hazel_crafting_table", + "byg:zelkova_crafting_table", + "byg:sythian_crafting_table", + "byg:embur_crafting_table", + "byg:palm_crafting_table", + "byg:lament_crafting_table", + "byg:bulbis_crafting_table", + "byg:nightshade_crafting_table", + "byg:ether_crafting_table", + "byg:imparius_crafting_table", + "vct:spruce_crafting_table", + "vct:birch_crafting_table", + "vct:jungle_crafting_table", + "vct:acacia_crafting_table", + "vct:dark_oak_crafting_table", + "vct:mangrove_crafting_table", + "vct:crimson_crafting_table", + "vct:warped_crafting_table", + "vct:bop_cherry_crafting_table", + "vct:bop_dead_crafting_table", + "vct:bop_fir_crafting_table", + "vct:bop_hellbark_crafting_table", + "vct:bop_jacaranda_crafting_table", + "vct:bop_magic_crafting_table", + "vct:bop_mahogany_crafting_table", + "vct:bop_palm_crafting_table", + "vct:bop_redwood_crafting_table", + "vct:bop_umbran_crafting_table", + "vct:bop_willow_crafting_table", + "vct:canopy_crafting_table", + "vct:darkwood_crafting_table", + "vct:twilight_mangrove_crafting_table", + "vct:minewood_crafting_table", + "vct:sortingwood_crafting_table", + "vct:timewood_crafting_table", + "vct:transwood_crafting_table", + "vct:twilight_oak_crafting_table", + "vct:aspen_crafting_table", + "vct:grimwood_crafting_table", + "vct:kousa_crafting_table", + "vct:morado_crafting_table", + "vct:rosewood_crafting_table", + "vct:yucca_crafting_table", + "vct:maple_crafting_table", + "vct:bamboo_crafting_table", + "vct:azalea_crafting_table", + "vct:poise_crafting_table", + "vct:cherry_crafting_table", + "vct:willow_crafting_table", + "vct:wisteria_crafting_table", + "vct:driftwood_crafting_table", + "vct:river_crafting_table", + "vct:jacaranda_crafting_table", + "vct:redbud_crafting_table", + "vct:cypress_crafting_table", + "vct:brown_mushroom_crafting_table", + "vct:red_mushroom_crafting_table", + "vct:glowshroom_crafting_table", + "vct:twisted_crafting_table", + "vct:petrified_crafting_table", + "vct:eco_azalea_crafting_table", + "vct:eco_flowering_azalea_crafting_table", + "vct:eco_coconut_crafting_table", + "vct:eco_walnut_crafting_table", + "vct:fairy_ring_mushroom_crafting_table", + "vct:azure_crafting_table", + "vct:araucaria_crafting_table", + "vct:heidiphyllum_crafting_table", + "vct:liriodendrites_crafting_table", + "vct:metasequoia_crafting_table", + "vct:protojuniperoxylon_crafting_table", + "vct:protopiceoxylon_crafting_table", + "vct:zamites_crafting_table", + "vct:quark_azalea_crafting_table", + "vct:quark_blossom_crafting_table", + "vct:grongle_crafting_table", + "vct:smogstem_crafting_table", + "vct:wigglewood_crafting_table", + "vct:congealed_crafting_table", + "vct:echo_crafting_table", + "vct:ebony_crafting_table", + "vct:pream_crafting_table", + "vct:verdant_crafting_table", + "vct:jaboticaba_crafting_table", + "vct:ramboutan_crafting_table", + "vct:bm_ancient_oak_crafting_table", + "vct:bm_blighted_balsa_crafting_table", + "vct:bm_swamp_cypress_crafting_table", + "vct:bm_willow_crafting_table", + "vct:rue_baobab_crafting_table", + "vct:rue_blackwood_crafting_table", + "vct:rue_cherry_crafting_table", + "vct:rue_cypress_crafting_table", + "vct:rue_dead_crafting_table", + "vct:rue_eucalyptus_crafting_table", + "vct:rue_joshua_crafting_table", + "vct:rue_larch_crafting_table", + "vct:rue_maple_crafting_table", + "vct:rue_mauve_crafting_table", + "vct:rue_palm_crafting_table", + "vct:rue_pine_crafting_table", + "vct:rue_redwood_crafting_table", + "vct:rue_willow_crafting_table", + "variantcraftingtables:acacia_crafting_table", + "variantcraftingtables:birch_crafting_table", + "variantcraftingtables:dark_oak_crafting_table", + "variantcraftingtables:jungle_crafting_table", + "variantcraftingtables:spruce_crafting_table", + "variantcraftingtables:mangrove_crafting_table", + "variantcraftingtables:crimson_crafting_table", + "variantcraftingtables:warped_crafting_table", + "variantcraftingtables:rubber_crafting_table", + "variantcraftingtables:bamboo_crafting_table", + "variantcraftingtables:charred_crafting_table", + "variantcraftingtables:legacy_crafting_table", + "variantcraftingtables:white_oak_crafting_table", + "variantcraftingtables:herringbone_acacia_crafting_table", + "variantcraftingtables:herringbone_birch_crafting_table", + "variantcraftingtables:herringbone_dark_oak_crafting_table", + "variantcraftingtables:herringbone_jungle_crafting_table", + "variantcraftingtables:herringbone_oak_crafting_table", + "variantcraftingtables:herringbone_spruce_crafting_table", + "variantcraftingtables:herringbone_white_oak_crafting_table", + "variantcraftingtables:herringbone_bamboo_crafting_table", + "variantcraftingtables:herringbone_charred_crafting_table", + "variantcraftingtables:herringbone_crimson_crafting_table", + "variantcraftingtables:herringbone_warped_crafting_table", + "variantcraftingtables:cherry_oak_crafting_table", + "variantcraftingtables:dark_amaranth_crafting_table", + "variantcraftingtables:palm_crafting_table", + "variantcraftingtables:cypress_crafting_table", + "variantcraftingtables:dragons_blood_crafting_table", + "variantcraftingtables:elder_crafting_table", + "variantcraftingtables:juniper_crafting_table", + "variantcraftingtables:dreamwood_crafting_table", + "variantcraftingtables:livingwood_crafting_table", + "variantcraftingtables:mossy_dreamwood_crafting_table", + "variantcraftingtables:mossy_livingwood_crafting_table", + "variantcraftingtables:shimmerwood_crafting_table", + "variantcraftingtables:black_crafting_table", + "variantcraftingtables:blue_crafting_table", + "variantcraftingtables:brown_crafting_table", + "variantcraftingtables:cyan_crafting_table", + "variantcraftingtables:gray_crafting_table", + "variantcraftingtables:green_crafting_table", + "variantcraftingtables:light_blue_crafting_table", + "variantcraftingtables:light_gray_crafting_table", + "variantcraftingtables:lime_crafting_table", + "variantcraftingtables:magenta_crafting_table", + "variantcraftingtables:orange_crafting_table", + "variantcraftingtables:pink_crafting_table", + "variantcraftingtables:purple_crafting_table", + "variantcraftingtables:red_crafting_table", + "variantcraftingtables:white_crafting_table", + "variantcraftingtables:yellow_crafting_table", + "variantcraftingtables:ancient_oak_crafting_table", + "variantcraftingtables:blighted_balsa_crafting_table", + "variantcraftingtables:swamp_cypress_crafting_table", + "variantcraftingtables:willow_crafting_table", + "variantcraftingtables:mango_crafting_table", + "variantcraftingtables:wisteria_crafting_table", + "variantcraftingtables:bamboo_crafting_table_ve", + "variantcraftingtables:redwood_crafting_table", + "variantcraftingtables:azalea_crafting_table", + "variantcraftingtables:coconut_crafting_table", + "variantcraftingtables:flowering_azalea_crafting_table", + "variantcraftingtables:walnut_crafting_table", + "variantcraftingtables:stripped_bamboo_crafting_table", + "variantcraftingtables:crystal_crafting_table", + "variantcraftingtables:golden_oak_crafting_table", + "variantcraftingtables:orange_crafting_table_pl", + "variantcraftingtables:skyroot_crafting_table", + "variantcraftingtables:wisteria_crafting_table_pl", + "variantcraftingtables:cinnamon_crafting_table", + "variantcraftingtables:jade_crafting_table", + "variantcraftingtables:moon_crafting_table", + "variantcraftingtables:shadow_crafting_table" + ] +} \ No newline at end of file diff --git a/config/visualworkbench-client.toml b/config/visualworkbench-client.toml new file mode 100644 index 000000000..13a2e7913 --- /dev/null +++ b/config/visualworkbench-client.toml @@ -0,0 +1,7 @@ +#Rotate crafting table contents so they always face the closest player. +rotate_ingredients = true +#Makes crafting table contents lay flat on the table instead of floating above. +flat_rendering = false +#Render the result of the crafting operation in addition to crafting table contents. +render_result = true + diff --git a/config/xaerominimap.txt b/config/xaerominimap.txt new file mode 100644 index 000000000..513776bae --- /dev/null +++ b/config/xaerominimap.txt @@ -0,0 +1,133 @@ +#CONFIG ONLY OPTIONS +ignoreUpdate:383 +settingsButton:false +allowWrongWorldTeleportation:false +differentiateByServerAddress:true +debugEntityIcons:false +debugEntityVariantIds:false +radarHideInvisibleEntities:true +allowInternetAccess:true +#INGAME SETTINGS (DO NOT EDIT!) +updateNotification:true +minimap:true +caveMaps:2 +caveZoom:1 +showWaypoints:true +showIngameWaypoints:true +displayRedstone:true +deathpoints:true +oldDeathpoints:true +distance:1 +lockNorth:true +zoom:0 +minimapSize:0 +chunkGrid:-1 +slimeChunks:false +mapSafeMode:false +minimapOpacity:100.0 +waypointsIngameIconScale:0 +waypointsIngameDistanceScale:0 +waypointsIngameNameScale:0 +waypointsIngameCloseScale:1.0 +antiAliasing:true +blockColours:0 +lighting:true +dotsStyle:0 +dotNameScale:1.0 +compassOverEverything:true +showFlowers:true +keepWaypointNames:true +waypointsDistanceExp:0 +waypointsDistanceMin:0.0 +defaultWaypointTPCommandFormat:/tp @s {x} {y} {z} +defaultWaypointTPCommandRotationFormat:/tp @s {x} {y} {z} {yaw} ~ +arrowScale:1.5 +arrowColour:0 +smoothDots:true +worldMap:true +terrainDepth:true +terrainSlopes:2 +mainEntityAs:0 +blockTransparency:true +waypointOpacityIngame:80 +waypointOpacityMap:90 +hideWorldNames:1 +openSlimeSettings:true +alwaysShowDistance:false +renderLayerIndex:1 +crossDimensionalTp:true +biomeColorsVanillaMode:false +lookingAtAngle:10 +lookingAtAngleVertical:180 +centeredEnlarged:false +zoomOnEnlarged:0 +minimapTextAlign:0 +waypointsMutualEdit:true +compassLocation:1 +compassDirectionScale:0 +caveMapsDepth:30 +hideWaypointCoordinates:false +renderAllSets:false +playerArrowOpacity:100 +waypointsBottom:false +minimapShape:0 +lightOverlayType:0 +lightOverlayMaxLight:7 +lightOverlayMinLight:0 +lightOverlayColor:13 +uiScale:0 +bossHealthPushBox:1 +potionEffectPushBox:1 +minimapFrame:0 +minimapFrameColor:9 +compassColor:9 +northCompassColor:-1 +displayMultipleWaypointInfo:1 +entityRadar:true +adjustHeightForCarpetLikeBlocks:true +autoConvertWaypointDistanceToKmThreshold:10000 +waypointDistancePrecision:1 +mainDotSize:2 +partialYTeleportation:true +deleteReachedDeathpoints:true +hideMinimapUnderScreen:true +hideMinimapUnderF3:true +manualCaveModeStartAuto:true +manualCaveModeStart:-1 +chunkGridLineWidth:1 +temporaryWaypointsGlobal:true +keepUnlockedWhenEnlarged:false +enlargedMinimapAToggle:false +displayStainedGlass:true +waypointOnMapScale:0 +switchToAutoOnDeath:true +infoDisplayBackgroundOpacity:40 +caveModeToggleTimer:1000 +legibleCaveMaps:false +biomeBlending:true +displayTrackedPlayersOnMap:true +displayTrackedPlayersInWorld:true +dimensionScaledMaxWaypointDistance:true +trackedPlayerWorldIconScale:0 +trackedPlayerWorldNameScale:0 +trackedPlayerMinimapIconScale:0 +displayClaims:true +displayCurrentClaim:true +claimsFillOpacity:46 +claimsBorderOpacity:80 +infoDisplayOrder:coords:overworld_coords:chunk_coords:angles:dimension:biome:weather:light_level:time:real_time:highlights:light_overlay_indicator:manual_cave_mode_indicator:custom_sub_world +infoDisplay:coords:true:15:-1 +infoDisplay:overworld_coords:false:15:-1 +infoDisplay:chunk_coords:false:15:-1 +infoDisplay:angles:false:15:-1 +infoDisplay:dimension:false:15:-1 +infoDisplay:biome:false:15:-1 +infoDisplay:weather:false:15:-1 +infoDisplay:light_level:0:15:-1 +infoDisplay:time:0:15:-1 +infoDisplay:real_time:0:15:-1 +infoDisplay:highlights:true:15:-1 +infoDisplay:light_overlay_indicator:true:15:-1 +infoDisplay:manual_cave_mode_indicator:true:15:-1 +infoDisplay:custom_sub_world:true:15:-1 +module;id=xaerominimap:minimap;active=true;x=1;y=13;centered=false;fromRight=false;fromBottom=false;flippedVer=false;flippedHor=false; diff --git a/config/xaerominimap_entities.json b/config/xaerominimap_entities.json new file mode 100644 index 000000000..51463d408 --- /dev/null +++ b/config/xaerominimap_entities.json @@ -0,0 +1,212 @@ +{ + "hardInclude": "anything", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [ + "minecraft:glow_item_frame", + "minecraft:item_frame" + ], + "name": "gui.xaero_entity_category_root", + "protection": true, + "settingOverrides": { + "displayed": true, + "displayHeight": 0.0, + "heightBasedFade": true, + "renderOrder": 0.0, + "color": 13.0, + "displayNameWhenIconFails": true, + "entityNumber": 1000.0, + "alwaysDisplayNametags": true, + "dotSize": 2.0, + "startFadingAt": 0.0, + "renderOverMinimapFrame": 1.0, + "icons": 1.0, + "names": 0.0, + "heightLimit": 20.0, + "iconScale": 1.0 + }, + "subCategories": [ + { + "hardInclude": "living", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [ + "minecraft:armor_stand" + ], + "name": "gui.xaero_entity_category_living", + "protection": true, + "settingOverrides": { + "renderOrder": 2.0, + "color": 14.0 + }, + "subCategories": [ + { + "hardInclude": "players", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_players", + "protection": true, + "settingOverrides": { + "renderOrder": 6.0, + "heightLimit": 2050.0, + "color": 15.0 + }, + "subCategories": [ + { + "hardInclude": "nothing", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_friend", + "protection": true, + "settingOverrides": {}, + "subCategories": [] + }, + { + "hardInclude": "tracked", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_tracked", + "protection": true, + "settingOverrides": { + "icons": 2.0 + }, + "subCategories": [] + }, + { + "hardInclude": "same-team", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_same_team", + "protection": true, + "settingOverrides": {}, + "subCategories": [] + }, + { + "hardInclude": "anything", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_other_teams", + "protection": true, + "settingOverrides": { + "renderOrder": 7.0 + }, + "subCategories": [] + } + ] + }, + { + "hardInclude": "hostile", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_hostile", + "protection": true, + "settingOverrides": { + "renderOrder": 3.0, + "color": 12.0 + }, + "subCategories": [ + { + "hardInclude": "tamed", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_hostile_tamed", + "protection": true, + "settingOverrides": { + "renderOrder": 5.0 + }, + "subCategories": [] + } + ] + }, + { + "hardInclude": "anything", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_friendly", + "protection": true, + "settingOverrides": { + "color": 14.0 + }, + "subCategories": [ + { + "hardInclude": "tamed", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_friendly_tamed", + "protection": true, + "settingOverrides": { + "renderOrder": 4.0, + "color": 10.0 + }, + "subCategories": [] + } + ] + } + ] + }, + { + "hardInclude": "items", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_items", + "protection": true, + "settingOverrides": { + "renderOrder": 1.0, + "color": 9.0 + }, + "subCategories": [] + }, + { + "hardInclude": "anything", + "includeList": [], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "gui.xaero_entity_category_other_entities", + "protection": true, + "settingOverrides": { + "color": 3.0 + }, + "subCategories": [ + { + "hardInclude": "nothing", + "includeList": [ + "waves:waves", + "tumbleweed:tumbleweed" + ], + "includeListInSuperCategory": true, + "excludeMode": "ONLY", + "excludeList": [], + "name": "Waves", + "protection": false, + "settingOverrides": { + "displayed": false + }, + "subCategories": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/config/xaeroworldmap.txt b/config/xaeroworldmap.txt new file mode 100644 index 000000000..574155da9 --- /dev/null +++ b/config/xaeroworldmap.txt @@ -0,0 +1,55 @@ +ignoreUpdate:0 +updateNotification:true +allowInternetAccess:true +differentiateByServerAddress:true +caveMapsAllowed:true +debug:false +lighting:true +colours:0 +loadChunks:true +updateChunks:true +terrainSlopes:2 +terrainDepth:true +footsteps:true +flowers:true +coordinates:true +hoveredBiome:true +biomeColorsVanillaMode:false +waypoints:true +renderArrow:true +displayZoom:true +worldmapWaypointsScale:1.0 +openMapAnimation:true +reloadVersion:0 +reloadEverything:false +zoomButtons:true +waypointBackgrounds:true +detectAmbiguousY:true +showDisabledWaypoints:false +closeWaypointsWhenHopping:true +adjustHeightForCarpetLikeBlocks:true +onlyCurrentMapWaypoints:false +minZoomForLocalWaypoints:0.0 +arrowColour:-2 +minimapRadar:true +renderWaypoints:true +partialYTeleportation:true +displayStainedGlass:true +caveModeDepth:30 +caveModeStart:2147483647 +autoCaveMode:-1 +legibleCaveMaps:false +displayCaveModeStart:true +caveModeToggleTimer:1000 +defaultCaveModeType:1 +biomeBlending:true +trackedPlayers:true +multipleImagesExport:false +nightExport:false +highlightsExport:false +exportScaleDownSquare:20 +mapWritingDistance:-1 +displayClaims:true +claimsFillOpacity:46 +claimsBorderOpacity:80 +globalVersion:1 diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index d60c2b37c..30beb43a9 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -21,10 +21,10 @@ bulkCutting = false #. #Allow supported potions to be brewed by a Mechanical Mixer + Basin. - allowBrewingInMixer = true + allowBrewingInMixer = false #. #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = true + allowShapelessInMixer = false #. #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. allowShapedSquareInPress = true @@ -53,10 +53,10 @@ lightSourceCountForRefinedRadiance = 10 #. #Allow the standard in-world Refined Radiance recipes. - enableRefinedRadianceRecipe = true + enableRefinedRadianceRecipe = false #. #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = true + enableShadowSteelRecipe = false #. #Parameters and abilities of Create's kinetic mechanisms @@ -68,7 +68,7 @@ #. #Maximum length in blocks of mechanical belts. #Range: > 5 - maxBeltLength = 20 + maxBeltLength = 5 #. #Damage dealt by active Crushing Wheels. #Range: > 0 @@ -197,6 +197,10 @@ #. #Whether minecart contraptions can be placed into container items. minecartContraptionInContainers = false + #. + #Whether stabilised bearings create a separated entity even on non-rotating contraptions. + #[Technical] + stabiliseStableContraptions = false #. #Configure speed/capacity levels for requirements and indicators. @@ -215,22 +219,22 @@ #[in Stress Units] #Minimum stress impact to be considered 'medium' #Range: 0.0 ~ 4096.0 - mediumStressImpact = 4.0 + mediumStressImpact = 1.0 #. #[in Stress Units] #Minimum stress impact to be considered 'high' #Range: 0.0 ~ 65535.0 - highStressImpact = 8.0 + highStressImpact = 2.0 #. #[in Stress Units] #Minimum added Capacity by sources to be considered 'medium' #Range: 0.0 ~ 4096.0 - mediumCapacity = 256.0 + mediumCapacity = 32.0 #. #[in Stress Units] #Minimum added Capacity by sources to be considered 'high' #Range: 0.0 ~ 65535.0 - highCapacity = 1024.0 + highCapacity = 128.0 [kinetics.stressValues] @@ -244,63 +248,63 @@ #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives. [kinetics.stressValues.v2.impact] display_board = 0.0 - deployer = 4.0 - mechanical_piston = 4.0 - millstone = 4.0 - mechanical_bearing = 4.0 - clockwork_bearing = 4.0 - cuckoo_clock = 1.0 + deployer = 0.25 + mechanical_piston = 0.5 + millstone = 65535.0 + mechanical_bearing = 1.0 + clockwork_bearing = 0.5 + cuckoo_clock = 0.125 speedometer = 0.0 - copper_backtank = 4.0 - mechanical_saw = 4.0 + copper_backtank = 0.5 + mechanical_saw = 65535.0 flywheel = 0.0 encased_chain_drive = 0.0 clutch = 0.0 - encased_fan = 2.0 + encased_fan = 65535.0 adjustable_chain_gearshift = 0.0 - mechanical_pump = 4.0 - crushing_wheel = 8.0 - mechanical_mixer = 4.0 + mechanical_pump = 65535.0 + crushing_wheel = 65535.0 + mechanical_mixer = 65535.0 gantry_shaft = 0.0 - rope_pulley = 4.0 + rope_pulley = 0.5 rotation_speed_controller = 0.0 - mechanical_arm = 2.0 - netherite_backtank = 4.0 - andesite_encased_shaft = 0.0 - mechanical_press = 8.0 - large_cogwheel = 0.0 - mechanical_drill = 4.0 - andesite_encased_large_cogwheel = 0.0 - brass_encased_large_cogwheel = 0.0 - mysterious_cuckoo_clock = 1.0 + mechanical_arm = 0.5 + netherite_backtank = 0.5 + andesite_encased_shaft = 65535.0 + mechanical_press = 65535.0 + large_cogwheel = 65535.0 + mechanical_drill = 0.5 + andesite_encased_large_cogwheel = 65535.0 + brass_encased_large_cogwheel = 65535.0 + mysterious_cuckoo_clock = 0.125 stressometer = 0.0 - shaft = 0.0 - brass_encased_shaft = 0.0 + shaft = 65535.0 + brass_encased_shaft = 65535.0 gearshift = 0.0 - turntable = 4.0 - sticky_mechanical_piston = 4.0 + turntable = 0.5 + sticky_mechanical_piston = 0.5 sequenced_gearshift = 0.0 - weighted_ejector = 2.0 - cogwheel = 0.0 - andesite_encased_cogwheel = 0.0 - belt = 0.0 - brass_encased_cogwheel = 0.0 + weighted_ejector = 0.25 + cogwheel = 65535.0 + andesite_encased_cogwheel = 65535.0 + belt = 65535.0 + brass_encased_cogwheel = 65535.0 gearbox = 0.0 - hose_pulley = 4.0 - elevator_pulley = 4.0 - mechanical_crafter = 2.0 + hose_pulley = 0.5 + elevator_pulley = 0.5 + mechanical_crafter = 0.25 #. #[in Stress Units] #Configure how much stress a source can accommodate for. [kinetics.stressValues.v2.capacity] - copper_valve_handle = 8.0 - hand_crank = 8.0 - steam_engine = 1024.0 + copper_valve_handle = 2.0 + hand_crank = 2.0 + steam_engine = 32.0 creative_motor = 16384.0 - large_water_wheel = 128.0 - water_wheel = 32.0 - windmill_bearing = 512.0 + large_water_wheel = 16.0 + water_wheel = 4.0 + windmill_bearing = 32.0 #. #Create's liquid manipulation tools @@ -310,7 +314,7 @@ #[in Buckets] #The amount of liquid a tank can hold per block. #Range: > 1 - fluidTankCapacity = 8 + fluidTankCapacity = 16 #. #[in Blocks] #The maximum height a fluid tank can reach. @@ -331,7 +335,7 @@ #[-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 = 0 + hosePulleyBlockThreshold = 2000 #. #Whether hose pulleys should continue filling up above-threshold sources. fillInfinite = false @@ -341,7 +345,7 @@ bottomlessFluidMode = "ALLOW_BY_TAG" #. #Whether hose pulleys should be allowed to place fluid sources. - fluidFillPlaceFluidSourceBlocks = false + fluidFillPlaceFluidSourceBlocks = true #. #Whether open-ended pipes should be allowed to place fluid sources. pipesPlaceFluidSourceBlocks = false @@ -390,9 +394,8 @@ #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air creativePrintIncludesAir = false #. - #[in KiloBytes] - #The maximum allowed file size of uploaded Schematics. - #Range: > 16 + #The amount of Schematics a player can upload until previous ones are overwritten. + #Range: > 1 maxSchematics = 256 #. #[in Bytes] @@ -403,6 +406,11 @@ #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 + maxTotalSchematicSize = 256 #. #Schematicannon @@ -412,13 +420,9 @@ #Range: > 1 schematicannonDelay = 10 #. - #% 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 blocks a Schematicannon can print per Gunpowder item provided. + #Range: > 1 + schematicannonShotsPerGunpowder = 400 #. #Equipment and gadgets added by Create @@ -439,7 +443,7 @@ #. #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing #Range: > 1 - airInBacktank = 900 + airInBacktank = 1200 #. #The volume of Air added by each level of the backtanks Capacity Enchantment #Range: > 1 @@ -475,7 +479,7 @@ #. #Relative speed of a manually controlled Train compared to a Scheduled one. #Range: 0.0 ~ 3.4028234663852886E38 - manualTrainSpeedModifier = 0.75 + manualTrainSpeedModifier = 1 #. #Standard Trains diff --git a/defaultconfigs/create_connected-server.toml b/defaultconfigs/create_connected-server.toml new file mode 100644 index 000000000..8afdc2f14 --- /dev/null +++ b/defaultconfigs/create_connected-server.toml @@ -0,0 +1,54 @@ +#. +#Number of sub-folders allowed for schematics +#Range: 0 ~ 20 +schematicsNestingDepth = 5 +#. +#Enable the fix that gives remaining items after manual application +applicationRemainingItemFix = true +#. +#Modify the stress output when a Fluid Vessel is used as a boiler +#Range: 0.0 ~ 3.4028234663852886E38 +vesselBoilerStressMultiplier = 0.8125 +#. +#Modify the heat level when a Fluid Vessel is used as a boiler +#Range: 0.0 ~ 3.4028234663852886E38 +vesselHeatMultiplier = 0.5 +#. +#Limit the max boiler level achievable with a Fluid Vessel +#Range: 0 ~ 18 +vesselMaxLevel = 18 + +[stressValues] + + #. + #Fine tune the kinetic stats of individual components + [stressValues.v2] + #. + #Stress impact of a powered brake [in Stress Units] + #Range: -Infinity ~ Infinity + brakeActiveStress = 16384.0 + + #. + #. + #[in Stress Units] + #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives. + [stressValues.v2.impact] + inverted_gearshift = 0.0 + six_way_gearbox = 0.0 + centrifugal_clutch = 0.0 + overstress_clutch = 0.0 + brake = 0.0 + encased_chain_cogwheel = 0.0 + inverted_clutch = 0.0 + parallel_gearbox = 0.0 + freewheel_clutch = 0.0 + brass_gearbox = 0.0 + shear_pin = 0.0 + + #. + #[in Stress Units] + #Configure how much stress a source can accommodate for. + [stressValues.v2.capacity] + crank_wheel = 2.0 + large_crank_wheel = 2.0 + diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml new file mode 100644 index 000000000..b68cf9a5b --- /dev/null +++ b/defaultconfigs/createhorsepower-server.toml @@ -0,0 +1,34 @@ + +#General Settings +[general] + #Base rpm creatures can spin the horse crank. + #Range: > 1 + creatureRPMRange = 16 + #How much stress small creatures can produce for the horse crank. + #Range: > 1 + smallCreatureStressRange = 4 + #How much stress medium creatures can produce for the horse crank. + #Range: > 1 + mediumCreatureStressRange = 6 + #How much stress large creatures can produce for the horse crank. + #Range: > 1 + largeCreatureStressRange = 8 + +#Path Category +[paths] + #Types of blocks valid as "Poor" quality, + poor_path_block = ["tfc:rooted_dirt/sandy_loam", "tfc:clay/sandy_loam", "tfc:dirt/sandy_loam", "tfc:rooted_dirt/loam", "tfc:clay/loam", "tfc:clay/silt", "tfc:dirt/loam", "tfc:rooted_dirt/silt", "tfc:dirt/silt", "tfc:dirt/silty_loam", "tfc:clay/silty_loam", "tfc:rooted_dirt/silty_loam", "tfc:peat_grass", "tfc:clay_grass/silty_loam", "tfc:grass/silty_loam", "tfc:clay_grass/sandy_loam", "tfc:grass/sandy_loam", "tfc:clay_grass/loam", "tfc:grass/loam", "tfc:clay_grass/silt", "tfc:grass/silt"] + #Types of blocks valid as "Normal" quality, + normal_path_block = ["tfc:rock/gravel/granite", "tfc:rock/gravel/diorite", "tfc:rock/gravel/gabbro", "tfc:rock/gravel/shale", "tfc:rock/gravel/claystone", "tfc:rock/gravel/limestone", "tfc:rock/gravel/conglomerate", "tfc:rock/gravel/dolomite", "tfc:rock/gravel/chert", "tfc:rock/gravel/schist", "tfc:rock/gravel/phyllite", "tfc:rock/gravel/slate", "tfc:rock/gravel/quartzite", "tfc:rock/gravel/dacite", "tfc:rock/gravel/andesite", "tfc:rock/gravel/basalt", "tfc:rock/gravel/rhyolite", "tfc:rock/gravel/chalk", "tfc:rock/gravel/marble", "tfc:grass_path/silt", "tfc:grass_path/loam", "tfc:grass_path/sandy_loam", "tfc:grass_path/silty_loam", "rnr:hoggin"] + #Types of blocks valid as "Great" quality, + great_path_block = ["rnr:rock/gravel_road/chert", "rnr:rock/gravel_road/chalk", "rnr:rock/gravel_road/rhyolite", "rnr:rock/gravel_road/basalt", "rnr:rock/gravel_road/andesite", "rnr:rock/gravel_road/claystone", "rnr:rock/gravel_road/limestone", "rnr:rock/gravel_road/conglomerate", "rnr:rock/gravel_road/dolomite", "rnr:rock/sett_road/granite", "rnr:rock/sett_road/diorite", "rnr:rock/sett_road/chalk", "rnr:rock/sett_road/rhyolite", "rnr:rock/sett_road/basalt", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/sett_road/andesite", "rnr:rock/cobbled_road/chert", "rnr:rock/cobbled_road/dolomite", "rnr:rock/gravel_road/granite", "rnr:rock/gravel_road/marble", "rnr:rock/gravel_road/schist", "rnr:rock/gravel_road/phyllite", "rnr:rock/gravel_road/slate", "rnr:rock/gravel_road/quartzite", "rnr:rock/gravel_road/dacite", "rnr:rock/macadam_road/rhyolite", "rnr:rock/macadam_road/chalk", "rnr:rock/macadam_road/chert", "rnr:rock/macadam_road/dolomite", "rnr:rock/macadam_road/conglomerate", "rnr:rock/macadam_road/limestone", "rnr:rock/macadam_road/gabbro", "rnr:rock/macadam_road/claystone", "rnr:rock/macadam_road/shale", "rnr:rock/macadam_road/gneiss", "rnr:rock/macadam_road/marble", "rnr:rock/macadam_road/schist", "rnr:rock/macadam_road/phyllite", "rnr:rock/macadam_road/slate", "rnr:rock/macadam_road/quartzite", "rnr:rock/macadam_road/dacite", "rnr:rock/macadam_road/andesite", "rnr:rock/macadam_road/basalt", "rnr:rock/gravel_road/diorite", "rnr:rock/gravel_road/gabbro", "rnr:rock/gravel_road/shale", "rnr:rock/macadam_road/diorite", "rnr:rock/macadam_road/granite", "rnr:rock/cobbled_road/conglomerate", "rnr:rock/cobbled_road/limestone", "rnr:rock/cobbled_road/claystone", "rnr:rock/cobbled_road/shale", "rnr:rock/cobbled_road/gabbro", "rnr:rock/cobbled_road/diorite", "rnr:rock/cobbled_road/granite", "rnr:rock/cobbled_road/phyllite", "rnr:rock/cobbled_road/schist", "rnr:rock/cobbled_road/slate", "rnr:rock/cobbled_road/quartzite", "rnr:rock/cobbled_road/dacite", "rnr:rock/cobbled_road/andesite", "rnr:rock/cobbled_road/rhyolite", "rnr:rock/cobbled_road/basalt", "rnr:rock/cobbled_road/chalk", "rnr:rock/cobbled_road/gneiss", "rnr:rock/cobbled_road/marble", "rnr:rock/sett_road/chert", "rnr:rock/sett_road/dolomite", "rnr:rock/sett_road/conglomerate", "rnr:rock/sett_road/limestone", "rnr:rock/sett_road/claystone", "rnr:rock/sett_road/shale", "rnr:rock/sett_road/gabbro", "rnr:rock/flagstones/gneiss", "rnr:rock/flagstones/marble", "rnr:black_sandstone_flagstones", "rnr:brown_sandstone_flagstones", "rnr:green_sandstone_flagstones", "rnr:pink_sandstone_flagstones", "rnr:red_sandstone_flagstones", "rnr:white_sandstone_flagstones", "rnr:yellow_sandstone_flagstones", "rnr:concrete_road_sett", "rnr:brick_road", "rnr:rock/sett_road/marble", "rnr:rock/sett_road/gneiss", "rnr:rock/sett_road/schist", "rnr:rock/sett_road/phyllite", "rnr:rock/sett_road/slate", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/flagstones/chert", "rnr:rock/flagstones/dolomite", "rnr:rock/flagstones/conglomerate", "rnr:rock/flagstones/limestone", "rnr:rock/flagstones/claystone", "rnr:rock/flagstones/shale", "rnr:rock/flagstones/gabbro", "rnr:rock/flagstones/diorite", "rnr:rock/flagstones/granite", "rnr:rock/flagstones/schist", "rnr:rock/flagstones/phyllite", "rnr:rock/flagstones/slate", "rnr:rock/flagstones/quartzite", "rnr:rock/flagstones/andesite", "rnr:rock/flagstones/dacite", "rnr:rock/flagstones/basalt", "rnr:rock/flagstones/rhyolite", "rnr:rock/flagstones/chalk"] + +#Creature Category +[workers] + #Valid "Small" creatures + small_creatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tfc:alpaca"] + #Valid "Medium" creatures + medium_creatures = ["tfc:cow", "tfc:donkey", "tfc:dolphin"] + #Valid "Large" creatures + large_creatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak"] + diff --git a/defaultconfigs/greate-server.toml b/defaultconfigs/greate-server.toml new file mode 100644 index 000000000..7f31edd5c --- /dev/null +++ b/defaultconfigs/greate-server.toml @@ -0,0 +1,399 @@ +#. +#Multiplier used for calculating how many ticks should initially be removed in fan processing recipes, based on how fast the fan is spinning. +#Range: 0.0 ~ 3.4028234663852886E38 +fanSpeedMultiplier = 0.75 + +#. +#Parameters and abilities of Greate's kinetic mechanisms +[kinetics] + + #. + #. + #Fine tune settings related to belts + [kinetics.belts] + + #. + #. + #Rubber Belt Settings + [kinetics.belts.rubber] + #. + #Maximum length in blocks of rubber mechanical belts + #Range: > 5 + rubberMaxBeltLength = 20 + + #. + #Silicone Rubber Belt Settings + [kinetics.belts.silicone] + #. + #Maximum length in blocks of silicone mechanical belts + #Range: > 5 + siliconeMaxBeltLength = 25 + + #. + #Polyethylene Belt Settings + [kinetics.belts.polyethylene] + #. + #Maximum length in blocks of polyethylene mechanical belts + #Range: > 5 + polyethyleneMaxBeltLength = 30 + + #. + #Polytetrafluoroethylene Belt Settings + [kinetics.belts.polytetrafluoroethylene] + #. + #Maximum length in blocks of polytetrafluoroethylene mechanical belts + #Range: > 5 + polytetrafluoroethyleneMaxBeltLength = 35 + + #. + #Polybenzimidazole Belt Settings + [kinetics.belts.polybenzimidazole] + #. + #Maximum length in blocks of polybenzimidazole mechanical belts + #Range: > 5 + polybenzimidazoleMaxBeltLength = 40 + + [kinetics.stressValues] + + #. + #Fine tune the kinetic stats of individual components + [kinetics.stressValues.v1] + + #. + #.[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.v1.impact] + + [kinetics.stressValues.v1.impact.andesite_alloy] + andesite_alloy_shaft = 0.0 + andesite_encased_andesite_alloy_shaft = 0.0 + brass_encased_andesite_alloy_shaft = 0.0 + andesite_alloy_cogwheel = 0.0 + large_andesite_alloy_cogwheel = 0.0 + andesite_encased_andesite_alloy_cogwheel = 0.0 + andesite_encased_large_andesite_alloy_cogwheel = 0.0 + brass_encased_andesite_alloy_cogwheel = 0.0 + brass_encased_large_andesite_alloy_cogwheel = 0.0 + andesite_alloy_crushing_wheel = 0.5 + andesite_alloy_encased_fan = 0.5 + andesite_alloy_gearbox = 0.0 + andesite_alloy_mechanical_press = 1.0 + andesite_alloy_mechanical_mixer = 0.5 + andesite_alloy_millstone = 0.25 + andesite_alloy_mechanical_saw = 0.5 + andesite_alloy_mechanical_pump = 0.5 + + [kinetics.stressValues.v1.impact.steel] + steel_shaft = 0.0 + andesite_encased_steel_shaft = 0.0 + brass_encased_steel_shaft = 0.0 + steel_cogwheel = 0.0 + large_steel_cogwheel = 0.0 + andesite_encased_steel_cogwheel = 0.0 + andesite_encased_large_steel_cogwheel = 0.0 + brass_encased_steel_cogwheel = 0.0 + brass_encased_large_steel_cogwheel = 0.0 + steel_crushing_wheel = 1.0 + steel_encased_fan = 1.0 + steel_gearbox = 0.0 + steel_mechanical_press = 2.0 + steel_mechanical_mixer = 1.0 + steel_millstone = 0.5 + steel_mechanical_saw = 1.0 + steel_mechanical_pump = 1.0 + + [kinetics.stressValues.v1.impact.aluminium] + aluminium_shaft = 0.0 + andesite_encased_aluminium_shaft = 0.0 + brass_encased_aluminium_shaft = 0.0 + aluminium_cogwheel = 0.0 + large_aluminium_cogwheel = 0.0 + andesite_encased_aluminium_cogwheel = 0.0 + andesite_encased_large_aluminium_cogwheel = 0.0 + brass_encased_aluminium_cogwheel = 0.0 + brass_encased_large_aluminium_cogwheel = 0.0 + aluminium_crushing_wheel = 1.5 + aluminium_encased_fan = 1.5 + aluminium_gearbox = 0.0 + aluminium_mechanical_press = 3.0 + aluminium_mechanical_mixer = 1.5 + aluminium_millstone = 1.0 + aluminium_mechanical_saw = 1.5 + aluminium_mechanical_pump = 1.5 + + [kinetics.stressValues.v1.impact.stainless_steel] + stainless_steel_shaft = 0.0 + andesite_encased_stainless_steel_shaft = 0.0 + brass_encased_stainless_steel_shaft = 0.0 + stainless_steel_cogwheel = 0.0 + large_stainless_steel_cogwheel = 0.0 + andesite_encased_stainless_steel_cogwheel = 0.0 + andesite_encased_large_stainless_steel_cogwheel = 0.0 + brass_encased_stainless_steel_cogwheel = 0.0 + brass_encased_large_stainless_steel_cogwheel = 0.0 + stainless_steel_crushing_wheel = 2.0 + stainless_steel_encased_fan = 2.0 + stainless_steel_gearbox = 0.0 + stainless_steel_mechanical_press = 4.0 + stainless_steel_mechanical_mixer = 2.0 + stainless_steel_millstone = 1.5 + stainless_steel_mechanical_saw = 2.0 + stainless_steel_mechanical_pump = 2.0 + + [kinetics.stressValues.v1.impact.titanium] + titanium_shaft = 0.0 + andesite_encased_titanium_shaft = 0.0 + brass_encased_titanium_shaft = 0.0 + titanium_cogwheel = 0.0 + large_titanium_cogwheel = 0.0 + andesite_encased_titanium_cogwheel = 0.0 + andesite_encased_large_titanium_cogwheel = 0.0 + brass_encased_titanium_cogwheel = 0.0 + brass_encased_large_titanium_cogwheel = 0.0 + titanium_crushing_wheel = 2.5 + titanium_encased_fan = 2.5 + titanium_gearbox = 0.0 + titanium_mechanical_press = 5.0 + titanium_mechanical_mixer = 2.5 + titanium_millstone = 2.0 + titanium_mechanical_saw = 2.5 + titanium_mechanical_pump = 2.5 + + [kinetics.stressValues.v1.impact.tungsten_steel] + tungsten_steel_shaft = 0.0 + andesite_encased_tungsten_steel_shaft = 0.0 + brass_encased_tungsten_steel_shaft = 0.0 + tungsten_steel_cogwheel = 0.0 + large_tungsten_steel_cogwheel = 0.0 + andesite_encased_tungsten_steel_cogwheel = 0.0 + andesite_encased_large_tungsten_steel_cogwheel = 0.0 + brass_encased_tungsten_steel_cogwheel = 0.0 + brass_encased_large_tungsten_steel_cogwheel = 0.0 + tungsten_steel_crushing_wheel = 3.0 + tungsten_steel_encased_fan = 3.0 + tungsten_steel_gearbox = 0.0 + tungsten_steel_mechanical_press = 6.0 + tungsten_steel_mechanical_mixer = 3.0 + tungsten_steel_millstone = 2.5 + tungsten_steel_mechanical_saw = 3.0 + tungsten_steel_mechanical_pump = 3.0 + + [kinetics.stressValues.v1.impact.rhodium_plated_palladium] + rhodium_plated_palladium_shaft = 0.0 + andesite_encased_rhodium_plated_palladium_shaft = 0.0 + brass_encased_rhodium_plated_palladium_shaft = 0.0 + rhodium_plated_palladium_cogwheel = 0.0 + large_rhodium_plated_palladium_cogwheel = 0.0 + andesite_encased_rhodium_plated_palladium_cogwheel = 0.0 + andesite_encased_large_rhodium_plated_palladium_cogwheel = 0.0 + brass_encased_rhodium_plated_palladium_cogwheel = 0.0 + brass_encased_large_rhodium_plated_palladium_cogwheel = 0.0 + rhodium_plated_palladium_crushing_wheel = 3.5 + rhodium_plated_palladium_encased_fan = 3.5 + rhodium_plated_palladium_gearbox = 0.0 + rhodium_plated_palladium_mechanical_press = 7.0 + rhodium_plated_palladium_mechanical_mixer = 3.5 + rhodium_plated_palladium_millstone = 3.0 + rhodium_plated_palladium_mechanical_saw = 3.5 + rhodium_plated_palladium_mechanical_pump = 3.5 + + [kinetics.stressValues.v1.impact.naquadah_alloy] + naquadah_alloy_shaft = 0.0 + andesite_encased_naquadah_alloy_shaft = 0.0 + brass_encased_naquadah_alloy_shaft = 0.0 + naquadah_alloy_cogwheel = 0.0 + large_naquadah_alloy_cogwheel = 0.0 + andesite_encased_naquadah_alloy_cogwheel = 0.0 + andesite_encased_large_naquadah_alloy_cogwheel = 0.0 + brass_encased_naquadah_alloy_cogwheel = 0.0 + brass_encased_large_naquadah_alloy_cogwheel = 0.0 + naquadah_alloy_crushing_wheel = 4.0 + naquadah_alloy_encased_fan = 4.0 + naquadah_alloy_gearbox = 0.0 + naquadah_alloy_mechanical_press = 8.0 + naquadah_alloy_mechanical_mixer = 4.0 + naquadah_alloy_millstone = 4.5 + naquadah_alloy_mechanical_saw = 4.0 + naquadah_alloy_mechanical_pump = 4.0 + + [kinetics.stressValues.v1.impact.darmstadtium] + darmstadtium_shaft = 0.0 + andesite_encased_darmstadtium_shaft = 0.0 + brass_encased_darmstadtium_shaft = 0.0 + darmstadtium_cogwheel = 0.0 + large_darmstadtium_cogwheel = 0.0 + andesite_encased_darmstadtium_cogwheel = 0.0 + andesite_encased_large_darmstadtium_cogwheel = 0.0 + brass_encased_darmstadtium_cogwheel = 0.0 + brass_encased_large_darmstadtium_cogwheel = 0.0 + darmstadtium_crushing_wheel = 4.5 + darmstadtium_encased_fan = 4.5 + darmstadtium_gearbox = 0.0 + darmstadtium_mechanical_press = 9.0 + darmstadtium_mechanical_mixer = 4.5 + darmstadtium_millstone = 5.0 + darmstadtium_mechanical_saw = 4.5 + darmstadtium_mechanical_pump = 4.5 + + [kinetics.stressValues.v1.impact.neutronium] + neutronium_shaft = 0.0 + andesite_encased_neutronium_shaft = 0.0 + brass_encased_neutronium_shaft = 0.0 + neutronium_cogwheel = 0.0 + large_neutronium_cogwheel = 0.0 + andesite_encased_neutronium_cogwheel = 0.0 + andesite_encased_large_neutronium_cogwheel = 0.0 + brass_encased_neutronium_cogwheel = 0.0 + brass_encased_large_neutronium_cogwheel = 0.0 + neutronium_crushing_wheel = 5.0 + neutronium_encased_fan = 5.6 + neutronium_gearbox = 0.0 + neutronium_mechanical_press = 10.0 + neutronium_mechanical_mixer = 5.0 + neutronium_millstone = 5.5 + neutronium_mechanical_saw = 5.0 + neutronium_mechanical_pump = 5.0 + + [kinetics.stressValues.v1.impact."gtceu:rubber"] + rubber_belt_andesite_alloy = 0.0 + rubber_belt_steel = 0.0 + + [kinetics.stressValues.v1.impact."gtceu:silicone_rubber"] + silicone_rubber_belt_aluminium = 0.0 + silicone_rubber_belt_stainless_steel = 0.0 + + [kinetics.stressValues.v1.impact."gtceu:polyethylene"] + polyethylene_belt_titanium = 0.0 + polyethylene_belt_tungsten_steel = 0.0 + + [kinetics.stressValues.v1.impact."gtceu:polytetrafluoroethylene"] + polytetrafluoroethylene_belt_rhodium_plated_palladium = 0.0 + polytetrafluoroethylene_belt_naquadah_alloy = 0.0 + + [kinetics.stressValues.v1.impact."gtceu:polybenzimidazole"] + polybenzimidazole_belt_darmstadtium = 0.0 + polybenzimidazole_belt_neutronium = 0.0 + + #. + #Fine tune settings related to tiers + [kinetics.stressValues.v1.maxCapacity] + + #. + #. + #Settings related to andesite tier machines + [kinetics.stressValues.v1.maxCapacity.andesite] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + andesiteMaxCapacity = 16 + + #. + #Settings related to steel tier machines + [kinetics.stressValues.v1.maxCapacity.steel] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + steelMaxCapacity = 64 + + #. + #Settings related to aluminium tier machines + [kinetics.stressValues.v1.maxCapacity.aluminium] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + aluminiumMaxCapacity = 256 + + #. + #Settings related to stainless steel tier machines + [kinetics.stressValues.v1.maxCapacity.stainlessSteel] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + stainlessSteelMaxCapacity = 1024 + + #. + #Settings related to titanium tier machines + [kinetics.stressValues.v1.maxCapacity.titanium] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + titaniumMaxCapacity = 4096 + + #. + #Settings related to tungstensteel tier machines + [kinetics.stressValues.v1.maxCapacity.tungstensteel] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + tungstensteelMaxCapacity = 16384 + + #. + #Settings related to palladium tier machines + [kinetics.stressValues.v1.maxCapacity.palladium] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + palladiumMaxCapacity = 65536 + + #. + #Settings related to naquadah tier machines + [kinetics.stressValues.v1.maxCapacity.naquadah] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + naquadahMaxCapacity = 262144 + + #. + #Settings related to darmstadtium tier machines + [kinetics.stressValues.v1.maxCapacity.darmstadtium] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + darmstadtiumMaxCapacity = 1048576 + + #. + #Settings related to neutronium tier machines + [kinetics.stressValues.v1.maxCapacity.neutronium] + #. + #Configure the max stress a kinetic block of this tier can support. + #Range: > -2147483648 + neutroniumMaxCapacity = 2097152 + + #. + #Fine tune settings related to pumps + [kinetics.pumps] + + #. + #. + #Configure the individual pressure of pumps. Note that pressure is multiplied by the speed of the pump + [kinetics.pumps.pressure] + #. + #Range: 0.0 ~ 3.4028234663852886E38 + andesitePressure = 4.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + steelPressure = 16.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + aluminiumPressure = 64.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + stainlessSteelPressure = 256.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + titaniumPressure = 1028.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + tungstensteelPressure = 4096.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + palladiumPressure = 16384.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + naquadahPressure = 65536.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + darmstadtiumPressure = 262144.0 + #. + #Range: 0.0 ~ 3.4028234663852886E38 + neutroniumPressure = 1048576.0 + diff --git a/defaultconfigs/openpartiesandclaims-server.toml b/defaultconfigs/openpartiesandclaims-server.toml index 0b3d1366c..9272b5159 100644 --- a/defaultconfigs/openpartiesandclaims-server.toml +++ b/defaultconfigs/openpartiesandclaims-server.toml @@ -58,7 +58,7 @@ #The maximum number of claimed chunks that a player can forceload. Additional forceloads can be configured in the player config. #This value can be overridden with a player permission. #Range: > 0 - maxPlayerClaimForceloads = 3 + maxPlayerClaimForceloads = 10 #The permission that should override the default "maxPlayerClaims" value. Set it to an empty string to never check permissions. The used permission system can be configured with "permissionSystem". maxPlayerClaimsPermission = "ftbchunks.max_claimed" #The permission that should override the default "maxPlayerClaimForceloads" value. Set it to an empty string to never check permissions. diff --git a/defaultconfigs/vintageimprovements-server.toml b/defaultconfigs/vintageimprovements-server.toml new file mode 100644 index 000000000..c16f1472f --- /dev/null +++ b/defaultconfigs/vintageimprovements-server.toml @@ -0,0 +1,126 @@ + +#. +#Packmakers' control panel for internal recipe compat +[recipes] + + #. + #. + #Recipes configs + [recipes.recipes] + + #. + #Grinder settings + [recipes.recipes.grinder] + #. + #Destroy item, when it inserted in grinder with wrong recipe speed. Only for sandpaper recipes. + destroyOnWrongGrinderSpeed = false + #. + #Low speed value for grinder crafts, speedLimits = 1. + #Range: 1 ~ 256 + lowSpeedValue = 16 + #. + #Medium speed value for grinder crafts, speedLimits = 2. + #Range: 1 ~ 256 + mediumSpeedValue = 64 + #. + #Allows sandpaper crafts on belt grinder, when recipes collides belt grinder recipe have priority. + allowSandpaperPolishingOnGrinder = true + #. + #Works only when "allowSandpaperPolishingOnGrinder" is true. Defines speed limits for sandpaper recipes on belt grinder. + #Range: 0 ~ 3 + speedLimitsForSandpaperPolishingRecipes = 1 + + #. + #Vibrating Table settings + [recipes.recipes.vibratingTable] + #. + #Allows unpacking storage blocks crafts on vibrating table. + allowUnpackingOnVibratingTable = false + #. + #Allows vibrating leaves on vibrating table to get matching drops. + allowVibratingLeaves = false + + #. + #Curving Press settings + [recipes.recipes.curvingPress] + #. + #Allows automatic recognize recipes for curving press + allowAutoCurvingRecipes = false + #. + #Amount of damage, that curving heads will get after auto recipe + #Range: 0 ~ 1000 + damageHeadAfterAutoCurvingRecipe = 0 + + #. + #Helve Hammer settings + [recipes.recipes.helveHammer] + #. + #Allows processing templateless recipes for Helve Hammer + allowTemplatelessRecipes = true + #. + #Helve Hammer will damage Anvil after finishing recipe + damageAnvilAfterHammeringRecipe = false + #. + #Chance of Anvil damaging after finishing recipe + #Range: 1 ~ 100 + chanceToDamageAnvilAfterHammeringRecipe = 12 + +#. +#Parameters and abilities of Vintage Improvements's kinetic mechanisms +[kinetics] + + [kinetics.stressValues] + + #. + #. + #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] + laser = 0.25 + belt_grinder = 0.5 + vacuum_chamber = 0.5 + lathe = 0.25 + lathe_moving = 0.25 + vibrating_table = 0.5 + helve_kinetic = 0.5 + curving_press = 0.5 + spring_coiling_machine = 0.5 + centrifuge = 0.5 + +#. +#Parameters and abilities of Vintage Improvements's energy mechanisms +[energy] + + #. + #. + #Energy configs + [energy.energy] + #. + #Enable if energy machines doesn't consume energy + forceEnergy = false + + #. + #Laser settings + [energy.energy.laser] + #. + #Laser max input in FE/t (Energy transfer) + #Range: > 0 + laserMaxInput = 10000 + #. + #Laser internal capacity in FE + #Range: > 0 + laserCapacity = 40000 + #. + #Laser charge rate in FE/t + #Range: > 0 + laserChargeRate = 5000 + #. + #Laser charge rate in FE/t for recipes + #Range: > 0 + laserRecipeChargeRate = 2000 + diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fdaf5f4e87149d1fe323864167999eed4326909d GIT binary patch literal 2441 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 AIsgCw literal 0 HcmV?d00001 diff --git a/kubejs/.README IF TRANSLATING b/kubejs/.README IF TRANSLATING new file mode 100644 index 000000000..dc2aafa30 --- /dev/null +++ b/kubejs/.README IF TRANSLATING @@ -0,0 +1,9 @@ +Files located at "assets/x/lang" (where x is the modid youre looking to translate), which are the localization files, are AUTO GENERATED by an external tool in the repo ("minecraft/tools/LanguageMerger") +This means that any changes done to the files in "assets/x/lang" WILL BE OVERWRITTEN the next time the tool is ran! + +If you wish to properly write localization for an already supported/translated mod: +1. Go to "minecraft/tools/LanguageMerger/LanguageFiles" +2. Go to the folder of your mod of choice. +3. Open the Localization folder for your language, these are the actual locales supported by the mod (ie: en_us) + * If youre looking to add a new language, create a new folder with your chosen locale +4. Edit, or add a new JSON file with your language values. \ No newline at end of file diff --git a/kubejs/assets/afc/textures/block/syrup_tap.png b/kubejs/assets/afc/textures/block/syrup_tap.png new file mode 100644 index 0000000000000000000000000000000000000000..efd240f15a175390a11e27c715848b406027494c GIT binary patch literal 4696 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74pxOklmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9h~{HfTPIP)tUbVHUajI##FjJqMWTUz}!}5qvFN04^Q`&vfdF93WXM$qtZhUh{ z#|OjQ@A}8?3=E7dna<7up3crN z&oD4l%&DDd>v7mY=4gEIQGPAgHwupg7FykOb(QfJ?M_&@MKr3^VCNU^Stcr)dVNjV z2M_iiUDe#Zc^%)nCWRl2kMt}wcX@RF_vX?~vaxt~e0O#K?(&8UD-5o_>0(-yCb_c0 z=ghOPqw~UlTx@q_F;p`Q_Fp1y{6QxE`-hKT^$u;`bN;U-+mt;g8RmP)r0z--%ojMH z7iIOl_K|?LC)Y>Ik4qfIRqCGXdh<#8`J%&2=XoS&Ua=|ch|nq9aOdEflodyek0iQY z)rdc_YfZtuM{B~e)|C4HJLC`-?O8ncnZ~0CCnnF134zX%q7fYzR!vM&a{X<{|G(q0 z|0Hjs;L$7MAUe-LJQ)y=R;>0WrfRwK%ybv!En1KTiQKUR~>F((p0M`Ku zg7nPX09DSpPZRu1!fu~B^#L=rCI7Go0}Qxni!fH=q4E(nCqsPm>C#b8X1`+tY^vt}(9AsC4j7rH&v9e4vvNSX?Ptr|GOtjE7v9L7JwXifa&`mZrOiD~mu}C#e zF$5cxl5FLcUzD3zVyl#yo0y)eUyzp$mH-8~m1BUXt&)+R0YW4oC$S_gzbMyMDLgYT zCBM8FAr+FDn;Kk_2ntU_a}z^T69aQob4xRG6LW}FU=zbqi;6Sz^FXE=8t55YfVG1n z#>&4aGc~Uy5tLGGl^{AQato}Si&7Iy@{2<9^K)#KKt?DS=@~*C1d{emElEsCEJ<`p zEJ?LhGBPkSwK6caGO!FWG_f+Yv@$f;1#ywo=ci<*RT5Hd2g)8ckVyB)EH23}sssx` z@>FnYA%q9v=466YD<~*{vxQY+GQ?gVlXte zv`9)!Nz*m6G)UGpNli}GO-eGd)HOCsvP?5dGfOnJFhe!HI6tkVJh3R%F+DY}#8$~Y zGq(U7Rtg%>sM17LU!IW)iU$KDQ(XgNU8EpW(ua7@MjupSz|?LT+V^YJcxmyGKZEJ8V|IzLP25F5|YAqG`L2Ci=+@BN%3gv8VxRzLVzU2 zqp6E(!NrB>Or_?f*eaDP+1u@_DKKVWU|>t~c6VV2WDsG{_FlaH1p@;EXMsm#F#`j) zFbFd;%$g&?z`(#>;_2(k{*swfP+0I{PwjLD1|~L77sn8b)2WjU^X?c3xXNozidwsM z6Jz=98+W(m)$}o}Y>GMPuGYW+jJz_MiX% z39PTH6JBfTrTJ^0dP{>L+jE)HSYsY$ua!mqnt|6%r%#{G@M6^}1_42aUF#mddet?1 zwser!n(Ns;hD)X}tav@^_3PJ77nPbi3T)&&H5X1v+I_dkMsDM^NkK^xY<|my4c)d} zJM;NW)>frs9gG!~l?S7|FPq%Cckk1mKQUT*?wYI)x3_h0w|ai_!rm9x{OB~d~^&}_D^;cOYK>uTQ={3s=aDUL$1{r cmPEd;pX=j)v9tL7Zcv}y)78&qol`;+02g}JGXMYp literal 0 HcmV?d00001 diff --git a/kubejs/assets/afc/textures/item/tree_tap.png b/kubejs/assets/afc/textures/item/tree_tap.png new file mode 100644 index 0000000000000000000000000000000000000000..47d7a05b184f3cb86dafb3094152c9e59a17d242 GIT binary patch literal 4384 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74pfCilmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9h~{HbFbjs1>EK)w=gg;wq!ax2Y5O=D+CmQ z{ldUdF{gH-t;b;pnWOQ+NBOl}-zYp1SZHh(2c zA3WH9bX9Zr=5>7QniPI8KGL($+~v{v-&++W=Zg+Ao#&C9dBvu%BSNQa!<~a`QdS%>K9cBq zRU`hyt~CYs9<2$>T2t!(?~p@Wv}f_$XBv+poR~a2CImW5ibix?ST!+8$@RA(|NoB1 z{*%1b!XZx zN)4{^3rViZPPR-@vbW>1sj#ZZEyztRNmQuF&B-gas<2f8n`@Ot;j4hQnKSxuqjGOvkG!?gBnqkl4h%vQBqQ1rLSLJUanVe zte0Puu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*&0%C?sYH@N=W(tB0+w{ zvfnBtKRGkS3d}S!F*Q#yG&9moG%`ujH8C|$)3r=9Gu1URFitd2F-S2mu`oq4$}_LH zBrz{J6=YOJZh>BAW{Q6v+nImoU88I_WmVwIR|VVq)al%i{5X_TgGVrXWfn`B~;qHAf9XqjwcVPIyQ zY6LbaCE3a?zbH4c#8xRYH!(d`zaTFiECC8|E5`s&TO}hs1B6IGPGU(~eo?NiQg~)w zN`84ULMkLPH#N8<5fq+=<|c-wCI)6kCWZzUW`-6BMPaE$#hLkeAX5zu^o$`gpop>Z zFUm~KD@g>UR9hvuKdqdLQWHz^i$e1Ab8MABj#4nvGlV#(BDcWGH?<@&C9x#YC9x#c zR>{b~$kfWf*vh~%#L&db(A>(vL>I(GQlFoanN~?iwH+vX*gzuPBeS?9zo-%{1j$pu zsf7?8gqxEIQmvq%0L~UxiOCQz6epIYrhq*TmrBk^%u7#Au~mX5SeTYfEQ!I?+&nqi z(l}K&Imysa*TmGsP}joP!c^D9(%8r(%_z~xC=C*WaMO$P(@M${i&7oaQ}aq}mE1FP z3&3HepaG34O;p#EXQYDS!NAB=*T7g8Dae%cA>Omm2bCBw-`eP7gaEkDFjGTJes;jgNvjPAW89P z>Y`e3aUnWWsd*{3O65xSc5%AS!3+!xY)RhkE)0PTA`IHzi`TzkU|`@Z@Q5sCVBi)8 zVMc~ob0ioT7}!fZeO=jKGII(Fvh=0@{>Q+;aNg6!F~s8Z)k_;W4+RJu`}n`p;z08O zW^L*0ho*(iCF>F%a)~7+&TJ62Xq%wNeWT@zStfI%xx=i@T>^r>Nl!zMi`u{IIUU*mug=!{r-eUJKicZFTCz+=lF?} zbFONaQrK(LGtX6a%igO#m#Q4!xSeCd96wo?Uvq@5x{Lc1I99x#rE{9WVtTL7e#UTt zPhN`0tIzMvVTjO6WAOQ9^OdXUw04i-`N-R+FKpTN_r;0**O=Fo7L^|IaTNh|K0RIi KT-G@yGywqEa4jkT literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/lang/en_us.json b/kubejs/assets/beneath/lang/en_us.json new file mode 100644 index 000000000..7d988d17a --- /dev/null +++ b/kubejs/assets/beneath/lang/en_us.json @@ -0,0 +1,15 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.beneath.blackstone_pebble": "Loose Pyroxenite", + "block.beneath.blackstone_aqueduct": "Pyroxenite Aqueduct", + "block.beneath.ore.nether_cursecoal": "Anthracite Ore", + "block.beneath.ore.nether_cursecoal.prospected": "Anthracite", + "block.beneath.cursecoal_pile": "Anthracite Pile", + "block.beneath.ore.blackstone_sylvite": "Sylvite Ore", + "block.beneath.crackrack": "Keratophyre", + "block.beneath.soul_clay": "Muddy Clay", + "item.beneath.cursed_hide": "Lavaproof Hide", + "item.beneath.blackstone_brick": "Pyroxenite Brick", + "item.beneath.cursecoal": "Anthracite", + "item.beneath.crackrack_rock": "Keratophyre Rock" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/textures/block/hellbricks.png b/kubejs/assets/beneath/textures/block/hellbricks.png new file mode 100644 index 0000000000000000000000000000000000000000..383fa459066eaa5a8f0c84c0a4069159758f5020 GIT binary patch literal 1659 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1c*>cZh>BAW{Oo(ilt?;S)ze%nt58Hu9<;}g>I5j znz62-QJQ&*sfDFwaw1&6OMY@GD8^y>Q%KbBUzC}inU|PDwmG1D2udne9+|}@`9+n` zoD!T`2xaADDu7dmRbnzI)!Qm1gQ7b%MF}dLNp=W8j4jVd&BK)tAS#OU(@M${i&7oa zQ}ap)q%eIu1si=(#)No4ADj)4{05do%EU0`K`w3}Cb+x-l|6O}h(awjFU3}=NXg!g zn@4dn0|TS7r;B5V#>A{}0~QW!d7> z@>rF)7G-ue+I?O$IhC!Y{mI?*`G4Q#RBCv>oTNC}ujzhiz(3R7*Gud&?mHFpwJ`m$ z^piN{9dTFYTj|a$_lv(@{oYqOIc?@{)t|xY{~~m|Srl}fqW0b1-ozjx75~O*?H#oY z-l>mGj(yt^)qebG;Hi19{L#>Y;fI^#Sv~uCKB7s+xbZ|M*+Z^4>P@ zNQN41_LtXRt+}i==j+=dN%QEE9zW*;%%&|xS1m4Yo7(r4?ZrRc*f~WRl5C2<_L{iK zuKt$SaHs5KX-(K|sb7I-OFIKrmuM$OTv@QU{JzjUo_!n#A8!bnbAaVrU2>0K#qzopr0L8F16951J literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/nether_cursecoal.png b/kubejs/assets/beneath/textures/block/nether_cursecoal.png new file mode 100644 index 0000000000000000000000000000000000000000..e263dde4b27f80277a0281b9b3cf03cce184ed45 GIT binary patch literal 1813 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`kt5h81?xf)9>TG6c zX=bKtq-O|rq_3})XI^nhVqS8pr;DvpMQ(v!W@d_&aZ*ZZl4W9wu7Ra#A}EsnZ* zr0E)^q*x?cS{kI7879H>yW}UAf?^z|KZQj7{zaMTnR$shWSaxZhoGcl<&jxjl3!E_ z%_+gDg-}*brUE#1SS2QdQoXHGGAO!JQnPi6m#MttT)I3}X0ivQfKdq!Zu_)Cs zJvFa{Knl~hQ?StoWlV?%^ugHx$!}meq)ZG`9^~Q%VuH&XP}yUrfGE^b^HOY;ij?f_ zf_l{sFfcIg^>lFz(KsJF>9ki-V$$ z#OLIfZ;zkY;p?{8df|lm2X2<`-tOlo-pyZJX!rcHW&RNxb17b7o$0~->XR*%n5PBn zO+VRo_~FSEr-0R0SA2LQ8};VlhnZOdf9uvW>WZAp%-tF#{kZViBc~b@MF}1z7oM=q zH_tr(y!qxCOACu-U;oy!&2&(B@R>DttJUkTR+VuVGc`iBL^oXz51(}6cGcdQK6#fJ zv}XQ1&+h+ha>=HfI-465wL2>oDE_UBzq;VWiidhG@==&^g*^o5nxGm36r) zuf*k?iDhRZHnU4TVQV`im+&ZP<&~Eu3Yx3Z($;@|Q6}E)dilcJvebB`i2~Jv$;(z5 zx=UVeV0&kDF3;gN6H{1#)5A|M9e4G5yX+CX5$`OzLo-2*n{~JBhK-Nje7fZIeBt%# htMjwVbzWQSXZ+bM_F-A8_8L&d<>~6@vd$@?2>>9%f~x=k literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/sulfur0.png b/kubejs/assets/beneath/textures/block/sulfur0.png new file mode 100644 index 0000000000000000000000000000000000000000..82c9578e12b7152f54728202887bc514d8722679 GIT binary patch literal 1855 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/constructionwand/lang/en_us.json b/kubejs/assets/constructionwand/lang/en_us.json new file mode 100644 index 000000000..d507d1449 --- /dev/null +++ b/kubejs/assets/constructionwand/lang/en_us.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.constructionwand.stone_wand": "Copper Wand", + "item.constructionwand.iron_wand": "Wrought Iron Wand", + "item.constructionwand.diamond_wand": "Blue Steel Wand", + "item.constructionwand.infinity_wand": "Titanium Smart Wand" +} \ No newline at end of file diff --git a/kubejs/assets/constructionwand/textures/item/diamond_wand.png b/kubejs/assets/constructionwand/textures/item/diamond_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..ee2e9a5317dc5f088e6e4dbb2acf0fd22f28d1be GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|TR+r;B5VMeowd_WI6&67BQ9->Lq~$u?O*$XQ!W%&vj4^Q2Q!qM%)uzQT+RQa4DyiC#jTb%#fSR~WyYuNdMw#lEX=c~W3?Dt$W_bKy?$jjY_AEy_^i9chS zbG@-xZsu&x&yNGxCLf>Fm9xfQ=ttXo>D$%)3_H>uHXd2HL@9gqxC`R9Uw|IzFXtRWE!5;C1 zIz`X&=Mul!mrF3}zZ7LooFujHP{{t}3n$v?6-VDsPwUG`yS%FG*Bz;rboc5h92piG zlj`0d6#x0~XK%@g`_4i60_}G$EKn`l>!|%ip6$QV^{~vTF|)Up?f=ZaY1V`_;t~7B R85kHCJYD@<);T3K0RVt9mofkV literal 0 HcmV?d00001 diff --git a/kubejs/assets/constructionwand/textures/item/infinity_wand.png b/kubejs/assets/constructionwand/textures/item/infinity_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..007628612f65d9ebe15c877d6b30080b4fe1e031 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|TRnr;B5VMeou{8@-qv1={}K+ewjwHiSu&Td`)%;?Fmaoz50M!y|T1Z9`I`?&9B9k2dc-{>6oH>xVDj zSyx&s2(0N1Ji{8`^>|lct5WN$%c8Q6m{gQH_XlW%tHj4RXQ$^Ys2qw6QD+dCcyA)Z zdb#THc?B4yK)VWKU1Y7nIbw_`S9; zR{WTRMDnH0cZFBfrJw)Y*7SQR!-3LRmp~H}o(JhIfv=<=?q6OMRKLTDfq{X+)78&q Iol`;+0F>0FN&o-= literal 0 HcmV?d00001 diff --git a/kubejs/assets/constructionwand/textures/item/iron_wand.png b/kubejs/assets/constructionwand/textures/item/iron_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..56dd073881cdc7819b49013a1256dddc8a2a3d4e GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|TR$r;B5VMeowdd%c+*1>EoFU1JuMR!k6$_SWTDAz&Y1A~s1)Oe{?7pQq9f#%Z&h zbX;5n1Vdar5<3=TZrNt@=eN8g0CdQ(vaKjKU*sek1Y`9 z>@n0>d(&1!L-_cl*(W=S`|jMbn)m!+rCjS?U51j~&z7DnEIhYy$0o0r|E4|v#C$F4 zkU~*D*GvCHgndwqs&*b`ZTtL)Xw+XdE|sk+u^ysi(VKz-j>u@ zy20_ljVn6Kjz7+*mtHF@6CbC^psJ+1eS)ugYE?7X}6f22WQ%mvv4FO#pKPn=$|Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/constructionwand/textures/item/stone_wand.png b/kubejs/assets/constructionwand/textures/item/stone_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..b145a307c5fb9f66912d70501be3d2586818346d GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|TRmr;B5VMeowd8@-tdMULCQH@R?!X`yR#+k|amvzwaLrniZiFK1i4^j`9TH9^pJL7Z->XQqY}z>C(slFpOXtLdx)ncKq`qcgIGn%3VE&~%{xa^$b?ddR zW8Wpz(sy6>wy zIde|mR_pKWpU4s_ySLfy=lX~H+JsmX`+Wu4Y^EsiRB9ZoKf$bbbnBM1OPv?)fBN1t b`2}}^`Rt^1rYS`X3=9mOu6{1-oD!M<;<22& literal 0 HcmV?d00001 diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 9bdf5c151..5aa93fb5d 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -1,22 +1,89 @@ { - "block.create.andesite_bars": "Metal Bars", - "block.create.andesite_belt_funnel": "Metal Belt Funnel", - "block.create.andesite_casing": "Metal Casing", - "block.create.andesite_door": "Metal Door", - "block.create.andesite_encased_cogwheel": "Metal Encased Cogwheel", - "block.create.andesite_encased_large_cogwheel": "Metal Encased Large Cogwheel", - "block.create.andesite_encased_shaft": "Metal Encased Shaft", - "block.create.andesite_funnel": "Metal Funnel", - "block.create.andesite_ladder": "Metal Ladder", - "block.create.andesite_pillar": "Metal Pillar", - "block.create.andesite_scaffolding": "Metal Scaffolding", - "block.create.andesite_tunnel": "Metal Tunnel", - - "create.ponder.andesite_tunnel.header": "Using Metal Tunnels", - "create.ponder.andesite_tunnel.text_1": "Metal Tunnels can be used to cover up your belts", - "create.ponder.andesite_tunnel.text_2": "Whenever an Metal Tunnel has connections to the sides...", - "create.ponder.belt_casing.text_1": "Brass or Metal Casing can be used to decorate Mechanical Belts", - "create.ponder.brass_funnel.text_1": "Metal Funnels can only ever extract single items.", - "create.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels", - "create.ponder.shaft_casing.text_1": "Brass or Metal Casing can be used to decorate Shafts" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.create.andesite_bars": "Metal Bars", + "block.create.andesite_belt_funnel": "Metal Belt Funnel", + "block.create.andesite_casing": "Metal Casing", + "block.create.andesite_door": "Metal Door", + "block.create.andesite_encased_cogwheel": "Metal Encased Cogwheel", + "block.create.andesite_encased_large_cogwheel": "Metal Encased Large Cogwheel", + "block.create.andesite_encased_shaft": "Metal Encased Shaft", + "block.create.andesite_funnel": "Metal Funnel", + "block.create.andesite_ladder": "Metal Ladder", + "block.create.andesite_pillar": "Metal Pillar", + "block.create.andesite_scaffolding": "Metal Scaffolding", + "block.create.andesite_tunnel": "Metal Tunnel", + "block.create.cut_deepslate": "Cut Migmatite", + "block.create.cut_deepslate_stairs": "Cut Migmatite Stairs", + "block.create.cut_deepslate_slab": "Cut Migmatite Slab", + "block.create.cut_deepslate_wall": "Cut Migmatite Wall", + "block.create.polished_cut_deepslate": "Polished Cut Migmatite", + "block.create.polished_cut_deepslate_stairs": "Polished Cut Migmatite Stairs", + "block.create.polished_cut_deepslate_slab": "Polished Cut Migmatite Slab", + "block.create.polished_cut_deepslate_wall": "Polished Cut Migmatite Wall", + "block.create.cut_deepslate_bricks": "Cut Migmatite Bricks", + "block.create.cut_deepslate_brick_stairs": "Cut Migmatite Brick Stairs", + "block.create.cut_deepslate_brick_slab": "Cut Migmatite Brick Slab", + "block.create.cut_deepslate_brick_wall": "Cut Migmatite Brick Wall", + "block.create.small_deepslate_bricks": "Small Migmatite Bricks", + "block.create.small_deepslate_brick_stairs": "Small Migmatite Brick Stairs", + "block.create.small_deepslate_brick_slab": "Small Migmatite Brick Slab", + "block.create.small_deepslate_brick_wall": "Small Migmatite Brick Wall", + "block.create.layered_deepslate": "Layered Migmatite", + "block.create.deepslate_pillar": "Migmatite Pillar", + "block.create.cut_dripstone": "Cut Travertine", + "block.create.cut_dripstone_stairs": "Cut Travertine Stairs", + "block.create.cut_dripstone_slab": "Cut Travertine Slab", + "block.create.cut_dripstone_wall": "Cut Travertine Wall", + "block.create.polished_cut_dripstone": "Polished Cut Travertine", + "block.create.polished_cut_dripstone_stairs": "Polished Cut Travertine Stairs", + "block.create.polished_cut_dripstone_slab": "Polished Cut Travertine Slab", + "block.create.polished_cut_dripstone_wall": "Polished Cut Travertine Wall", + "block.create.cut_dripstone_bricks": "Cut Travertine Bricks", + "block.create.cut_dripstone_brick_stairs": "Cut Travertine Brick Stairs", + "block.create.cut_dripstone_brick_slab": "Cut Travertine Brick Slab", + "block.create.cut_dripstone_brick_wall": "Cut Travertine Brick Wall", + "block.create.small_dripstone_bricks": "Small Travertine Bricks", + "block.create.small_dripstone_brick_stairs": "Small Travertine Brick Stairs", + "block.create.small_dripstone_brick_slab": "Small Travertine Brick Slab", + "block.create.small_dripstone_brick_wall": "Small Travertine Brick Wall", + "block.create.layered_dripstone": "Layered Travertine", + "block.create.dripstone_pillar": "Travertine Pillar", + "block.create.cut_granite": "Cut Chert", + "block.create.cut_granite_stairs": "Cut Chert Stairs", + "block.create.cut_granite_slab": "Cut Chert Slab", + "block.create.cut_granite_wall": "Cut Chert Wall", + "block.create.polished_cut_granite": "Polished Cut Chert", + "block.create.polished_cut_granite_stairs": "Polished Cut Chert Stairs", + "block.create.polished_cut_granite_slab": "Polished Cut Chert Slab", + "block.create.polished_cut_granite_wall": "Polished Cut Chert Wall", + "block.create.cut_granite_bricks": "Cut Chert Bricks", + "block.create.cut_granite_brick_stairs": "Cut Chert Brick Stairs", + "block.create.cut_granite_brick_slab": "Cut Chert Brick Slab", + "block.create.cut_granite_brick_wall": "Cut Chert Brick Wall", + "block.create.small_granite_bricks": "Small Chert Bricks", + "block.create.small_granite_brick_stairs": "Small Chert Brick Stairs", + "block.create.small_granite_brick_slab": "Small Chert Brick Slab", + "block.create.small_granite_brick_wall": "Small Chert Brick Wall", + "block.create.layered_granite": "Layered Chert", + "block.create.granite_pillar": "Chert Pillar", + "item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Blue Steel Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in a _Blue Steel Diving Equipment_, too.", + "item.create.netherite_backtank": "Blue Steel Backtank", + "item.create.netherite_diving_helmet": "Blue Steel Diving Helmet", + "item.create.netherite_diving_boots": "Blue Steel Diving Boots", + "item.create.copper_sheet": "Copper Plate", + "item.create.brass_sheet": "Brass Plate", + "item.create.golden_sheet": "Gold Plate", + "item.create_crushed_raw_gold": "Purified Gold Ore", + "item.create.crushed_raw_copper": "Purified Copper Ore", + "item.create.crushed_raw_zinc": "Purified Zinc Ore", + "item.create.crushed_raw_silver": "Purified Silver Ore", + "item.create.crushed_raw_tin": "Purified Tin Ore", + "item.create.crushed_raw_lead": "Purified Lead Ore", + "create.ponder.andesite_tunnel.header": "Using Metal Tunnels", + "create.ponder.andesite_tunnel.text_1": "Metal Tunnels can be used to cover up your belts", + "create.ponder.andesite_tunnel.text_2": "Whenever an Metal Tunnel has connections to the sides...", + "create.ponder.belt_casing.text_1": "Brass or Metal Casing can be used to decorate Mechanical Belts", + "create.ponder.brass_funnel.text_1": "Metal Funnels can only ever extract single items.", + "create.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels", + "create.ponder.shaft_casing.text_1": "Brass or Metal Casing can be used to decorate Shafts" } \ No newline at end of file diff --git a/kubejs/assets/create/lang/ru_ru.json b/kubejs/assets/create/lang/ru_ru.json index 1a225bbb5..7833589af 100644 --- a/kubejs/assets/create/lang/ru_ru.json +++ b/kubejs/assets/create/lang/ru_ru.json @@ -1,22 +1,22 @@ { - "block.create.andesite_bars": "Металлические прутья", - "block.create.andesite_belt_funnel": "Металлический конвейерный шлюз", - "block.create.andesite_casing": "Металлический корпус", - "block.create.andesite_door": "Металлическая дверь", - "block.create.andesite_encased_cogwheel": "Шестерня в металлическом корпусе", - "block.create.andesite_encased_large_cogwheel": "Большая шестерня в металлическом корпусе", - "block.create.andesite_encased_shaft": "Вал в металлическом корпусе", - "block.create.andesite_funnel": "Металлический шлюз", - "block.create.andesite_ladder": "Металлическая лестница", - "block.create.andesite_pillar": "Металлическая колонна", - "block.create.andesite_scaffolding": "Металлические подмостки", - "block.create.andesite_tunnel": "Металлический туннель", - - "create.ponder.andesite_tunnel.header": "Использованием металлических туннелей", - "create.ponder.andesite_tunnel.text_1": "Металлические туннели могут быть использованы, чтобы накрывать конвейеры", - "create.ponder.andesite_tunnel.text_2": "Всегда, когда у металлического туннеля есть доступный выход сбоку...", - "create.ponder.belt_casing.text_1": "Латунный или металлический корпус можно использовать для украшения конвейеров", - "create.ponder.brass_funnel.text_1": "Металлический шлюз может извлекать только один предмет за раз", - "create.ponder.cogwheel_casing.text_1": "Латунный или металлический корпус можно использовать для украшения шестерней", - "create.ponder.shaft_casing.text_1": "Латунный или металлический корпус можно использовать для украшения валов" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.create.andesite_bars": "Металлические прутья", + "block.create.andesite_belt_funnel": "Металлический конвейерный шлюз", + "block.create.andesite_casing": "Металлический корпус", + "block.create.andesite_door": "Металлическая дверь", + "block.create.andesite_encased_cogwheel": "Шестерня в металлическом корпусе", + "block.create.andesite_encased_large_cogwheel": "Большая шестерня в металлическом корпусе", + "block.create.andesite_encased_shaft": "Вал в металлическом корпусе", + "block.create.andesite_funnel": "Металлический шлюз", + "block.create.andesite_ladder": "Металлическая лестница", + "block.create.andesite_pillar": "Металлическая колонна", + "block.create.andesite_scaffolding": "Металлические подмостки", + "block.create.andesite_tunnel": "Металлический туннель", + "create.ponder.andesite_tunnel.header": "Использованием металлических туннелей", + "create.ponder.andesite_tunnel.text_1": "Металлические туннели могут быть использованы, чтобы накрывать конвейеры", + "create.ponder.andesite_tunnel.text_2": "Всегда, когда у металлического туннеля есть доступный выход сбоку...", + "create.ponder.belt_casing.text_1": "Латунный или металлический корпус можно использовать для украшения конвейеров", + "create.ponder.brass_funnel.text_1": "Металлический шлюз может извлекать только один предмет за раз", + "create.ponder.cogwheel_casing.text_1": "Латунный или металлический корпус можно использовать для украшения шестерней", + "create.ponder.shaft_casing.text_1": "Латунный или металлический корпус можно использовать для украшения валов" } \ No newline at end of file diff --git a/kubejs/assets/create/lang/uk_ua.json b/kubejs/assets/create/lang/uk_ua.json index 4cf8e44d4..8662f5bc1 100644 --- a/kubejs/assets/create/lang/uk_ua.json +++ b/kubejs/assets/create/lang/uk_ua.json @@ -1,22 +1,22 @@ { - "block.create.andesite_bars": "Металеві прути", - "block.create.andesite_belt_funnel": "Металева стрічкова лійка", - "block.create.andesite_casing": "Металевий корпус", - "block.create.andesite_door": "Металеві двері", - "block.create.andesite_encased_cogwheel": "Шестерня в металевому корпусі", - "block.create.andesite_encased_large_cogwheel": "Велике шестерня в металевому корпусі", - "block.create.andesite_encased_shaft": "Вал в металевому корпусі", - "block.create.andesite_funnel": "Металева лійка", - "block.create.andesite_ladder": "Металева драбина", - "block.create.andesite_pillar": "Металевий стовп", - "block.create.andesite_scaffolding": "Металеві риштування", - "block.create.andesite_tunnel": "Металевий тунель", - - "create.ponder.andesite_tunnel.header": "Використання металевих тунелів", - "create.ponder.andesite_tunnel.text_1": "Металеві тунелі можна використовувати для приховування ременів", - "create.ponder.andesite_tunnel.text_2": "Якщо металевий тунель має з'єднання з боковими сторонами...", - "create.ponder.belt_casing.text_1": "Латунний або металевий корпус може бути використаний для декорування механічних ременів", - "create.ponder.brass_funnel.text_1": "Металеві лійки можуть витягувати лише окремі предмети.", - "create.ponder.cogwheel_casing.text_1": "Для декорування шестерень можна використовувати латунний або металевий корпус", - "create.ponder.shaft_casing.text_1": "Для оздоблення валів можна використовувати латунний або металевий кожух" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.create.andesite_bars": "Металеві прути", + "block.create.andesite_belt_funnel": "Металева стрічкова лійка", + "block.create.andesite_casing": "Металевий корпус", + "block.create.andesite_door": "Металеві двері", + "block.create.andesite_encased_cogwheel": "Шестерня в металевому корпусі", + "block.create.andesite_encased_large_cogwheel": "Велике шестерня в металевому корпусі", + "block.create.andesite_encased_shaft": "Вал в металевому корпусі", + "block.create.andesite_funnel": "Металева лійка", + "block.create.andesite_ladder": "Металева драбина", + "block.create.andesite_pillar": "Металевий стовп", + "block.create.andesite_scaffolding": "Металеві риштування", + "block.create.andesite_tunnel": "Металевий тунель", + "create.ponder.andesite_tunnel.header": "Використання металевих тунелів", + "create.ponder.andesite_tunnel.text_1": "Металеві тунелі можна використовувати для приховування ременів", + "create.ponder.andesite_tunnel.text_2": "Якщо металевий тунель має з'єднання з боковими сторонами...", + "create.ponder.belt_casing.text_1": "Латунний або металевий корпус може бути використаний для декорування механічних ременів", + "create.ponder.brass_funnel.text_1": "Металеві лійки можуть витягувати лише окремі предмети.", + "create.ponder.cogwheel_casing.text_1": "Для декорування шестерень можна використовувати латунний або металевий корпус", + "create.ponder.shaft_casing.text_1": "Для оздоблення валів можна використовувати латунний або металевий кожух" } \ No newline at end of file diff --git a/kubejs/assets/create/textures/block/netherite_backtank.png b/kubejs/assets/create/textures/block/netherite_backtank.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c6d10df2dd202b9281627864ad7e7a5ebc4e90 GIT binary patch literal 1179 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|Se%r;B4qMC;b6_p@a}MULBletd4-rNy!D$BOe`H@04y-W9;*q{&)1`^E;-+e^wOmz1Te7e7DuHL)zM{^(mX z-~ImI&+Ys^$N2td+wT%fl}~pZT2$8ce8x91#v3)kuxR%Z-Hi@xs^Jqi zwM{Bzb`TLWtyb90pHlXC^Jnf|F?zzTf{p?S%qpIfHTL)x|1GPt^qghuzNu}Bsn2EU zjc>Qgw3>8ml#xD^cQ+1>ZIeovhQd4hwNxGOv9mJ0<3*i7l@|&i$J^nx>fY zEMBpdFL2Yp`i-UuGrlF3Tv7^*w&-(~X!FqQT*MLm?w(^4qxp+1e3=a{xx4|(*EmaT za+8ShwlACO%XRsS2g4PyUbp6-KYzw?cD)lyEMR6>{(;Y7pZ+fIl&$h6o8oW)k(_M&a##_RVQ{q4Uo&M(?|=G(S@-6Jn!T%6|k8Na^${c>t2tIoy= z(-_p!5+A?U@AGVL%Hzu?Ke)GRPdchbiFTnHizR%rn@!0`O14> zTlJ>bC03bCm+vLrYnrevS#6Hzn`sdaB4Qg|M7=|Hzn=H$_`wgW;@~=Yn{NW%U-6Qv^8&1I8mCA ze$ao8&B2R{-8&a`q;2MmdH(K}(S&{cf8Xz&R4VYht9MG#0^VZRih1r&Zx}w>(EQlK zCZ^g#qJSfr?Lx$n!k*W=SR4&zG(5IAlGyHNt-*n#g}x+ozUo-Kci&rfvkPm#er3G1`IobmpWv5nfy-Y4-mK^Od*XJ%j{MCBjT+ajSRdCWyP~9XcOhJ-6z@vw0rBU$2?6>y_Wf!+-b3z2H~(d+@es<|N$} zuO%9c*ZUM^Rb@T+aDM-vCD-M*|9JK2D6{ve9bb+`zCAu^lJ1A(lc6)WJ#as?Fok>F z%Nffb>V3a1Cvm^7Jd%BGEW^J4AGb4m9{QH-X`Au+r<|$6cceEtd4C+&>YYww!LzH_=}E?ZCsgZ;!><#pyKW6lPUv@!s%VkkT#4 zcIxTReXD1)Pd@P5D|q^(sd~(ke=JkID371(L>oA)&)P$SF;^Zjn24w{J|MJC;e{J;&&fi}> zNNdlFb&+kkal>h40GCsy;ne2~INO$VT{&tkch2(ro!|FFk4a2hc_`@BeuE7RW@i2j z5wX^$pEVS!_KH`gWNIg$)Vk~$%&>=N{Uy$4feqKBGFP8TTC%q1+N_sLe*Wc1w2zYb z{-|o&!J_hjbypcDiChYMCj9&61G9?c|c4r;npb`x%rG2GEI$+NZby4 z{vmablaAi?S2nH2R%_Yjy?#7pS7$}`U!n6~i+$J3C=nGr2&GqGv zwlHSc*P93&li>UIJ?On$Us*;bP0l+XkKS>mEc literal 0 HcmV?d00001 diff --git a/kubejs/assets/create/textures/models/armor/netherite_diving_arm.png b/kubejs/assets/create/textures/models/armor/netherite_diving_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..c459439d8e48813ee9f9ad3903b1eb0a1b51a705 GIT binary patch literal 794 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEy2s7&4hIU10JMp3o-dFss323&SOrB@0<6 z5UVuNQ&^(y&(^00em?uQj%meP+vKO`lI`}_d;Q+T*-&(zA=M?){u@)v#wat!j2bP* z3Hyq;4~Q#j38^3Ge*XT%Gwpvniv#6wNJiU5ow3*N!ZE^}W;4;L$((gEyu9rzF?QWUiYTsgimwF^c=&jM{C+8`zKBV>I5W z>yzEMt(xb+`){5L<{3R_Fj&iaX{Ko2y0yQzKD!?LX7k*}*T>@;KF8-X{Fu*u%f!0$ zz{x8s-(FQ(D__l+RupY9-SkA+yftMG9KlZ;K3x9(z;s`sjKJ^h4iA5|y?XPhDlx)! z&#XjI#u=I{_0l}m+$v5C?{`FVyl?y6Tk5=X`AIQ_IqW>nSN14;vsKVq^o&(l-2uee zeQ-s`EOC{6>^XVw*}nb1@KdVgGjsmA_U-)4*VXSaKKxsM3 z?oXYn^pw5xJ!4p&Z|^Lw<(pqOu37L_PW?XP&O^#`PTx9F>G&YWU^De}aSX|5yc!vwA>%6XKR18!o!HG)nX@M^Xq9oiBNzAJ(h|;pnar1_*~qYo zF65Uo4bs>bBEZsJ%Mqc$!KNb8%^E$mDa3MTdxOH3kNljT?;j{l7nOdupzBN1^b5Q1 z#Z9t3-hTGXyEnOc=AM&p$;<5ieAc}9bM5EZ`TJ&ymf7EGtP=Pe`{cpIz$NPXg`dvt zOT4qEa93V5!-Z3x2LoR+I+d)|xMjU+*QDL?$(0H>o-T3Vy|Sh9o%mE+{=FX?yxCk* z`Sb40c$%WQbeAsktxOA}1KLL?1g*-*=qlL1;!R_C*V`i!+eOz&PMEn;UPnI6!e~K| z4+BHZ*~A~S4*SdtTD2x`cVXfin?mK=JTj6GGIO4vN>i_px-I|9LE~3c8^_&8Cb@Ep zZZO6dOB_{AE(`V&&C+CUC}-$pXHZ~G3hFUax=q0(*Iz5%IEK_UYQL6vc1lzA#4m=1HAxoPFM21xnfpzd zH7P(`|Gv1h8Fym*Zw|(WtEqLfvopFJxQ+zuDCSfD_MeeqN7Zjnh6ksr<$g09UD}dc z&2>ua)r&Qg(sK$AH@t1xu)ek>f}Q^b+Zw&|k0vkweTTxhS0=Z^@LYxBgYJt3_NnuT}YE^ZEj}ps>y) z_8ML1BWs0Qp6#{WcDvK^SFqWP#A!DT7sS;!JXBaD%EG|WwoY*Cltk~Nrx+aXIM0gq zV`lK`Uc5$@HI?D*;a3a3Zg^)F5qr`yt!m1nyibi^x1GM%$T{iPPi2M&k6ad)%&GW$ zykNm<_T_$O9-ZB8_hi~R@$h3OT2~96QC%LW`JaJ-&l5Xt8J$`~9Q;&6d7-y|_G~ z>B0|&1BPxLN0++zwyACH6WA>LMqz88fbZ;d=JQ$&QJ3@sw2rc9c`OKe$H*Wius5hD zw{%xs+soPKxdM0c&aa)-5ZIoeQOvt9Jg8 zvGZ7Er!QvSQWSLIlxMoHbjH&q3rt-*qKs19%&zyZS;QYOzwk2SiAD17-o+cAoAGdh zj7!?HUr{$NT-{Q+M(_NhU6Y(W_>|^9JuWh-Ibz4$=B^#9EjB)lJ<#XaYF#KYy{9># zDro)YWmk?>+s8@eB!60Qr)^45>$0m4l3UeXzj;BKcA;ap6W5FE?FG+eq-H5?xORK$%byMJ zxX#;`3Wo2KXJOd$FG5LH%5uK9c4oMwZ&>l?(t>?#-QI!`uh*s? zC_1=N?CIsnavqGaW@R^-H7BH3@88*5$*rgNk?$sF$CODXn=aj4-n`*jwbbqGQ)w^S zS}mF1zopr03o|2f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/create/textures/models/armor/netherite_diving_layer_2.png b/kubejs/assets/create/textures/models/armor/netherite_diving_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..adc7849a4de480e3254469ff130954c634913f5e GIT binary patch literal 989 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{Xuz$3Dlfq`2Xgc%uT z&5>YWVD9&HaSX|5d^_V{wzRv*vHI1qxtpdwRoJ?%bjwQSbqkd=1-~t9nIlxAk^8Ty zA=j%m`{l+3&hKoWKZ&m9WMr?&@=_3G@tJf@p?OtPD{Je5TgUh&U7EV|t`Gm~nHf*F z=BS2E3#b*(d}e#L?*8`tdvCmioj%mNspK#vCMP)DU^#T`K*I*kmfl9jL}3nTX68d` z0%mM%ExrmlJUkq;9d1ZS2$(f)Sa?*g=FMz_$L2Nl0w&q}Gu}_R$T?%?Y0ic}w~Sui zWUc%EHu_GQB*Viu%!iI||ChA+b(LFv#y9@y%S#xz&hL>HxBaf!V6-rNPdVG4KbM`? zEX*{`lg-()v7&;%`oNc|**-qKk1SLVtY)|?Q~&s@(yWOh_x4?9$$0eXxjn;$nwg6u zs~yr~j3+g9sGj-3tN1PUwPLE`{%vQfE~eHQdS5wpLDGN8v>EYdHpP{kT(7%-?Y`i|y)Tk@ zeK&{RNn5?6H&*|G)eQ@?{iPckWA*2pVp+Uvx6{noOVY(P^4}$fduz?`(7h3f! z=Zma8q8qP1{ZRC`lcFnTKi*SOw_V%*aCMDK=j&1#`JK93JbGT)-~X*ABEM7j33GR> ze!%UMzaAYh0WnY#jjJQU!@}%*QUv>;VEDf71(W{`Q)Se(XU2wyLTM= zkuvGfX7?_O1M2fruY^g?_xV-TCK7h3th0jz=l$R#G&A1X4s@fFZ`}Xm-%7$C- zCjXOKAnD0?Jb${MlVjzlYV}=5tsWnrSulz5KVxhk(^TESbRPx=1_n=8KbLh*2~7Yd CGs{%~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/createdeco/lang/en_us.json b/kubejs/assets/createdeco/lang/en_us.json new file mode 100644 index 000000000..f1271a2a9 --- /dev/null +++ b/kubejs/assets/createdeco/lang/en_us.json @@ -0,0 +1,70 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createdeco.andesite_bars": "Tin Alloy Bars", + "block.createdeco.andesite_bars_overlay": "Tin Alloy Bars Overlay", + "block.createdeco.andesite_window": "Tin Alloy Window", + "block.createdeco.andesite_window_pane": "Tin Alloy Window Pane", + "block.createdeco.andesite_mesh_fence": "Tin Alloy Mesh Fence", + "block.createdeco.andesite_catwalk": "Tin Alloy Catwalk", + "block.createdeco.andesite_catwalk_stairs": "Tin Alloy Catwalk Stairs", + "block.createdeco.andesite_catwalk_railing": "Tin Alloy Catwalk Railing", + "block.createdeco.andesite_support_wedge": "Tin Alloy Support Wedge", + "block.createdeco.andesite_hull": "Tin Alloy Train Hull", + "block.createdeco.andesite_support": "Tin Alloy Support", + "block.createdeco.yellow_andesite_lamp": "Yellow Tin Alloy Cage Lamp", + "block.createdeco.red_andesite_lamp": "Red Tin Alloy Cage Lamp", + "block.createdeco.blue_andesite_lamp": "Blue Tin Alloy Cage Lamp", + "block.createdeco.green_andesite_lamp": "Green Tin Alloy Cage Lamp", + "block.createdeco.andesite_sheet_metal": "Tin Alloy Sheet Metal", + "block.createdeco.andesite_door": "Tin Alloy Door", + "block.createdeco.locked_andesite_door": "Locked Tin Alloy Door", + "block.createdeco.andesite_trapdoor": "Tin Alloy Trapdoor", + "block.createdeco.iron_bars": "Wrought Iron Bars", + "block.createdeco.iron_bars_overlay": "Wrought Iron Bars Overlay", + "block.createdeco.iron_window": "Wrought Iron Window", + "block.createdeco.iron_window_pane": "Wrought Iron Window Pane", + "block.createdeco.iron_mesh_fence": "Wrought Iron Mesh Fence", + "block.createdeco.iron_catwalk": "Wrought Iron Catwalk", + "block.createdeco.iron_catwalk_stairs": "Wrought Iron Catwalk Stairs", + "block.createdeco.iron_catwalk_railing": "Wrought Iron Catwalk Railing", + "block.createdeco.iron_support_wedge": "Wrought Iron Support Wedge", + "block.createdeco.iron_hull": "Wrought Iron Train Hull", + "block.createdeco.iron_support": "Wrought Iron Support", + "block.createdeco.yellow_iron_lamp": "Yellow Wrought Iron Cage Lamp", + "block.createdeco.red_iron_lamp": "Red Wrought Iron Cage Lamp", + "block.createdeco.blue_iron_lamp": "Blue Wrought Iron Cage Lamp", + "block.createdeco.green_iron_lamp": "Green Wrought Iron Cage Lamp", + "block.createdeco.iron_sheet_metal": "Wrought Iron Sheet Metal", + "block.createdeco.iron_door": "Wrought Iron Door", + "block.createdeco.locked_iron_door": "Locked Wrought Iron Door", + "block.createdeco.iron_trapdoor": "Wrought Iron Trapdoor", + "block.createdeco.iron_coinstack": "Wrought Iron Coinstack", + "block.createdeco.netherite_coinstack": "Blue Steel Coinstack", + "block.createdeco.industrial_iron_coinstack": "Steel Coinstack", + "block.createdeco.industrial_iron_bars": "Steel Bars", + "block.createdeco.industrial_iron_bars_overlay": "Steel Bars Overlay", + "block.createdeco.industrial_iron_window": "Steel Window", + "block.createdeco.industrial_iron_window_pane": "Steel Window Pane", + "block.createdeco.industrial_iron_mesh_fence": "Steel Mesh Fence", + "block.createdeco.industrial_iron_catwalk": "Steel Catwalk", + "block.createdeco.industrial_iron_catwalk_stairs": "Steel Catwalk Stairs", + "block.createdeco.industrial_iron_catwalk_railing": "Steel Catwalk Railing", + "block.createdeco.industrial_iron_support_wedge": "Steel Support Wedge", + "block.createdeco.industrial_iron_hull": "Steel Train Hull", + "block.createdeco.industrial_iron_support": "Steel Support", + "block.createdeco.yellow_industrial_iron_lamp": "Yellow Steel Cage Lamp", + "block.createdeco.red_industrial_iron_lamp": "Red Steel Cage Lamp", + "block.createdeco.blue_industrial_iron_lamp": "Blue Steel Cage Lamp", + "block.createdeco.green_industrial_iron_lamp": "Green Steel Cage Lamp", + "block.createdeco.industrial_iron_sheet_metal": "Steel Sheet Metal", + "block.createdeco.industrial_iron_door": "Steel Door", + "block.createdeco.locked_industrial_iron_door": "Locked Steel Door", + "block.createdeco.industrial_iron_trapdoor": "Steel Trapdoor", + "block.createdeco.industrial_iron_ladder": "Steel Ladder", + "item.createdeco.iron_coin": "Wrought Iron Coin", + "item.createdeco.netherite_coin": "Blue Steel Coin", + "item.createdeco.industrial_iron_coin": "Steel Coin", + "item.createdeco.iron_coinstack": "Wrought Iron Coinstack", + "item.createdeco.netherite_coinstack": "Blue Steel Coinstack", + "item.createdeco.industrial_iron_coinstack": "Steel Coinstack" +} \ No newline at end of file diff --git a/kubejs/assets/createdeco/textures/block/netherite_coinstack_bottom.png b/kubejs/assets/createdeco/textures/block/netherite_coinstack_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..06a4a70d352678687b7d167fa87f4f61dbb40f9d GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p)(PZ!4!i{87F4EdTI1YGa)D2k{!q&6;9k!dZi2<1BOc$9NX;nj_WFUyw|@1E|f zR%!3w_W3G@4XelZss6V-`=ytzVF)!|__ZQNH}R!k_ul!^H(vkHN#x9bPS5Q(?{8U__&{Diw zbE#ac-X7~)-{YcR{W9D$FaOMB_h(Ti%efd55_`;-Yt5T7-T8+PKf{50u@iQReSUIq z#xX{P;@mxp7kxXpY692EzE4FQM%L}eo@`HXkF{@`@=VuWL%)5&=B%^7{C;itbl{S< zHFLs2C8G)FjAGw*f7Pp6usZYYrcF0l&#g$#b_?TKa$8LK?e!$Se>>;SnmCu`{Po?D zQ|lw%o$5dMu!1{k@wz0#PZ!4!i{9iZSFL`;-;QW)Y;0_N`0A!LkHLc6HHQkmzL8~{A+yP5Q&n2s#UpLj z)4e6`?Rl2;7T)lZ}m?u5FFIz7rpwf8WmY z{{9EU2ah*z(pvB#vhMG$^B=ySS8nT{Kh4+x1U8?TcqIKxN9`~9+4no18rT0@cD>IP@3Cykw5- z`FXW_HSdl`fBs6_b=XIy6tpo58~!_@e%{GbDj{v+;kkSqPZ@hk8s6DERWc~cF8JLa tP;ub$!SDI(l6AG#Ueo^HydfgVkfNn~HOs% zq!}*nN%*H_QU8A8dLHg&H~*z4BqSUO`1AjNy~r8$XaDN&UhDtAS$qE9=~u0O#D^?= zx_`~Jga2<%J^!!xv-W@Y@P1<+v)nyr4L06xP}DK%e0Y5OVV>D$_l~XNTg_PAUz7Ud z<6DEn_mtxcvyNmQxIce_!=neAQX{t3$Q|y_Zb{$F zHa0dk3fhVlNFF$F;6TH?V;kL++ZdNLHTs_tk!E1nSy`aGN9IE+0|Nttr>mdKI;Vst E050%=$p8QV literal 0 HcmV?d00001 diff --git a/kubejs/assets/createdeco/textures/item/netherite_coinstack.png b/kubejs/assets/createdeco/textures/item/netherite_coinstack.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe942e551e09decf2cf04c139181623964cffb6 GIT binary patch literal 343 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 R3I+xS22WQ%mvv4FO#mHTC8q!Y literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmaciv/lang/en_us.json b/kubejs/assets/firmaciv/lang/en_us.json new file mode 100644 index 000000000..679abb4d2 --- /dev/null +++ b/kubejs/assets/firmaciv/lang/en_us.json @@ -0,0 +1,4 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.firmaciv.rope_coil": "Rope Coil" +} \ No newline at end of file diff --git a/kubejs/assets/firmaciv/textures/item/copper_bolt.png b/kubejs/assets/firmaciv/textures/item/copper_bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..6abac9a368465cb4734369f71bed0e072d918b22 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|UcSPZ!4!i{9h}309Y8Kk>i+ZycG~arMm_y~7idm$fBwI5Jzse)&IL#m&H`;(MoJ zNIc_V0Wqgphns68=f&TL__6mf8Ec=i!aR*CR}mOC6VY|NGyRVBW_5-tOU6Nwy7b t2Un~27yg>5F(G-`H~Hu(yul0%Mb-hwkF}erGB7YOc)I$ztaD0e0swRQUBdtX literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/lang/en_us.json b/kubejs/assets/firmalife/lang/en_us.json index 52c0ac86d..91fc2205f 100644 --- a/kubejs/assets/firmalife/lang/en_us.json +++ b/kubejs/assets/firmalife/lang/en_us.json @@ -1,22 +1,22 @@ { - "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "Weathered Wax-Treated Wood Greenhouse Roof Top", - "block.firmalife.weathered_treated_wood_greenhouse_roof": "Weathered Wax-Treated Wood Greenhouse Roof", - "block.firmalife.weathered_treated_wood_greenhouse_wall": "Weathered Wax-Treated Wood Greenhouse Wall", - "block.firmalife.weathered_treated_wood_greenhouse_port": "Weathered Wax-Treated Wood Greenhouse Port", - "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "Weathered Wax-Treated Wood Greenhouse Panel Wall", - "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "Weathered Wax-Treated Wood Greenhouse Panel Roof", - "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "Weathered Wax-Treated Wood Greenhouse Trapdoor", - "block.firmalife.weathered_treated_wood_greenhouse_door": "Weathered Wax-Treated Wood Greenhouse Door", - "block.firmalife.treated_wood_greenhouse_roof_top": "Wax-Treated Wood Greenhouse Roof Top", - "block.firmalife.treated_wood_greenhouse_roof": "Wax-Treated Wood Greenhouse Roof", - "block.firmalife.treated_wood_greenhouse_wall": "Wax-Treated Wood Greenhouse Wall", - "block.firmalife.treated_wood_greenhouse_port": "Wax-Treated Wood Greenhouse Port", - "block.firmalife.treated_wood_greenhouse_panel_wall": "Wax-Treated Wood Greenhouse Panel Wall", - "block.firmalife.treated_wood_greenhouse_panel_roof": "Wax-Treated Wood Greenhouse Panel Roof", - "block.firmalife.treated_wood_greenhouse_trapdoor": "Wax-Treated Wood Greenhouse Trapdoor", - "block.firmalife.treated_wood_greenhouse_door": "Wax-Treated Wood Greenhouse Door", - - "block.firmalife.treated_wood": "Wax-Treated Wood", - "item.firmalife.treated_lumber": "Wax-Treated Lumber", - "greenhouse.firmalife.treated_wood": "Wax-Treated Wood" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "Weathered Wax-Treated Wood Greenhouse Roof Top", + "block.firmalife.weathered_treated_wood_greenhouse_roof": "Weathered Wax-Treated Wood Greenhouse Roof", + "block.firmalife.weathered_treated_wood_greenhouse_wall": "Weathered Wax-Treated Wood Greenhouse Wall", + "block.firmalife.weathered_treated_wood_greenhouse_port": "Weathered Wax-Treated Wood Greenhouse Port", + "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "Weathered Wax-Treated Wood Greenhouse Panel Wall", + "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "Weathered Wax-Treated Wood Greenhouse Panel Roof", + "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "Weathered Wax-Treated Wood Greenhouse Trapdoor", + "block.firmalife.weathered_treated_wood_greenhouse_door": "Weathered Wax-Treated Wood Greenhouse Door", + "block.firmalife.treated_wood_greenhouse_roof_top": "Wax-Treated Wood Greenhouse Roof Top", + "block.firmalife.treated_wood_greenhouse_roof": "Wax-Treated Wood Greenhouse Roof", + "block.firmalife.treated_wood_greenhouse_wall": "Wax-Treated Wood Greenhouse Wall", + "block.firmalife.treated_wood_greenhouse_port": "Wax-Treated Wood Greenhouse Port", + "block.firmalife.treated_wood_greenhouse_panel_wall": "Wax-Treated Wood Greenhouse Panel Wall", + "block.firmalife.treated_wood_greenhouse_panel_roof": "Wax-Treated Wood Greenhouse Panel Roof", + "block.firmalife.treated_wood_greenhouse_trapdoor": "Wax-Treated Wood Greenhouse Trapdoor", + "block.firmalife.treated_wood_greenhouse_door": "Wax-Treated Wood Greenhouse Door", + "block.firmalife.treated_wood": "Wax-Treated Wood", + "greenhouse.firmalife.treated_wood": "Wax-Treated Wood", + "item.firmalife.treated_lumber": "Wax-Treated Lumber" } \ No newline at end of file diff --git a/kubejs/assets/firmalife/lang/ru_ru.json b/kubejs/assets/firmalife/lang/ru_ru.json index 6eac09dc5..ca2b5cade 100644 --- a/kubejs/assets/firmalife/lang/ru_ru.json +++ b/kubejs/assets/firmalife/lang/ru_ru.json @@ -1,13 +1,13 @@ { - "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "Состаренная верхушка крыши теплицы из обработанного воском дерева", - "block.firmalife.weathered_treated_wood_greenhouse_roof": "Состаренная крыша теплицы из обработанного воском дерева", - "block.firmalife.weathered_treated_wood_greenhouse_wall": "Состаренная стена теплицы из обработанного воском дерева", - "block.firmalife.weathered_treated_wood_greenhouse_door": "Состаренная дверь теплицы из обработанного воском дерева", - "block.firmalife.treated_wood_greenhouse_roof_top": "Верхушка крыши теплицы из обработанного воском дерева", - "block.firmalife.treated_wood_greenhouse_roof": "Крыша теплицы из обработанного воском дерева", - "block.firmalife.treated_wood_greenhouse_wall": "Стена теплицы из обработанного воском дерева", - "block.firmalife.treated_wood_greenhouse_door": "Дверь теплицы из обработанного воском дерева", - - "block.firmalife.treated_wood": "Обработанные воском доски", - "item.firmalife.treated_lumber": "Обработанная воском доска" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "Состаренная верхушка крыши теплицы из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_roof": "Состаренная крыша теплицы из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_wall": "Состаренная стена теплицы из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_door": "Состаренная дверь теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_roof_top": "Верхушка крыши теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_roof": "Крыша теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_wall": "Стена теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_door": "Дверь теплицы из обработанного воском дерева", + "block.firmalife.treated_wood": "Обработанные воском доски", + "item.firmalife.treated_lumber": "Обработанная воском доска" } \ No newline at end of file diff --git a/kubejs/assets/greate/lang/en_us.json b/kubejs/assets/greate/lang/en_us.json new file mode 100644 index 000000000..31f6b4e00 --- /dev/null +++ b/kubejs/assets/greate/lang/en_us.json @@ -0,0 +1,45 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.greate.andesite_alloy_cogwheel": "Basic Cogwheel", + "block.greate.andesite_alloy_crushing_wheel": "Basic Crushing Wheel", + "block.greate.andesite_alloy_crushing_wheel_controller": "Basic Crushing Wheel Controller", + "block.greate.andesite_alloy_encased_fan": "Basic Encased Fan", + "block.greate.andesite_alloy_gearbox": "Basic Gearbox", + "block.greate.andesite_alloy_mechanical_mixer": "Basic Mechanical Mixer", + "block.greate.andesite_alloy_mechanical_press": "Basic Mechanical Press", + "block.greate.andesite_alloy_mechanical_pump": "Basic Mechanical Pump", + "block.greate.andesite_alloy_mechanical_saw": "Basic Mechanical Saw", + "block.greate.andesite_alloy_millstone": "Basic Millstone", + "block.greate.andesite_alloy_shaft": "Basic Shaft", + "block.greate.andesite_encased_aluminium_cogwheel": "Metal Encased Aluminium Cogwheel", + "block.greate.andesite_encased_aluminium_shaft": "Metal Encased Aluminium Shaft", + "block.greate.andesite_encased_andesite_alloy_cogwheel": "Metal Encased Basic Cogwheel", + "block.greate.andesite_encased_andesite_alloy_shaft": "Metal Encased Basic Shaft", + "block.greate.andesite_encased_large_aluminium_cogwheel": "Metal Encased Large Aluminium Cogwheel", + "block.greate.andesite_encased_large_andesite_alloy_cogwheel": "Metal Encased Large Basic Cogwheel", + "block.greate.andesite_encased_large_stainless_steel_cogwheel": "Metal Encased Large Stainless Steel Cogwheel", + "block.greate.andesite_encased_large_steel_cogwheel": "Metal Encased Large Steel Cogwheel", + "block.greate.andesite_encased_large_titanium_cogwheel": "Metal Encased Large Titanium Cogwheel", + "block.greate.andesite_encased_stainless_steel_cogwheel": "Metal Encased Stainless Steel Cogwheel", + "block.greate.andesite_encased_stainless_steel_shaft": "Metal Encased Stainless Steel Shaft", + "block.greate.andesite_encased_steel_cogwheel": "Metal Encased Steel Cogwheel", + "block.greate.andesite_encased_steel_shaft": "Metal Encased Steel Shaft", + "block.greate.andesite_encased_titanium_cogwheel": "Metal Encased Titanium Cogwheel", + "block.greate.andesite_encased_titanium_shaft": "Metal Encased Titanium Shaft", + "block.greate.brass_encased_andesite_alloy_cogwheel": "Brass Encased Basic Cogwheel", + "block.greate.brass_encased_andesite_alloy_shaft": "Brass Encased Basic Shaft", + "block.greate.brass_encased_large_andesite_alloy_cogwheel": "Brass Encased Large Basic Cogwheel", + "block.greate.large_andesite_alloy_cogwheel": "Large Basic Cogwheel", + "block.greate.metal_girder_encased_andesite_alloy_shaft": "Metal Girder Encased Basic Shaft", + "block.greate.powered_andesite_alloy_shaft": "Powered Basic Shaft", + "block.greate.rubber_belt_andesite_alloy": "Basic Belt", + "block.greate.rubber_belt_steel": "Basic Belt", + "item.greate.rubber_belt_connector": "Basic Belt", + "item.greate.silicone_rubber_belt_connector": "Silicone Rubber Belt", + "block.greate.polyethylene_belt_titanium": "Styrene Butadiene Rubber Belt", + "block.greate.polyethylene_belt_tungsten_steel": "Styrene Butadiene Rubber Belt", + "item.greate.polyethylene_belt_connector": "Styrene Butadiene Rubber Belt", + "item.greate.andesite_alloy_vertical_gearbox": "Basic Vertical Gearbox", + "greate.ponder.belt_casing.text_1": "Brass or Metal Casing can be used to decorate Mechanical Belts", + "greate.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 45a950aed..fa5dd0f72 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,70 +1,85 @@ { - "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", - "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", - "item.gtceu.wood_dust": "Softwood Pulp", - - "item.gtceu.tiny_hardwood_dust": "Tiny Pile of Hardwood Pulp", - "item.gtceu.small_hardwood_dust": "Small Pile of Hardwood Pulp", - "item.gtceu.hardwood_dust": "Hardwood Pulp", - - "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "Tiny Pile of Thermochemically Treated Hardwood Pulp", - "item.gtceu.small_thermochemically_treated_hardwood_dust": "Small Pile of Thermochemically Treated Hardwood Pulp", - "item.gtceu.thermochemically_treated_hardwood_dust": "Thermochemicallyy Treated Hardwood Pulp", - - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", - - "block.gtceu.greenhouse": "Electric Greenhouse", - "gtceu.greenhouse": "Electric Greenhouse", - - "block.gtceu.alternator": "Alternator", - "gtceu.alternator": "Alternator", - - "block.gtceu.nether_dome": "Netherarium", - "gtceu.nether_dome": "Netherarium", - "block.gtceu.end_dome": "Enderarium", - "gtceu.end_dome": "Enderarium", - - "material.treated_wood": "Creosote-Treated Wood", - "block.gtceu.treated_wood_planks": "Creosote-Treated Wood Planks", - - "gtceu.create_mixer": "Kinetic Mixer", - "block.gtceu.lv_kinetic_mixer": "Basic Kinetic Mixer", - "block.gtceu.mv_kinetic_mixer": "Advanced Kinetic Mixer", - "block.gtceu.hv_kinetic_mixer": "Advanced Kinetic Mixer II", - "block.gtceu.ev_kinetic_mixer": "Advanced Kinetic Mixer III", - - "block.gtceu.lv_electric_gear_box_2a": "Low Voltage 2x Gear Box", - "block.gtceu.mv_electric_gear_box_2a": "Medium Voltage 2x Gear Box", - "block.gtceu.hv_electric_gear_box_2a": "High Voltage 2x Gear Box", - "block.gtceu.ev_electric_gear_box_2a": "Extreme Voltage 2x Gear Box", - "block.gtceu.lv_electric_gear_box_8a": "Low Voltage 8x Gear Box", - "block.gtceu.mv_electric_gear_box_8a": "Medium Voltage 8x Gear Box", - "block.gtceu.hv_electric_gear_box_8a": "High Voltage 8x Gear Box", - "block.gtceu.ev_electric_gear_box_8a": "Extreme Voltage 8x Gear Box", - "block.gtceu.lv_electric_gear_box_16a": "Low Voltage 16x Gear Box", - "block.gtceu.mv_electric_gear_box_16a": "Medium Voltage 16x Gear Box", - "block.gtceu.hv_electric_gear_box_16a": "High Voltage 16x Gear Box", - "block.gtceu.ev_electric_gear_box_16a": "Extreme Voltage 16x Gear Box", - "block.gtceu.lv_electric_gear_box_32a": "Low Voltage 32x Gear Box", - "block.gtceu.mv_electric_gear_box_32a": "Medium Voltage 32x Gear Box", - "block.gtceu.hv_electric_gear_box_32a": "High Voltage 32x Gear Box", - "block.gtceu.ev_electric_gear_box_32a": "Extreme Voltage 32x Gear Box", - - "block.gtceu.lv_kinetic_input_box": "Low Voltage Kinetic Input Box", - "block.gtceu.mv_kinetic_input_box": "Medium Voltage Kinetic Input Box", - "block.gtceu.hv_kinetic_input_box": "High Voltage Kinetic Input Box", - "block.gtceu.ev_kinetic_input_box": "Extreme Voltage Kinetic Input Box", - "block.gtceu.iv_kinetic_input_box": "Insane Voltage Kinetic Input Box", - "block.gtceu.luv_kinetic_input_box": "Ludicrous Voltage Kinetic Input Box", - "block.gtceu.zpm_kinetic_input_box": "ZPM Voltage Kinetic Input Box", - "block.gtceu.uv_kinetic_input_box": "Ultimate Voltage Kinetic Input Box", - - "block.gtceu.lv_kinetic_output_box": "Low Voltage Kinetic Output Box", - "block.gtceu.mv_kinetic_output_box": "Medium Voltage Kinetic Output Box", - "block.gtceu.hv_kinetic_output_box": "High Voltage Kinetic Output Box", - "block.gtceu.ev_kinetic_output_box": "Extreme Voltage Kinetic Output Box", - "block.gtceu.iv_kinetic_output_box": "Insane Voltage Kinetic Output Box", - "block.gtceu.luv_kinetic_output_box": "Ludicrous Voltage Kinetic Output Box", - "block.gtceu.zpm_kinetic_output_box": "ZPM Voltage Kinetic Output Box", - "block.gtceu.uv_kinetic_output_box": "Ultimate Voltage Kinetic Output Box" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.bud_indicator": "%s Surface Bud", + "block.gtceu.nether_dome": "Netherarium", + "block.gtceu.ender_dome": "Enderarium", + "block.gtceu.greenhouse": "Greenhouse", + "block.gtceu.steam_bloomery": "Steam Bloomery", + "gtceu.nether_dome": "Netherarium", + "gtceu.ender_dome": "Enderarium", + "gtceu.greenhouse": "Electric Greenhouse", + "gtceu.steam_bloomery": "Steam Bloomery", + "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", + "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", + "item.gtceu.wood_dust": "Softwood Pulp", + "item.gtceu.tiny_hardwood_dust": "Tiny Pile of Hardwood Pulp", + "item.gtceu.small_hardwood_dust": "Small Pile of Hardwood Pulp", + "item.gtceu.hardwood_dust": "Hardwood Pulp", + "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "Tiny Pile of Thermochemically Treated Hardwood Pulp", + "item.gtceu.small_thermochemically_treated_hardwood_dust": "Small Pile of Thermochemically Treated Hardwood Pulp", + "item.gtceu.thermochemically_treated_hardwood_dust": "Thermochemicallyy Treated Hardwood Pulp", + "item.gtceu.tool.behavior.canoe_creator": "§5Boater: §fCan Create Canoes", + "item.gtceu.deepslate_dust": "Migmatite Dust", + "item.gtceu.blackstone_dust": "Pyroxenite Dust", + "item.gtceu.iron_ring": "Cast Iron Ring", + "item.gtceu.small_iron_gear": "Cast Iron Gear", + "item.gtceu.iron_gear": "Cast Iron Gear", + "item.gtceu.iron_plate": "Cast Iron Plate", + "item.gtceu.double_iron_plate": "Double Cast Iron Plate", + "item.gtceu.iron_rod": "Cast Iron Rod", + "item.gtceu.long_iron_rod": "Long Cast Iron Rod", + "item.gtceu.iron_rotor": "Cast Iron Rotor", + "item.gtceu.iron_spring": "Cast Iron Spring", + "item.gtceu.small_iron_spring": "SmallCast Iron Spring", + "item.gtceu.iron_bolt": "Cast Iron Bolt", + "item.gtceu.iron_screw": "Cast Iron Screw", + "item.gtceu.iron_turbine_blade": "Cast Iron Turbine Blade", + "item.gtceu.iron_round": "Cast Iron Round", + "item.gtceu.iron_single_wire": "1x Cast Iron Wire", + "item.gtceu.iron_double_wire": "2x Cast Iron Wire", + "item.gtceu.iron_quadruple_wire": "4x Cast Iron Wire", + "item.gtceu.iron_octal_wire": "8x Cast Iron Wire", + "item.gtceu.iron_hex_wire": "16x Cast Iron Wire", + "item.gtceu.iron_single_cable": "1x Cast Iron Cable", + "item.gtceu.iron_double_cable": "2x Cast Iron Cable", + "item.gtceu.iron_quadruple_cable": "4x Cast Iron Cable", + "item.gtceu.iron_octal_cable": "8x Cast Iron Cable", + "item.gtceu.iron_hex_cable": "16x Cast Iron Cable", + "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", + "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", + "tagprefix.sword_head": "%s Sword Head", + "tagprefix.pickaxe_head": "%s Pickaxe Head", + "tagprefix.shovel_head": "%s Shovel Head", + "tagprefix.axe_head": "%s Axe Head", + "tagprefix.hoe_head": "%s Hoe Head", + "tagprefix.scythe_head": "%s Scythe Head", + "tagprefix.file_head": "%s File Head", + "tagprefix.hammer_head": "%s Hammer Head", + "tagprefix.saw_head": "%s Saw Head", + "tagprefix.knife_head": "%s Knife Head", + "tagprefix.butchery_knife_head": "%s Butchery Knife Head", + "tagprefix.mining_hammer_head": "%s Mining Hammer Head", + "tagprefix.spade_head": "%s Spade Head", + "tagprefix.double_ingot": "%s Double Ingot", + "tagprefix.poor_raw": "Poor Raw %s", + "tagprefix.rich_raw": "Rich Raw %s", + "tagprefix.gabbro": "Gabbro %s Ore", + "tagprefix.shale": "Shale %s Ore", + "tagprefix.claystone": "Claystone %s Ore", + "tagprefix.limestone": "Limestone %s Ore", + "tagprefix.conglomerate": "Conglomerate %s Ore", + "tagprefix.dolomite": "Dolomite %s Ore", + "tagprefix.chert": "Chert %s Ore", + "tagprefix.chalk": "Chalk %s Ore", + "tagprefix.rhyolite": "Rhyolite %s Ore", + "tagprefix.dacite": "Dacite %s Ore", + "tagprefix.quartzite": "Quartzite %s Ore", + "tagprefix.slate": "Slate %s Ore", + "tagprefix.phyllite": "Phyllite %s Ore", + "tagprefix.schist": "Schist %s Ore", + "tagprefix.gneiss": "Gneiss %s Ore", + "tagprefix.marble": "Marble %s Ore", + "tagprefix.deepslate": "Migmatite %s Ore", + "tagprefix.pyroxenite": "Pyroxenite %s Ore", + "tagprefix.dripstone": "Travertine %s Ore" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index b155c028d..45c70fc54 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -1,17 +1,36 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", - - "block.gtceu.greenhouse": "Электрическая теплица", - "gtceu.greenhouse": "Электрическая теплица", - - "block.gtceu.alternator": "Генератор переменного тока", - "gtceu.alternator": "Генератор переменного тока", - - "block.gtceu.nether_dome": "Террариум нижнего мира", - "gtceu.nether_dome": "Террариум нижнего мира", - "block.gtceu.end_dome": "Террариум края", - "gtceu.end_dome": "Террариум края", - - "material.treated_wood": "Обработанное креозотом дерево", - "block.gtceu.treated_wood_planks": "Доски из обработанного креозотом дерева" -} + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.gtceu.tool.behavior.canoe_creator": "§Лодочник: §fМожет создавать каное", + "tagprefix.double_ingot": "%s (Двойной слиток)", + "tagprefix.poor_raw": "%s (Бедная руда)", + "tagprefix.rich_raw": "%s (Богатая руда)", + "tagprefix.sword_head": "%s (Оголовье меча)", + "tagprefix.pickaxe_head": "%s (Оголовье кирки)", + "tagprefix.shovel_head": "%s (Оголовье лопаты)", + "tagprefix.axe_head": "%s (Оголовье топора)", + "tagprefix.hoe_head": "%s (Оголовье мотыги)", + "tagprefix.scythe_head": "%s (Оголовье косы)", + "tagprefix.file_head": "%s (Оголовье напильника)", + "tagprefix.hammer_head": "%s (Оголовье молота)", + "tagprefix.saw_head": "%s (Оголовье пилы)", + "tagprefix.knife_head": "%s (Оголовье ножа)", + "tagprefix.butchery_knife_head": "%s (Оголовье тесака)", + "tagprefix.mining_hammer_head": "%s (Оголовье шахтерского молота)", + "tagprefix.spade_head": "%s (Оголовье заступа)", + "tagprefix.gabbro": "%s (Габбровая руда)", + "tagprefix.shale": "%s (Сланцевая руда)", + "tagprefix.claystone": "%s (Аргиллитовая руда)", + "tagprefix.limestone": "%s (Известняковая руда)", + "tagprefix.conglomerate": "%s (Conglomerate Ore)", + "tagprefix.dolomite": "%s (Конгломератовая руда)", + "tagprefix.chert": "%s (Кермнисто-сланцевая руда)", + "tagprefix.chalk": "%s (Меловая руда)", + "tagprefix.rhyolite": "%s (Риолитовая руда)", + "tagprefix.dacite": "%s (Дацитовая руда)", + "tagprefix.quartzite": "%s (Кварцитовая руда)", + "tagprefix.slate": "%s (Шиферно-сланцевая руда)", + "tagprefix.phyllite": "%s (Филлитовая руда)", + "tagprefix.schist": "%s (Аспидно-сланцевая руда)", + "tagprefix.gneiss": "%s (Гнейсовая руда Ore)", + "tagprefix.marble": "%s (Мраморная руда)" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/bright/ingot_double.json b/kubejs/assets/gtceu/models/item/material_sets/bright/ingot_double.json new file mode 100644 index 000000000..4ce67c25a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/bright/ingot_double.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:item/material_sets/bright/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/bright/ingot_double", + "layer1": "gtceu:item/material_sets/bright/ingot_double_secondary", + "layer2": "gtceu:item/material_sets/bright/ingot_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/diamond/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/diamond/poor_raw_ore.json new file mode 100644 index 000000000..57c249414 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/diamond/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/diamond/poor_raw_ore", + "layer1": "gtceu:item/material_sets/diamond/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/diamond/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/diamond/raw_ore.json new file mode 100644 index 000000000..f8f9da0f5 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/diamond/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/diamond/raw_ore", + "layer1": "gtceu:item/material_sets/diamond/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/diamond/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/diamond/rich_raw_ore.json new file mode 100644 index 000000000..996e63e04 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/diamond/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/diamond/rich_raw_ore", + "layer1": "gtceu:item/material_sets/diamond/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/ingot_double.json b/kubejs/assets/gtceu/models/item/material_sets/dull/ingot_double.json new file mode 100644 index 000000000..b685d950a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/ingot_double.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:item/material_sets/dull/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/dull/ingot_double", + "layer1": "gtceu:item/material_sets/dull/ingot_double_secondary", + "layer2": "gtceu:item/material_sets/dull/ingot_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/dull/poor_raw_ore.json new file mode 100644 index 000000000..717e5d014 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/poor_raw_ore", + "layer1": "gtceu:item/material_sets/dull/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/dull/raw_ore.json new file mode 100644 index 000000000..3e3f34f02 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/raw_ore", + "layer1": "gtceu:item/material_sets/dull/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/dull/rich_raw_ore.json new file mode 100644 index 000000000..675ce6dae --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/rich_raw_ore", + "layer1": "gtceu:item/material_sets/dull/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_axe.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_axe.json new file mode 100644 index 000000000..86698ebc7 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_axe" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_butchery_knife.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_butchery_knife.json new file mode 100644 index 000000000..5289dfb74 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_butchery_knife.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_butchery_knife" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_chisel.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_chisel.json new file mode 100644 index 000000000..7a9c7e99d --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_chisel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_chisel" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_file.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_file.json new file mode 100644 index 000000000..b996583b0 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_file.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_file" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hammer.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hammer.json new file mode 100644 index 000000000..825b3f31b --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hammer.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_hammer" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hoe.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hoe.json new file mode 100644 index 000000000..cdf593b1a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_hoe" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_javelin.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_javelin.json new file mode 100644 index 000000000..a179b6b9a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_javelin.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_javelin" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_knife.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_knife.json new file mode 100644 index 000000000..37cd9f9c5 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_knife.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_knife" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mace.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mace.json new file mode 100644 index 000000000..ffcface65 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mace.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_mace" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mining_hammer.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mining_hammer.json new file mode 100644 index 000000000..493515cee --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_mining_hammer.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_mining_hammer" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_pickaxe.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_pickaxe.json new file mode 100644 index 000000000..05339674f --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_pickaxe" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_propick.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_propick.json new file mode 100644 index 000000000..734d3d0f4 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_propick.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_propick" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_saw.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_saw.json new file mode 100644 index 000000000..ff7ddc0b8 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_saw.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_saw" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_scythe.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_scythe.json new file mode 100644 index 000000000..7b9dd1b7e --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_scythe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_scythe" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_shovel.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_shovel.json new file mode 100644 index 000000000..e1dafe75c --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_shovel" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_spade.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_spade.json new file mode 100644 index 000000000..645b93b12 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_spade.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_spade" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_sword.json b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_sword.json new file mode 100644 index 000000000..809163227 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/dull/tool_head_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/dull/tool_head_sword" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/fine/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/fine/poor_raw_ore.json new file mode 100644 index 000000000..7121b856e --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/fine/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/fine/poor_raw_ore", + "layer1": "gtceu:item/material_sets/fine/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/fine/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/fine/raw_ore.json new file mode 100644 index 000000000..44610c266 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/fine/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/fine/raw_ore", + "layer1": "gtceu:item/material_sets/fine/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/fine/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/fine/rich_raw_ore.json new file mode 100644 index 000000000..b76dc329c --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/fine/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/fine/rich_raw_ore", + "layer1": "gtceu:item/material_sets/fine/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/metallic/ingot_double.json b/kubejs/assets/gtceu/models/item/material_sets/metallic/ingot_double.json new file mode 100644 index 000000000..369714c8e --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/metallic/ingot_double.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:item/material_sets/metallic/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/metallic/ingot_double", + "layer1": "gtceu:item/material_sets/metallic/ingot_double_secondary", + "layer2": "gtceu:item/material_sets/metallic/ingot_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/metallic/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/metallic/poor_raw_ore.json new file mode 100644 index 000000000..1ba763f2a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/metallic/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/metallic/poor_raw_ore", + "layer1": "gtceu:item/material_sets/metallic/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/metallic/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/metallic/raw_ore.json new file mode 100644 index 000000000..6276fdeb0 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/metallic/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/metallic/raw_ore", + "layer1": "gtceu:item/material_sets/metallic/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/metallic/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/metallic/rich_raw_ore.json new file mode 100644 index 000000000..0205fa722 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/metallic/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/metallic/rich_raw_ore", + "layer1": "gtceu:item/material_sets/metallic/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/ruby/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/ruby/poor_raw_ore.json new file mode 100644 index 000000000..c252cb3e3 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/ruby/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/ruby/poor_raw_ore", + "layer1": "gtceu:item/material_sets/ruby/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/ruby/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/ruby/raw_ore.json new file mode 100644 index 000000000..7bf6d3629 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/ruby/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/ruby/raw_ore", + "layer1": "gtceu:item/material_sets/ruby/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/ruby/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/ruby/rich_raw_ore.json new file mode 100644 index 000000000..451f84843 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/ruby/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/ruby/rich_raw_ore", + "layer1": "gtceu:item/material_sets/ruby/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/shiny/ingot_double.json b/kubejs/assets/gtceu/models/item/material_sets/shiny/ingot_double.json new file mode 100644 index 000000000..15e3449ed --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/shiny/ingot_double.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:item/material_sets/shiny/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/shiny/ingot_double", + "layer1": "gtceu:item/material_sets/shiny/ingot_double_secondary", + "layer2": "gtceu:item/material_sets/shiny/ingot_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/shiny/poor_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/shiny/poor_raw_ore.json new file mode 100644 index 000000000..76a9fd86f --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/shiny/poor_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/shiny/poor_raw_ore", + "layer1": "gtceu:item/material_sets/shiny/poor_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/shiny/raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/shiny/raw_ore.json new file mode 100644 index 000000000..62481c321 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/shiny/raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/shiny/raw_ore", + "layer1": "gtceu:item/material_sets/shiny/raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/shiny/rich_raw_ore.json b/kubejs/assets/gtceu/models/item/material_sets/shiny/rich_raw_ore.json new file mode 100644 index 000000000..630326fb4 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/shiny/rich_raw_ore.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/shiny/rich_raw_ore", + "layer1": "gtceu:item/material_sets/shiny/rich_raw_ore_secondary" + } +} diff --git a/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..11aaf703f3796fef0aa90b8b99fc1ad87906ba75 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-3o-U3d7QJUD-sN;w=;^PcaQd$$QpG}vtLx!}axmWh^2S(b{-i2RkS zmmoW5t5{U_5sBx^1e&fyO)nRkI3*}W-6l!%%RPPP*FQNXb{vslUV7#97U>Ta^%2>O r42EtN&;7(CoL#oR|CL*C{{ss{ec8GP%5F9c3=9mOu6{1-oD!M<5v^Ey literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..11aaf703f3796fef0aa90b8b99fc1ad87906ba75 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-3o-U3d7QJUD-sN;w=;^PcaQd$$QpG}vtLx!}axmWh^2S(b{-i2RkS zmmoW5t5{U_5sBx^1e&fyO)nRkI3*}W-6l!%%RPPP*FQNXb{vslUV7#97U>Ta^%2>O r42EtN&;7(CoL#oR|CL*C{{ss{ec8GP%5F9c3=9mOu6{1-oD!M<5v^Ey literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..b43c7c60bdf55e48d9f2e004bb351123288fff28 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p)+o-U3d7QJUDY~*b);9-$>IVsX}(Bl394xR%t>k?SS5*by(5*VbE8x1`tX#CKt zte<25pj;_(@5kbLwI3d5%7qV4p03&=&7jQCaU!jDebe@x!V`N_GV3S5PFQi7CqeaQ zyV+OHFVd4r4;|WZjyqpqYcltb3v2WQrv4~mY2F*!YI%P70}*a}uSVWy@2m^vXR*fx XSQ+oFF#o~8z`)??>gTe~DWM4fleta2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/diamond/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..b43c7c60bdf55e48d9f2e004bb351123288fff28 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p)+o-U3d7QJUDY~*b);9-$>IVsX}(Bl394xR%t>k?SS5*by(5*VbE8x1`tX#CKt zte<25pj;_(@5kbLwI3d5%7qV4p03&=&7jQCaU!jDebe@x!V`N_GV3S5PFQi7CqeaQ zyV+OHFVd4r4;|WZjyqpqYcltb3v2WQrv4~mY2F*!YI%P70}*a}uSVWy@2m^vXR*fx XSQ+oFF#o~8z`)??>gTe~DWM4fleta2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/dull/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/dull/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c69e0b81f4ff94361051efee1261a3088bf59818 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdmW!d_r8^3w+wz+G=ZS)6>&e ztXQ#U&z^bn=AAinCM+zhq@-l()Tx^`ZMu2$=8+>uoSd8z5)%HsT2aHmz`$4%zHB7;$A{kN*?j|PqBqRjvKd|8m53{l|v-2soZK>&|R*gZLPQBTy8%m}% zFdlyVfs?2Iz${%g;}X9@hK)ZYB;rh@8zLBNOeL+WTvkqJU|?YIboFyt=akR{0K{`& A^#A|> literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..c69e0b81f4ff94361051efee1261a3088bf59818 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdmW!d_r8^3w+wz+G=ZS)6>&e ztXQ#U&z^bn=AAinCM+zhq@-l()Tx^`ZMu2$=8+>uoSd8z5)%HsT2aHmz`$4%zHB7;$A{kN*?j|PqBqRjvKd|8m53{l|v-2soZK>&|R*gZLPQBTy8%m}% zFdlyVfs?2Iz${%g;}X9@hK)ZYB;rh@8zLBNOeL+WTvkqJU|?YIboFyt=akR{0K{`& A^#A|> literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c00aa0d86da179b06c836d5cd598976379fd08 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7pPZ!4!i{7c1ZL_BY3a~zSK2@Ys;E0p8pqS@@Tm6R)T{@NLaQm&(FOf{0oKO5J zb4v@PHVSXM}p$h89T z%^eM=XXqVyHSP9|GiT;@SR7%?TOn5}_)#c*s=<-;JBJv|jf>M;H$UI;FPy*YN7KPg z%f1$_lwUFN?!nvLUDLTl(jxjh*3R4gx9XXEN$OA2YsSTQRNg;Qx0|y0ahQfNzf#iv z>?Y^Wyl?yy7t8b(o~>DOJJc-l+L6`^3%a&{6x{!TbAO?|ar}jxq~hCCHh3T3@%`$C#oaAp>u#y{Txmb($*Ftykl6Eu YM|wo_H;C#pFfcH9y85}Sb4q9e04bioSpWb4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/dull/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c00aa0d86da179b06c836d5cd598976379fd08 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7pPZ!4!i{7c1ZL_BY3a~zSK2@Ys;E0p8pqS@@Tm6R)T{@NLaQm&(FOf{0oKO5J zb4v@PHVSXM}p$h89T z%^eM=XXqVyHSP9|GiT;@SR7%?TOn5}_)#c*s=<-;JBJv|jf>M;H$UI;FPy*YN7KPg z%f1$_lwUFN?!nvLUDLTl(jxjh*3R4gx9XXEN$OA2YsSTQRNg;Qx0|y0ahQfNzf#iv z>?Y^Wyl?yy7t8b(o~>DOJJc-l+L6`^3%a&{6x{!TbAO?|ar}jxq~hCCHh3T3@%`$C#oaAp>u#y{Txmb($*Ftykl6Eu YM|wo_H;C#pFfcH9y85}Sb4q9e04bioSpWb4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/dull/raw_ore_block_secondary.png b/kubejs/assets/gtceu/textures/block/material_sets/dull/raw_ore_block_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..68e3908e5a5296fcc08411d180d200cd84f85a06 GIT binary patch literal 731 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q{HPZ!4!i{9ADh8edVMB3t$iVur+IYg~;nWMn6Qf^bs^ppaRLsy&IC$$N6DJFX= zs!Y*aC}5@TZL_RDRI9@ArP+ul=w4 z=KcHnaIc>X40HXSt9VXQV`!K%$@thK1D^JI&+n#1UR&{OO3=P*v###C`>ubJ&ipfJ z#Mec~FpV{O>$O}F3f+rMw$zg-tze~n{g zQ1QIf^SI)C;T+B~{-y_Pa?YAht^14>Stq+C z(PB!_r;inTGH-9=Ib6`uC7Jy3(f^{&I@t+@lT^+gO!(la`IOzU;PT57Kb!NrSs4zv zm9912oEyEU%YdgnP(=1oHZw!UTFK{o`k7amWU;fe`)}XAeZPQ{PoT)V8awsSkYf_7 zb-c4vQ=cvm>e5^~W6GrEnY$b{&%Qn(xm;PVrZ%J_{qe^NVXZ*!rU$Z$M=Iu(TTAtR zV_>*sa@XKkMBif{KY#ytqhm=bm-4os|7=sgZ0k48rLMV^l|O@LEqfjHT6Kz_=Gk7u zYac&;lvX@)_u|Ei^L0*3?PyAkylitmmZ70_?%cVZ*Jd#?+}NfodweDX!-B+3I@tJw1JYU{K^VF$SFguj132mbC~pA7x+&o&EmZySljO=-*-fla}1f+N!rv zd6nZD35&mv9z9AHab4Z9Meg`VxwuDjzOVLkp0eZGV)uVDeY{SJ%O0Qkz*X@`sHo!{BODK zR#Mv5go#T!{BODK zR#Mv5go#T0T?9xf@=aas*eq8hBeSdOBqRh)p(|FqttP-$JP<~h<(KB{Mhsnm=eiCea_96PYal6OGL$8UbD@qtU69Tl0UY#Ml#!^8Z4FL zpLBs)-tMWKM78(s`Ug@G;he`F_FnfreM0joYlcd$w)i~Ny_IJz<$V~p+x5r%pS{55 js*u^{duQS{|6|rnTJX-*toT0z0|SGntDnm{r-UW|Akd?C literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/fine/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/fine/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2a84d601d13e4c56781b067ea928f36d530129 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkwPZ!4!i{9Qz`gu%+00T?9xf@=aas*eq8hBeSdOBqRh)p(|FqttP-$JP<~h<(KB{Mhsnm=eiCea_96PYal6OGL$8UbD@qtU69Tl0UY#Ml#!^8Z4FL zpLBs)-tMWKM78(s`Ug@G;he`F_FnfreM0joYlcd$w)i~Ny_IJz<$V~p+x5r%pS{55 js*u^{duQS{|6|rnTJX-*toT0z0|SGntDnm{r-UW|Akd?C literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/flint/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/flint/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ea5ccb8335e5c887a3c933854eb25741e6cdbd GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7PPZ!4!i{9Evw&zv_h`5Tkeac#+p|NJk#!VLlEf})c4zS2@2q!RHDQ8fLTHJXx zH-L-VX9bVIt>2>h0{`aiW;RQoJ3qH2amDIYk813s&uDlG?TuR>=oKi!y6-)I%`yR| z)0;ddxiHK0A8&m4u_7VzT1+m3*u3YGzLy_Z@ST5NoU~$9*Y($}uXnk5PY-$}mcf*> zJ$l`B?fK`^gA#0_L|mgd3|o#Cu4z`d@OJZ*pyP#Wel9fNdA|R6;hM!7ueiK4>&1+Y z>-#Og{6s2qR@PFHZMn>cUG*=S$O;^Dxn9bVH&@Pl S70tlFz~JfX=d#Wzp$P!K>&8t0 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ea5ccb8335e5c887a3c933854eb25741e6cdbd GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7PPZ!4!i{9Evw&zv_h`5Tkeac#+p|NJk#!VLlEf})c4zS2@2q!RHDQ8fLTHJXx zH-L-VX9bVIt>2>h0{`aiW;RQoJ3qH2amDIYk813s&uDlG?TuR>=oKi!y6-)I%`yR| z)0;ddxiHK0A8&m4u_7VzT1+m3*u3YGzLy_Z@ST5NoU~$9*Y($}uXnk5PY-$}mcf*> zJ$l`B?fK`^gA#0_L|mgd3|o#Cu4z`d@OJZ*pyP#Wel9fNdA|R6;hM!7ueiK4>&1+Y z>-#Og{6s2qR@PFHZMn>cUG*=S$O;^Dxn9bVH&@Pl S70tlFz~JfX=d#Wzp$P!K>&8t0 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..c589f0f93355e34e78082edbb08d05e97d2b6d1d GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkWPZ!4!i{9Evwt0sf1X}IatPOBjsne>&S~yiJ=!Ni4hCF%p2TXHR#2+xsoK_sL zWD#d57uPC{hYXrF-qVhzNu9RNzc+in`GhSDZfW1#+&yM7-anumFzcq)S@s7UGBO=A zbB+4cA6#(d3z%`!+JMEbaTT*MliZmc*{iCifd&>C?0Xo>D@*NWE!kNf!Z`a!gm;wM z0=J;M*S95$)pkZ*vJvviS|`Z6PF1)`_pRu+f_*QXg02P@a2ZEee-xO(@VMj-!yYE< z`ITPZPkuWf@nhlMFp<^VQSuB^;`aE8PWtib{bp`PpXT2Twx meHQu4qAtCAuKfN1|4o~sd)aC3PZ<~(7(8A5T-G@yGywqcJ)1-T literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/flint/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..c589f0f93355e34e78082edbb08d05e97d2b6d1d GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkWPZ!4!i{9Evwt0sf1X}IatPOBjsne>&S~yiJ=!Ni4hCF%p2TXHR#2+xsoK_sL zWD#d57uPC{hYXrF-qVhzNu9RNzc+in`GhSDZfW1#+&yM7-anumFzcq)S@s7UGBO=A zbB+4cA6#(d3z%`!+JMEbaTT*MliZmc*{iCifd&>C?0Xo>D@*NWE!kNf!Z`a!gm;wM z0=J;M*S95$)pkZ*vJvviS|`Z6PF1)`_pRu+f_*QXg02P@a2ZEee-xO(@VMj-!yYE< z`ITPZPkuWf@nhlMFp<^VQSuB^;`aE8PWtib{bp`PpXT2Twx meHQu4qAtCAuKfN1|4o~sd)aC3PZ<~(7(8A5T-G@yGywqcJ)1-T literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e7a9bfe29e5522b63905a2569541f136d4e6e3 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|?V@ z4sv&5Sa(k5B?AM4P=HT}t9yaZjT<+P967RabP0l+XkK7=Tnd literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e7a9bfe29e5522b63905a2569541f136d4e6e3 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|?V@ z4sv&5Sa(k5B?AM4P=HT}t9yaZjT<+P967RabP0l+XkK7=Tnd literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/lapis/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c4aad84209042a31959d916813632aa8f87a0e GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+Eo-U3d7QIu0Z}T2j5GW2XZ;+KxvVI_I6;W1Dc0%B;;?0HfwyRFFu3V{Vci_hN z2Qvg5HZfY<37opcg74V-NpXSyO%;F2Ofvtm-(Y6)*LFkG$NZkvCLV5Lx5XJu;|?u< z=CkQo!bwi92Axdai{3ko=kxeXa8Gh(-SGX*ukI3?HP0q)P`<5|R>F4D@{PW&gstSs znNQ~I$F4D@{PW&gstSs znNQ~I$QsKEo6RE_VQOSR|v;@8SroTsrUr9*m)tU?Eem1(OILk9MeAylLV9w#Z z?XOqde*gVO-uANxUgpGUCvCfQ@4J+XO69!rq_>m5-P`6Hr!(!urpvwZ@5~am1&O3j zN#$g?5M^(2`N6D;l`e5{_y4)R^GMyc_gyv1)qBQ$$)z6sMOMo=nhYD(EwuU5V8CN| z;& kio=rsT)(Z7yZVPIpG&N4!=}7$1_lNOPgg&ebxsLQ0KJg8f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..ce32ea36075dca581a602bd725a941571ebc14d2 GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6?PZ!4!i{9R#-Fb%`1m-xKNR+Hy=*To{0)I!4+7-Qr+<#*KH7&kV^`1XS)q;1& zwifB`AE$g1=caxxFuIyqo?iZ~Or)y7qyN*_pN*Sz1dnfgwR*2&m5Qg*^~yBuGu!&& zwI+J2CiMt1C@6VOa+#4UoPAhAd7iV2(Hs`9pLu7(HoakCxRG;D`lO2r!-F}@3_eU( zpUiTf{pP!>QsKEo6RE_VQOSR|v;@8SroTsrUr9*m)tU?Eem1(OILk9MeAylLV9w#Z z?XOqde*gVO-uANxUgpGUCvCfQ@4J+XO69!rq_>m5-P`6Hr!(!urpvwZ@5~am1&O3j zN#$g?5M^(2`N6D;l`e5{_y4)R^GMyc_gyv1)qBQ$$)z6sMOMo=nhYD(EwuU5V8CN| z;& kio=rsT)(Z7yZVPIpG&N4!=}7$1_lNOPgg&ebxsLQ0KJg8f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9e555d33dcef216bb9a556f6d17c5c7e91980326 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkEPZ!4!i{9SJ8?%@V1zhGkam_z?wej{2jwPSmW%Oik9P>R@Gqe7{*@pEznx7fh z@#w`YweTpNu*7FG*QPbQU8a^Ty*W3smr42b8My{kgUMTDcSkcF`&;~QkKtxEg&8-G zeD0rAmbQ)U*#XHFs&9=xu-&NM!L?B-fLZb%7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/lignite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9e555d33dcef216bb9a556f6d17c5c7e91980326 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkEPZ!4!i{9SJ8?%@V1zhGkam_z?wej{2jwPSmW%Oik9P>R@Gqe7{*@pEznx7fh z@#w`YweTpNu*7FG*QPbQU8a^Ty*W3smr42b8My{kgUMTDcSkcF`&;~QkKtxEg&8-G zeD0rAmbQ)U*#XHFs&9=xu-&NM!L?B-fLZb%7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/lignite/raw_ore_block_secondary.png b/kubejs/assets/gtceu/textures/block/material_sets/lignite/raw_ore_block_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdbc3e7e00f02034cad095a6922a71495525422 GIT binary patch literal 922 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_ovyPZ!4!i{98^UytN;5!?6s&Odi~yNJcbOCl|}$u*?n$o!^&B=(6>-2bLnB}ezp zY}m#Z;#hLA^-6vL&cTGQS`}}}yc;U{NdaJqT;+IY-|5NwhV`t1h_6AYcM1~tTZ~i>={(HU7QWb_9 zckaZfE9K?p_A)d~2ykKo=FA=ThO1Yv$}>!O+cfj!yOnF# z>R!2b@86k+1%E=Lqkku*ran!-Z1Ubi^Q4Kdm)d0JRjX!AOAXu@QInmOwaWkUmgx)v z{l|~9GNc&IJoxb8!{fJa-+nDx78W`+c;%Jf$;rw7+F3S+h95ut`t?gRZCQ-ocRmJ= z+hT$rA3a(m&Y(2$#FqmH4n%E?C^0oNlhW1I-QAYhv3T*~IHgA=R<A`{r1J9bZ-4&$`7*`mXF`7ddRq~$yQiOjes8#$;Q+$~ucdYzEKJG_6a1Fn zUs_>fS65v8_(JL5-MziNyMOSfrKi_3ADBCL?(9yNB%O&KHA^(O(l_6fJ8UpxW+%ge zO*%{riY&KJ$E`Pi`1z-tu%PkgNUf<-yLauH$CRM7iL2FVy}%)XAM!SG{zuk*|Neb> zXsGF-haYAM9Aatc>+8!;+IVB}zkmN&mtX$b{-MHV_Sv&%cP|Whu{yzE2Oop8v$MaL zn3&zis=fXl9>UjdMN5DG`enC%ODz6KRxzZo(J?3A~ zt{Nm&+#0bhi8GVm;c@7NM?!uRlz5^xO)bB6|IB{l|KC=v;$m2!(Y4o5jg>*s#nYu! z#8uw+@}8*dWCn#rx4!>XW+;g@XKJXMq>^qY;xy&Y-l(k1RjU@{-kwtZEHXPekApdK znlFF*;d`yeAAhV46sgvG@%!J!DCugQt*cfo|81nxqOo+!?wdK^l+S-Q&(8I6*?O%i zvB%T4+~gh0jR2nAi_5B?ee9Ph&}RNG6CN5`8UE{uc(Tv0OuPB@ay)ED3oQOr?u=1t z>s$fiy)5}vw)<|A0!Ll^`tXaTcRNHm6utV5+Y*1INc0H@=C19Xy{z&_s?kiJo$%m@oGuDa+oswmK_hW}U&u+J@+h%Xq wUVk0`&bTbG++ME#e(inxUE#U2o_*DS%~~38_`^Rw1_lNOPgg&ebxsLQ0LP;QTmS$7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..dbfd1f9d7719969e5237080fd02c6a8ada807da7 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-7o-U3d7QJUD9TYrlz`^4AD?strD(+iBoZ%etTpzzW#?9)K-C$dpvdRB}!yJL1 z)pu+eT&C8iI8NG_JG-Of%e~99geETZST%B(fl89JgL zl}{_2IUyxir$HgoulRfHzr)RjZENIDWUTF+`LyoN&F`1Gvz`YBvNoL1`}oG_vRZt1 c{UPqtO$DXBg~$3C7#J8lUHx3vIVCg!0Mut&w*UYD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..dbfd1f9d7719969e5237080fd02c6a8ada807da7 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-7o-U3d7QJUD9TYrlz`^4AD?strD(+iBoZ%etTpzzW#?9)K-C$dpvdRB}!yJL1 z)pu+eT&C8iI8NG_JG-Of%e~99geETZST%B(fl89JgL zl}{_2IUyxir$HgoulRfHzr)RjZENIDWUTF+`LyoN&F`1Gvz`YBvNoL1`}oG_vRZt1 c{UPqtO$DXBg~$3C7#J8lUHx3vIVCg!0Mut&w*UYD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc19b93818f9c05123a57ae8a041c0ae00ac185 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*Do-U3d7QJUD?d3fbz|&$Mu&qPm=EJKmcL*w_vRW-m;91i1VA3qxh!!SyC;c)J zjevCsRfEYmCpcGCo>dJ8H~1$<6rn z-XDjePYGJgjNCs>a&qCtu<4T0+L;Byn`?faahJO@x2#S5g72AGRaWc7PwadDD(;R^ t*TQG4ZkBiYZ>s9Wrdd3B{%rpPR!(6<`DkI56$}gv44$rjF6*2UngBc^Ua9~9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/nether_quartz/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc19b93818f9c05123a57ae8a041c0ae00ac185 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*Do-U3d7QJUD?d3fbz|&$Mu&qPm=EJKmcL*w_vRW-m;91i1VA3qxh!!SyC;c)J zjevCsRfEYmCpcGCo>dJ8H~1$<6rn z-XDjePYGJgjNCs>a&qCtu<4T0+L;Byn`?faahJO@x2#S5g72AGRaWc7PwadDD(;R^ t*TQG4ZkBiYZ>s9Wrdd3B{%rpPR!(6<`DkI56$}gv44$rjF6*2UngBc^Ua9~9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..901b8dea6906b4d3a87d3c0b38016a4b1bf072a1 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xP1>rMq>17#JAXOFVsD+3)d)G4RRUd*EEdz`$_b)5S5w;`G_cj#(`Z z0ep;IJi`L`n}`Pl?(PYvJ1rQ*s#}O@w#0uTC>kgIH}@dJiA6igX`b(&#O-Spw)R#rsYqs(nZrD0a#dC`WSMe!Fjz$UP*Sj|5O5dxtRedn$ za5et{oAb|&SG>M;MB?MU$*GdpUw@s@@N?I(ZMk2S*;lQqI^pOdk}yl{)FzYrTz^;u zFRpvd;Bk3M^oi-pPXwC!9{+H$tMNEz>GGtLr(xAS?Un_#_g_E1ng8{{f=sDTHuj~b gp8dDE9RHE;nq+t7iZ_Xl3=9kmp00i_>zopr09iGREdT%j literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..901b8dea6906b4d3a87d3c0b38016a4b1bf072a1 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xP1>rMq>17#JAXOFVsD+3)d)G4RRUd*EEdz`$_b)5S5w;`G_cj#(`Z z0ep;IJi`L`n}`Pl?(PYvJ1rQ*s#}O@w#0uTC>kgIH}@dJiA6igX`b(&#O-Spw)R#rsYqs(nZrD0a#dC`WSMe!Fjz$UP*Sj|5O5dxtRedn$ za5et{oAb|&SG>M;MB?MU$*GdpUw@s@@N?I(ZMk2S*;lQqI^pOdk}yl{)FzYrTz^;u zFRpvd;Bk3M^oi-pPXwC!9{+H$tMNEz>GGtLr(xAS?Un_#_g_E1ng8{{f=sDTHuj~b gp8dDE9RHE;nq+t7iZ_Xl3=9kmp00i_>zopr09iGREdT%j literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..71b979c5a4e2c4f4e817c5de5a689bd24dde9cbe GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9lAJzX3_EPC%wbmThZz~ee!Y_-DHswOQxm5P2j1^16(c}3DEZ!J|~Wu49{zRh6j zqQ_nz)(f@$f2Q6TpM61W)hs6A2YG3wItrQG5c%QLRi3-5`+`pvuj$+Qe)-N-c}ffSa+V!e literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/quartz/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..71b979c5a4e2c4f4e817c5de5a689bd24dde9cbe GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9lAJzX3_EPC%wbmThZz~ee!Y_-DHswOQxm5P2j1^16(c}3DEZ!J|~Wu49{zRh6j zqQ_nz)(f@$f2Q6TpM61W)hs6A2YG3wItrQG5c%QLRi3-5`+`pvuj$+Qe)-N-c}ffSa+V!e literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/rough/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/rough/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6f320f322e0af6bff44db93073a2da9db4d88c GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6sPZ!4!i{94BhJDQj0^*;?`k*bC&N zRI0MHR*6h>eXYA`!CAGGd(d-`ZBY@_mbdhi0tI@hPb< zb7k3PEX$NuURrW&#@TlazL#s(eC|wG{q5_-kKsL!e}o;p9xq_ic6HlZu6MuhwI-hU zSyQ+3zwkku^BPO%2rwzKaGx}?S$btM)6yxoC6n(M@US>Kgoe(Waw#(VD$O|F!_?J@LMGdi~8XyfUq>tAPmp0=(~hWXEL<*7mIR%xwYmpxsD b^F9mv)oG!RBtsY&7#KWV{an^LB{Ts5F2T~g literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6f320f322e0af6bff44db93073a2da9db4d88c GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6sPZ!4!i{94BhJDQj0^*;?`k*bC&N zRI0MHR*6h>eXYA`!CAGGd(d-`ZBY@_mbdhi0tI@hPb< zb7k3PEX$NuURrW&#@TlazL#s(eC|wG{q5_-kKsL!e}o;p9xq_ic6HlZu6MuhwI-hU zSyQ+3zwkku^BPO%2rwzKaGx}?S$btM)6yxoC6n(M@US>Kgoe(Waw#(VD$O|F!_?J@LMGdi~8XyfUq>tAPmp0=(~hWXEL<*7mIR%xwYmpxsD b^F9mv)oG!RBtsY&7#KWV{an^LB{Ts5F2T~g literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/rough/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..a38f616fba63545c1261356c199185c222b821d2 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk0PZ!4!i{9GFx_O5K1X}ioxlIfWND+~d3CIwY?k{RkcsxfzokQ;xgacPcR)+Y>{~ta&dKfv_%hzz zvQOS|$aTkBeNBn*9 zq+ENx(j(Rfi|%gacPcR)+Y>{~ta&dKfv_%hzz zvQOS|$aTkBeNBn*9 zq+ENx(j(Rfi|%Fb`dqV(!x8onyyUuy8 zdpox7eVeKs@=~r!FT&=E{eo0}(cS+tj_$f3w$LNRvq#N$^0gy9#?mtt?M)_szxO3+ z|L^jj4<3hwg@xtk=igsGCFz*NC6lwc5^N?s%&S(tV&gYBwm^a7tB1;`RY5B&G?&(F zjVet#Cb8~nmeNuY?XE}d0#ZGOd<+aSe8>0m8?iAkv`jcBahR`t@r?7&=ihkyExV$$ z)KtkcC}7&tb zs#q2VhATI3{+xO@Z~wNNIYsX7$9pxpDi0exIC}Kx<)D=&Hum=N&nx%M^iY|{%G5Yt zy4Nk-LZTuI=mB zzt7zm(ZkUcz~6q@e%a-hoIM-)UVq)ip{T;l%)DQet5vr2ba z|J$0GZQHqL&!5cb=-IEnR{c-uIhbJZLtD|MVUfnOw6wG^K_^{Dfp<}Br-feL@?FKV z>dD87Nz0cnFP!&$_4Mh}|MCkyJa_Kgb!lno-#vyciY+Pm`R}`5zI<8Az;NPeQDEQW z8;>3(@i8!L+qNz4&HMN3cgC!na{qn(WDga)eYF1yS4u-A%I`?MIx_NWw zp4IF!GB7pW8n-fJ&+OT=6(^r`QEc(Kyv5ybxp8?>(I?KOS3>lr+jFomu{SB01n7u; zo^>|OciPhi6;H*UkF{!(f1WVlnHSWx`R1F5@bK%Q8zW@0Or-o67@n6{8E@XaS^rPn ze|-rj4-UoLr9qh<)1EFknso8mvuE>8Z+bI5^(Mb!%Fi0RARRILn5d{(tPBlr-@cvx zvgDWM`On`wp8w20^|Yu%AW4vAVc6QRYOYqNEn%xmci(-ty-C4D#gj{_t?|&q53ldu zy&D>PJ$I81yNK(@;)xzA{Q^oH3#T1_Y?*5|`&xv~w@)8Fe6UnJ(jt%*sU!CG*)z2h z5{K7@op#YY`rp3EY2gK9r;f~&lqXZKX4RV8+5LO_@#Dwz7J<#{UWYL-sB;{ed;Yog z%a<>AvM?C*6dKF*ulJZF(jwp_)ag>^u{3BhhhkYt$rsC(2?1V}Jsa1(-u3m@uPP3w z75x1C|ChY3y8Yn61Lg-zT zAtBYaO0AY-=dyh(rk(#V_vN#F#eVN>ck=)6fAhV%>y-h|$!)n_kKdMAUp(*PD!}sO zx1EWvGJ}Q)SB}w4l_PD57d}=Td03#paDwST+GfSu+XUMb{gzKw;Adn0mRGR<{y|Ik zr9p`d2N)7;#4%$q*z z===*Ny)wra-pp~E_k7~(U7U;Gm@`LCi`1LGxM(NOIm=gHtC~JvWnfr$U0bZ1RmJnr zUD$=nkT*Gt!2&lc%+J+VpW$i<_s?ZS#*?L=HXd-5gNe3u7T z{Z(JJYEtGbk?4oQBCZR=R=2t>ZYbP0l+XkK DQHaF< literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d1d6dcc8ad5f454abd409a17fe236b25d7c65f GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6=PZ!4!i{7=thUX6kh}in8Op!2*a8deboWoXs=-e%}zpQO~V)jddCzlz_>g-zT zAtBYaO0AY-=dyh(rk(#V_vN#F#eVN>ck=)6fAhV%>y-h|$!)n_kKdMAUp(*PD!}sO zx1EWvGJ}Q)SB}w4l_PD57d}=Td03#paDwST+GfSu+XUMb{gzKw;Adn0mRGR<{y|Ik zr9p`d2N)7;#4%$q*z z===*Ny)wra-pp~E_k7~(U7U;Gm@`LCi`1LGxM(NOIm=gHtC~JvWnfr$U0bZ1RmJnr zUD$=nkT*Gt!2&lc%+J+VpW$i<_s?ZS#*?L=HXd-5gNe3u7T z{Z(JJYEtGbk?4oQBCZR=R=2t>ZYbP0l+XkK DQHaF< literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e64ef88208fc7b3a1db808bebb5131e421b9a5a GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nl9PZ!4!i{7=94ZWQm1zPqWnVxY#+(gANu%)A;b;-t0{2WfN4E7gp*mlvYTJU3d zhQP%sW@7gypZ+}8tzcDZetB8id%l0dlh^|9OxrSjg|t|qtydm{uBR}=?fe6duAdDz z=&fX*(E5aL0<-UeP?6jF)(8Z!OKnSM*y>QgwTJ2bw)bAb#kW6Cd0RE3gjI$~d+9Ud z1&S*tE3H_{$8?Zo2YXnfxWeYYUwj?8w&^!0Cop`OELP{p#?xqafp`1YR(ahc6HHj2 z9XRtXcPW!+t>2OJH16xVMy0@=WryS)vc7W5MYqsjwuJG`n+4=%E z_A$;%{A^hEGbZkj|FQ%Bnp#CvI4fA@<=X2!e3k!$LDW3pq{&<9JO%~^22WQ%mvv4F FO#l;~iQ)hN literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/ruby/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e64ef88208fc7b3a1db808bebb5131e421b9a5a GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nl9PZ!4!i{7=94ZWQm1zPqWnVxY#+(gANu%)A;b;-t0{2WfN4E7gp*mlvYTJU3d zhQP%sW@7gypZ+}8tzcDZetB8id%l0dlh^|9OxrSjg|t|qtydm{uBR}=?fe6duAdDz z=&fX*(E5aL0<-UeP?6jF)(8Z!OKnSM*y>QgwTJ2bw)bAb#kW6Cd0RE3gjI$~d+9Ud z1&S*tE3H_{$8?Zo2YXnfxWeYYUwj?8w&^!0Cop`OELP{p#?xqafp`1YR(ahc6HHj2 z9XRtXcPW!+t>2OJH16xVMy0@=WryS)vc7W5MYqsjwuJG`n+4=%E z_A$;%{A^hEGbZkj|FQ%Bnp#CvI4fA@<=X2!e3k!$LDW3pq{&<9JO%~^22WQ%mvv4F FO#l;~iQ)hN literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..1c85d21a1ffeabc41d7711cca9aa99e44e110fee GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p);o-U3d7QJhOcJsCv@R+_xTaYGFH7$Wx?SxcZ(?3yAx3-n;?XcNA=k2_ej2mia?7T0N@^s3jhmxya)p0aD z-4Guc8>)HCrzf#fBHGTV&>3vC4jTLpAlK4fq+-ngfFxAAn2S3#-WyY88~ n=~qhcDxc9j`IPBzRQ|OolO8R~n)Qu=fq}u()z4*}Q$iB}BII!o literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..1c85d21a1ffeabc41d7711cca9aa99e44e110fee GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p);o-U3d7QJhOcJsCv@R+_xTaYGFH7$Wx?SxcZ(?3yAx3-n;?XcNA=k2_ej2mia?7T0N@^s3jhmxya)p0aD z-4Guc8>)HCrzf#fBHGTV&>3vC4jTLpAlK4fq+-ngfFxAAn2S3#-WyY88~ n=~qhcDxc9j`IPBzRQ|OolO8R~n)Qu=fq}u()z4*}Q$iB}BII!o literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..83b1f9f8db6d63877843a32594c87344273ed2d0 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*ho-U3d7QJgHo#s7cz|&?gXB_fsZMa)U%N5oc2j?vca!=sh!#TSkjf+nuw7`jr z+*eg<&wrOMTfwqRwCUqpri2J)2F387n+}}Ob0~OF?RsL-CG7)e&iMr{ zUuA7RU&~uO?5kMRK{2j|*{_*<6Q;8&EiyfSauUDs*PTsA?o>+KY?hF*V0a^3J?HCz zi)Z}u9N!<}UB@ms(=|mecA98&X#EYA=lT43&*{KihoESWLA3g~My+zft^3 Y#~hBn?37ApU|?YIboFyt=akR{0P(wJ8~^|S literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_amethyst/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..83b1f9f8db6d63877843a32594c87344273ed2d0 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*ho-U3d7QJgHo#s7cz|&?gXB_fsZMa)U%N5oc2j?vca!=sh!#TSkjf+nuw7`jr z+*eg<&wrOMTfwqRwCUqpri2J)2F387n+}}Ob0~OF?RsL-CG7)e&iMr{ zUuA7RU&~uO?5kMRK{2j|*{_*<6Q;8&EiyfSauUDs*PTsA?o>+KY?hF*V0a^3J?HCz zi)Z}u9N!<}UB@ms(=|mecA98&X#EYA=lT43&*{KihoESWLA3g~My+zft^3 Y#~hBn?37ApU|?YIboFyt=akR{0P(wJ8~^|S literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..5e3bc7a150f1a08c9fd5d0f2ea1304eb5c4dd674 GIT binary patch literal 1821 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cYtY%%2OUNBPEKE_5$_p!`@{YlH#DqII!&3Il6<;NV`7Ac z7*}fI+xmbYJ0+J-8wFK&zMuQ@;^eyXD>G;9{C=nU`5D14-31nBZt%A=-^?+qobI)h zrMBTjiqW3iZ#|Y@o_H~13hSbaFWi+Le69MKZ8tyIYOdHs4;Q}=FV?l>Z9hHzbnCCb zcD-)ORWF~E?T%c3ee&Ul3e5){?B>5$y_aK_Dm>x)Z`-FumLJVloqn1$;cc1q$`Gxt zqe+VbG&V%7U3N9gb@}B^1I80U&FqG=&lhHM(ZwSJaLj?l}n%K zp(63<;ivT#N0TOAf4x;hO zpW0*{hn9u{<&FyT7|sYCv0eAyKPj=&6yUJo{u>cfXSy%cO7L}!op-49+;iUU{l^ch zP40Za`ecDZS;EekNgQm=bIw2iUz@EVlC=4zPA=d2p5u>~i;Hw_(4ADZ_nxt&TGrMm q{W;s246Y^H2+Wvy>+QCr#rfy`|9tLMKN$k5z&u_3T-G@yGywp*FNw|o literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..5e3bc7a150f1a08c9fd5d0f2ea1304eb5c4dd674 GIT binary patch literal 1821 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cYtY%%2OUNBPEKE_5$_p!`@{YlH#DqII!&3Il6<;NV`7Ac z7*}fI+xmbYJ0+J-8wFK&zMuQ@;^eyXD>G;9{C=nU`5D14-31nBZt%A=-^?+qobI)h zrMBTjiqW3iZ#|Y@o_H~13hSbaFWi+Le69MKZ8tyIYOdHs4;Q}=FV?l>Z9hHzbnCCb zcD-)ORWF~E?T%c3ee&Ul3e5){?B>5$y_aK_Dm>x)Z`-FumLJVloqn1$;cc1q$`Gxt zqe+VbG&V%7U3N9gb@}B^1I80U&FqG=&lhHM(ZwSJaLj?l}n%K zp(63<;ivT#N0TOAf4x;hO zpW0*{hn9u{<&FyT7|sYCv0eAyKPj=&6yUJo{u>cfXSy%cO7L}!op-49+;iUU{l^ch zP40Za`ecDZS;EekNgQm=bIw2iUz@EVlC=4zPA=d2p5u>~i;Hw_(4ADZ_nxt&TGrMm q{W;s246Y^H2+Wvy>+QCr#rfy`|9tLMKN$k5z&u_3T-G@yGywp*FNw|o literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..785017f434075925fa918e276889c17d92d46639 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7VPZ!4!i{92thS^sfMOZ%EkLUZ?>eVD6pm_h_HLnhS7XcPg-6I@~TYZuh z&6<*?9&+0-^BDi)-ckpb-U$apl_LI_S6H5XdhpODaSSU9&xR@VDntt!$FICZcA+yJSI^dx^ zzC~tS=-tCJ+hPx0R4JF**2!4*Uovsg!Cajr&68`JE1H`b<{Un%ay`A^Uv5CCd4bpa zPdz|@_;JX;-d~k?fu(!K z;k-$!gSYQF{(V~O&TAhcn$MSoepNf!99bN8HM{2W@fu0-TdR+6-dDJFqTX-mIf0Y1 sC-3?1TABR5^4FD8&#>i{)nD1mAD5~m7`gvvU|?YIboFyt=akR{0G%4Y*#H0l literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_bismuth/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..785017f434075925fa918e276889c17d92d46639 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7VPZ!4!i{92thS^sfMOZ%EkLUZ?>eVD6pm_h_HLnhS7XcPg-6I@~TYZuh z&6<*?9&+0-^BDi)-ckpb-U$apl_LI_S6H5XdhpODaSSU9&xR@VDntt!$FICZcA+yJSI^dx^ zzC~tS=-tCJ+hPx0R4JF**2!4*Uovsg!Cajr&68`JE1H`b<{Un%ay`A^Uv5CCd4bpa zPdz|@_;JX;-d~k?fu(!K z;k-$!gSYQF{(V~O&TAhcn$MSoepNf!99bN8HM{2W@fu0-TdR+6-dDJFqTX-mIf0Y1 sC-3?1TABR5^4FD8&#>i{)nD1mAD5~m7`gvvU|?YIboFyt=akR{0G%4Y*#H0l literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7cd58e97ff72c7f8ff4b10653ba9d7183d1de4 GIT binary patch literal 1657 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cn7#}JFtwZWZ&Eebp>UR#9Ux~zpkmE&m}Iv9Y(ey|duUiM0@4^S$=9?V9)1Z&Yg{=HCAvTOoPiu0{)}|sHj_Q^YC=|kR#Zc1yH;1; z?gcCs3A%3t9_l@t%^R%rAUdIbtusR!|8f(7TgOx6Crml|Xv(ESJ}-VTx(j{L`X*BF Q0#rG8y85}Sb4q9e00fdRQ2+n{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7cd58e97ff72c7f8ff4b10653ba9d7183d1de4 GIT binary patch literal 1657 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cn7#}JFtwZWZ&Eebp>UR#9Ux~zpkmE&m}Iv9Y(ey|duUiM0@4^S$=9?V9)1Z&Yg{=HCAvTOoPiu0{)}|sHj_Q^YC=|kR#Zc1yH;1; z?gcCs3A%3t9_l@t%^R%rAUdIbtusR!|8f(7TgOx6Crml|Xv(ESJ}-VTx(j{L`X*BF Q0#rG8y85}Sb4q9e00fdRQ2+n{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd3be62ddebd082c6b50a4cc05d40334cfe2d6a2 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+`o-U3d7QMZb4+=IL@UWaW{vtT_k=~c3qE-*9V*|LBJ`tQLc&^h${=lVqPcC1$ zbJt^@z{7X43?6cqcQP6n6`PmLWi7MZn zBDkhLd?(g6b)$wxoN+{1Hq)+H#mXWr<>-4WcU6lvM>E;Tb**}#@_oH2S3qaX<#X9G zM?VWQ#4$J&o%Z>b@J^#KgTe~DWM4fg+^vK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_borax/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd3be62ddebd082c6b50a4cc05d40334cfe2d6a2 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+`o-U3d7QMZb4+=IL@UWaW{vtT_k=~c3qE-*9V*|LBJ`tQLc&^h${=lVqPcC1$ zbJt^@z{7X43?6cqcQP6n6`PmLWi7MZn zBDkhLd?(g6b)$wxoN+{1Hq)+H#mXWr<>-4WcU6lvM>E;Tb**}#@_oH2S3qaX<#X9G zM?VWQ#4$J&o%Z>b@J^#KgTe~DWM4fg+^vK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_cassiterite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..fae8149aae988f6d67b57411e71eced81b83df0c GIT binary patch literal 1816 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..5a973004cb4a43a0ec34794dce72faae77261f9d GIT binary patch literal 2582 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q8dnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)VRWpPLKv7udtaC9Y*9_*EB&R2HP_2c;J0mlh?b zx|XHpl_1sVAz`NbLeID7(^hHEPD z^|f-zPc8)oho_6J5-1d{Qu32CQ>?(uG*eRx12c0AUCSg(16`9O69ZjKV*?9aB#%sN}8pirCExZv62EPQCK+!c-kr%=@~$|0Xc~!Y57IDwo2idc`5nj#Zd8( z%-q!Al0;CX8=9G#nHrj!85x=w8Ch6ZKvjgL78Pga=Yb3}G|)3LQc_4swsOla%1tb> zRm#jwOi$G>$V&%{f-FE2t;j8~axO|uEXgkl$XF_ZnJ8K~(wXr(~v8;!tI50#lV*l9-ZMl88?oD6Lre7iFgAl_Y|4 zu&t7zk^($ISUKnCxlq(Xg=RGOJnqMMngP#om$1S%Q8 z+1|<{v$!O`s1jP%1g924Svi>s;GAxim<+MCII%1>MF}dHoROH9o|jKo$uv0)ZVN&x_Y?X?X z?CqM~o(N%JV7TDv;uvCadTnqc=Me>-E5EEc?jBNX$$Kc%_gIYeyP%BIpZyLh_w_&h zUwc97viG~Bpu5%K+t*GBI{w-FOi=bxhI`v{rN8xLym`G#C|k32j)gK~&5fJWxNi2( zIR1KRa!<2hdbVz3boMEU#Y>!i%qebRp83m7t05tI>vX-UQ@{MbwKAugFVUSWciTt& zyllgk%~6GR_x8NGv?5b2{@PiW?Y`^N%HG?4t+`+ROTbCue!^xaA1(a^`!+^qCIe>1 tre4NVmitxb>&fLtevf?n>(%=|EOk5IJ@T7-;}odn=IQF^vd$@?2>_B|Unu|p literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..684c491031f96457bd6ecf3918edf990c19f2101 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+Qo-U3d7QJgHUF>WQ5OD3^$nLmCX@Z#8pB<(*+_i4lt$A3-u}$EHmdXSNz8ha)a{jVq z+wUiN>!z#U=Ka7~!*C-n$Nm|+=hm)cfqh*&)Olc_=fb%gEQ7VwcOpS z%9PRlzbwa`Q)^9v_qEj5|1B!SCS~3JenNcWjXRGYv1jlW9H}|Aei8!%1B0ilpUXO@ GgeCwNS${JC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_chromite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..684c491031f96457bd6ecf3918edf990c19f2101 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+Qo-U3d7QJgHUF>WQ5OD3^$nLmCX@Z#8pB<(*+_i4lt$A3-u}$EHmdXSNz8ha)a{jVq z+wUiN>!z#U=Ka7~!*C-n$Nm|+=hm)cfqh*&)Olc_=fb%gEQ7VwcOpS z%9PRlzbwa`Q)^9v_qEj5|1B!SCS~3JenNcWjXRGYv1jlW9H}|Aei8!%1B0ilpUXO@ GgeCwNS${JC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f05c81bd8293ef8417b6c6883f2767546e02bf GIT binary patch literal 1776 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaY6+U(fh*B*zFU3}=NXg#r z*o_lm3=E9ZJzX3_EKZkBUU;3+QRL`z(?uRj1YM`vJBDmuwP;0`OQ=ehS(nM9E~VT( z_pN_F)7kfa?&CA>-rV{9uD0AmBim~3v9jH=SzDtrOr#dZt-o#j`eDI@pEYu;O83U) zPCc3=`2Kr!hS}_GhBADL6aLo8%k{f6Su`@Qy!=um)kf}k-G2G1z4LM}mF|t>K7ae| zH})@8dmsI*N#k8pRcK|LUAxgzvGKKn|&Dt|FNz)#oC}6I{Vz# sDBXKc)!n|zcr*21sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaY6+U(fh*B*zFU3}=NXg#r z*o_lm3=E9ZJzX3_EKZkBUU;3+QRL`z(?uRj1YM`vJBDmuwP;0`OQ=ehS(nM9E~VT( z_pN_F)7kfa?&CA>-rV{9uD0AmBim~3v9jH=SzDtrOr#dZt-o#j`eDI@pEYu;O83U) zPCc3=`2Kr!hS}_GhBADL6aLo8%k{f6Su`@Qy!=um)kf}k-G2G1z4LM}mF|t>K7ae| zH})@8dmsI*N#k8pRcK|LUAxgzvGKKn|&Dt|FNz)#oC}6I{Vz# sDBXKc)!n|zcr*21JEumdG&3JpDC809elz{VjZl;>|l z2f4IuGZ{=buOr2WeT_r8`G&|n!<=Hha-~X$8u^@hTaowxmJ4F>37#J8lUHx3vIVCg! E0NM?vAOHXW literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_copper/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..7d77c8b81b04b27fe316f71848a751544f014da2 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlFPZ!4!i{94BiUEfm1YGZ*4cTI}Y2wtCJvu^>JEumdG&3JpDC809elz{VjZl;>|l z2f4IuGZ{=buOr2WeT_r8`G&|n!<=Hha-~X$8u^@hTaowxmJ4F>37#J8lUHx3vIVCg! E0NM?vAOHXW literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..1d3eef7d2e17fda386daf3e8d942a11b113b4066 GIT binary patch literal 1681 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qX&nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaY_w zk*=|!L9%I@k#TaOg#k>zOMY@GD86C(Q%KbBUzC}inU|PDwmG0&2udhc9+|}@`9+n` zd=i{m2xaADDuC05RbnzI&D$y^gCaXMMF}dLNp=W8j4jVd&BK}uAkxM8X(i=}MX8SI zsd*&?5|_T6f{i{XPeNR;56%Hd9s|oE%F1qvh zqe8#TyNTaz{O2*a23}|`jcv`G^+a;bYpaXf)?WE+alG))@dsb40yn(3u1sq_*Y`L; z@!bK2qmM1RY|bBTWnA2R@Au!Z)0;Y0tx{o5k96C)Nk>&m=HEF5Pob(Kx1Lvu9X9Z2 z_`PqvfHU8_9c>JYG!`A$_BL2K`u_LlGut^Mr%TGjW^D4kJm)Y|Zot*2A7t`)1PT-z z4zTp|r)^<1yT|rs8>?G;*q`S2zAuU{JUHfHUdtB4p^(;cFizru`m5jdcJrTX%omBA zrn+ytFw4QO>Q4LreJ(Lu_gZTnqxW8qA4luhelQdYi+wP8zGyk9((rWkb6Mw<&;$T= Csd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaY_w zk*=|!L9%I@k#TaOg#k>zOMY@GD86C(Q%KbBUzC}inU|PDwmG0&2udhc9+|}@`9+n` zd=i{m2xaADDuC05RbnzI&D$y^gCaXMMF}dLNp=W8j4jVd&BK}uAkxM8X(i=}MX8SI zsd*&?5|_T6f{i{XPeNR;56%Hd9s|oE%F1qvh zqe8#TyNTaz{O2*a23}|`jcv`G^+a;bYpaXf)?WE+alG))@dsb40yn(3u1sq_*Y`L; z@!bK2qmM1RY|bBTWnA2R@Au!Z)0;Y0tx{o5k96C)Nk>&m=HEF5Pob(Kx1Lvu9X9Z2 z_`PqvfHU8_9c>JYG!`A$_BL2K`u_LlGut^Mr%TGjW^D4kJm)Y|Zot*2A7t`)1PT-z z4zTp|r)^<1yT|rs8>?G;*q`S2zAuU{JUHfHUdtB4p^(;cFizru`m5jdcJrTX%omBA zrn+ytFw4QO>Q4LreJ(Lu_gZTnqxW8qA4luhelQdYi+wP8zGyk9((rWkb6Mw<&;$T= Cwm?zHiIbCq<(=L8{x|i9 z-z#LE`I6gLtg_pEN^H{-w@GLBGG1{Py1;ZdjQ`&6%>b|sdsD$v%@dbgB8cgdgQu&X%Q~lo FCIF9VMyvn; literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_diamond/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..1e5f5ef45596e9e707707cace5a613173962eff9 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+DPZ!4!i{7)7Hu5$Y2r%<^&g$y0)73d3q-m4E#g@d>wm?zHiIbCq<(=L8{x|i9 z-z#LE`I6gLtg_pEN^H{-w@GLBGG1{Py1;ZdjQ`&6%>b|sdsD$v%@dbgB8cgdgQu&X%Q~lo FCIF9VMyvn; literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..694ceaf1a4083d756a2cab23b1d65292c9477b26 GIT binary patch literal 1550 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUi9DonpiesU=&%3=CbNYw9Nl$oBHmzYDgIiQRPN-I_#nZ+gf zMU~L35}aBHW#wclfRl$+VlpV%+bSi4;yX1(2`ZdPb_hU>Ezd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=_@FCguv3aJj?M8yc$jw6OhH z>7f^KL?ukq;^j+4Hii;)w_Vb$3=Bo*eiXeg;d|g)Aj7`)^{t#MHu;tUf+ZKDSwlou zb)`lYgeI)ny-I7w%x9JFlnmn)k9k}+nfU!*ltx3pi`Ppb+vhz3OmTc(kJgL6xOqfr z>$k#58Lo=SX+`G(ZSO5+FTG!WYuj0|=>CMYYdU5m`LgflV0Acr_x&FhUzzoiOiwtq PK_#}QtDnm{r-UW|VmtUK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..694ceaf1a4083d756a2cab23b1d65292c9477b26 GIT binary patch literal 1550 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUi9DonpiesU=&%3=CbNYw9Nl$oBHmzYDgIiQRPN-I_#nZ+gf zMU~L35}aBHW#wclfRl$+VlpV%+bSi4;yX1(2`ZdPb_hU>Ezd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=_@FCguv3aJj?M8yc$jw6OhH z>7f^KL?ukq;^j+4Hii;)w_Vb$3=Bo*eiXeg;d|g)Aj7`)^{t#MHu;tUf+ZKDSwlou zb)`lYgeI)ny-I7w%x9JFlnmn)k9k}+nfU!*ltx3pi`Ppb+vhz3OmTc(kJgL6xOqfr z>$k#58Lo=SX+`G(ZSO5+FTG!WYuj0|=>CMYYdU5m`LgflV0Acr_x&FhUzzoiOiwtq PK_#}QtDnm{r-UW|VmtUK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f25892cf07029df4c231dd3698ba3b802d961e GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-3o-U3d7QJUDY!qZt6mZ?&^DxwrQ7nPe>;qG;PtHN6bsT3sx5-Ht923(y&@$Vx zrFr*>-Wz{w{(V}qU+aMW)mXK8($7}K8MVx-p50a1aeVR2yU*ncGMQNt3^s3Hl6_un zoe7JZr@m+ZtdHz3Oc=f$NYxYlV7SC6BEYqy^$6#yvuFHPhNVoH>F(K;F#qTGZMEH5 s>@rsvW-t4-hF^C>{IjhN;aAz+7MsQ{J-H=|fq{X+)78&qol`;+06y(p3jhEB literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_emerald/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f25892cf07029df4c231dd3698ba3b802d961e GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-3o-U3d7QJUDY!qZt6mZ?&^DxwrQ7nPe>;qG;PtHN6bsT3sx5-Ht923(y&@$Vx zrFr*>-Wz{w{(V}qU+aMW)mXK8($7}K8MVx-p50a1aeVR2yU*ncGMQNt3^s3Hl6_un zoe7JZr@m+ZtdHz3Oc=f$NYxYlV7SC6BEYqy^$6#yvuFHPhNVoH>F(K;F#qTGZMEH5 s>@rsvW-t4-hF^C>{IjhN;aAz+7MsQ{J-H=|fq{X+)78&qol`;+06y(p3jhEB literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d5fab0764f8ab19763d361356846a48e384ef7 GIT binary patch literal 1689 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$==R?>O39>21W-@7sn8b)2+d~S2a5b$m;)OoM_^-;gX2w(z(7?^=INgaObSab!Ez& z{$1Ee)es% zg9mm#wkXNDU8X2@+;C^y`pb#(jVe9~NgU@tPg}m%@y8ZPS3y-9IsO~(zbkkO%{iYw zA+>Vq{>LFqnX@kKT(v63=u!GUjjpCUdFF>sbS-j-oEG!x(4qPDFLv>{1hV*EUUA@K zg~%rxb>GVksgc>-9x}%T4;d^;QITw8Tzzopr09n{d$p8QV literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d5fab0764f8ab19763d361356846a48e384ef7 GIT binary patch literal 1689 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$==R?>O39>21W-@7sn8b)2+d~S2a5b$m;)OoM_^-;gX2w(z(7?^=INgaObSab!Ez& z{$1Ee)es% zg9mm#wkXNDU8X2@+;C^y`pb#(jVe9~NgU@tPg}m%@y8ZPS3y-9IsO~(zbkkO%{iYw zA+>Vq{>LFqnX@kKT(v63=u!GUjjpCUdFF>sbS-j-oEG!x(4qPDFLv>{1hV*EUUA@K zg~%rxb>GVksgc>-9x}%T4;d^;QITw8Tzzopr09n{d$p8QV literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..733e8410d597899aa2ae63b217d39965afc7a6f5 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkuPZ!4!i{92rd%c(g1zPuedV^x)Hoy{nJK>b6)@4YjkbtmrP zyK=Z*huL4y;}&z4$ZQJol-x_&uH)}RAtYcWq;NM_< zd$Gd1TkpKH#12l{q_rWpn#0C@1EWdf#3ef4e??m+h+Ax^4P-5AOzhi{`r9k$_BVw| z^BdORm{@qzR!5zZHodR;7c}v}H`@(X%MV_6eY;)! y&wPExirMZ0%DyVwkNV~?=oha_?^L;4&#<7QVT0>&;aUa;1_n=8KbLh*2~7a%)T0jo literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_garnierite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..733e8410d597899aa2ae63b217d39965afc7a6f5 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkuPZ!4!i{92rd%c(g1zPuedV^x)Hoy{nJK>b6)@4YjkbtmrP zyK=Z*huL4y;}&z4$ZQJol-x_&uH)}RAtYcWq;NM_< zd$Gd1TkpKH#12l{q_rWpn#0C@1EWdf#3ef4e??m+h+Ax^4P-5AOzhi{`r9k$_BVw| z^BdORm{@qzR!5zZHodR;7c}v}H`@(X%MV_6eY;)! y&wPExirMZ0%DyVwkNV~?=oha_?^L;4&#<7QVT0>&;aUa;1_n=8KbLh*2~7a%)T0jo literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..e09e07682cf11e1717f8b7826aa27b66ccc866a1 GIT binary patch literal 2050 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=*&}Ip3LqfoY|ui(`mIZ)mW$_MSqKIzFez=XfUF(f1TPl_qt{Da@{M(-NJWDgFtW z51lo{rs-%VIu@NZ;W?SAR;0f({@i~X^~L}8U;X{>Uh%nN>-7)5pE-Yi@tQR}xw*Oj z_U+x}>6Q`}gl{R2S=BxMxpH zcUM(|*|zI;hYPiO!1<44EUtD*ZXY;3;to0^*b^O=%hutHv5 z{>1t7$Dck`_44w1^7N@Ib7O3>OLy+XoN8XPc5P-{oLpU9oy^h&3mi_YShwyRcSn{^L3MTarAtA+ z-rk3Q|K9CgS6A28)6?@u(%8ys)iTlDyLTV@K4*?hL4~t3v!B2J)@|Fw#Kpy@s9#%i zEFvX8|NPdz-rmHFj1#ikohqxUJ}vzI{d-hQ%$pS{iMvuWGdb_xy?f%+sirsY-&-F# zc#ttxebX$@duI}t`0TpIv0Gfaqp^{3&HDAt3Wxq!TU+mKe79*vue-bZf}KiD?d|M$ z?%X-?;K76Y=QgxE$UWAd6&D-p7+P3Y*SCGU`Ihb5FFPDNw)cZu_r>==?^cDHnVWz8 z{8_lQwYAT}(o%Ep-o0MWS6+O=c{$NITT5Fz@vB^IS(#Z%Wo6{agtD@*U%!8sR#inE zJAQoQjvX&H-c0hekO?~-7ZfB}TwJ_4%IJ~dti@U9PJQ^WAuJ@MW2Z0MA;oP8UMhLZ z7Z%-&X#Vx9s{acA#ZublJyy$?Eju7#*%9RL=cgjn`D4+>xQHoPX1%lK z&HHyh{&?!6O9cmeRxUPDl>3)aml!oCNo&!SmoHufJUic5TwLt5jOEci8F~4|>(}%D ZXZZbgLbj*OWpPj~?dj_0vd$@?2>`0A4ub#y literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..e09e07682cf11e1717f8b7826aa27b66ccc866a1 GIT binary patch literal 2050 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=*&}Ip3LqfoY|ui(`mIZ)mW$_MSqKIzFez=XfUF(f1TPl_qt{Da@{M(-NJWDgFtW z51lo{rs-%VIu@NZ;W?SAR;0f({@i~X^~L}8U;X{>Uh%nN>-7)5pE-Yi@tQR}xw*Oj z_U+x}>6Q`}gl{R2S=BxMxpH zcUM(|*|zI;hYPiO!1<44EUtD*ZXY;3;to0^*b^O=%hutHv5 z{>1t7$Dck`_44w1^7N@Ib7O3>OLy+XoN8XPc5P-{oLpU9oy^h&3mi_YShwyRcSn{^L3MTarAtA+ z-rk3Q|K9CgS6A28)6?@u(%8ys)iTlDyLTV@K4*?hL4~t3v!B2J)@|Fw#Kpy@s9#%i zEFvX8|NPdz-rmHFj1#ikohqxUJ}vzI{d-hQ%$pS{iMvuWGdb_xy?f%+sirsY-&-F# zc#ttxebX$@duI}t`0TpIv0Gfaqp^{3&HDAt3Wxq!TU+mKe79*vue-bZf}KiD?d|M$ z?%X-?;K76Y=QgxE$UWAd6&D-p7+P3Y*SCGU`Ihb5FFPDNw)cZu_r>==?^cDHnVWz8 z{8_lQwYAT}(o%Ep-o0MWS6+O=c{$NITT5Fz@vB^IS(#Z%Wo6{agtD@*U%!8sR#inE zJAQoQjvX&H-c0hekO?~-7ZfB}TwJ_4%IJ~dti@U9PJQ^WAuJ@MW2Z0MA;oP8UMhLZ z7Z%-&X#Vx9s{acA#ZublJyy$?Eju7#*%9RL=cgjn`D4+>xQHoPX1%lK z&HHyh{&?!6O9cmeRxUPDl>3)aml!oCNo&!SmoHufJUic5TwLt5jOEci8F~4|>(}%D ZXZZbgLbj*OWpPj~?dj_0vd$@?2>`0A4ub#y literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b759c29936f0118c1c393f3a86427815557f1c GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6ePZ!4!i{9SJzTTmMB5m_Oq(m*8*%fQDdkW_|1xJCVU6VPaOeUw_TA#g3?OaQp zqjF}E`^3pBX4VR@I^9Z9U4Gi~=Dat1uT|YI-=AH7fYo{L(si*dua)Bh&9(PkYu)`t z-iiBw$p>DElxNkY6K2l8l5vH>&**dPbceLMyw0;%i&p3{ZVnbK6#pSAs4Zw{EZ4vP z+s@98+k%D+QV+BY>@&-6lqbB}X0_aI#Shh`SLCj1e_!ZY!y&_bzj5uEn&7p2o31IY zx;^t}Sgd|^y_p5;vWBZ?Y-W^vyRN&UnaTV>?E@AIW-+7U{j0YwbB$xkoA$!WfLSK( zS)lkvi*l(__8mMmjCCo`CR(xBF_~9&NI!k2{>no(^x;L851y;H>P`Hdu>RTFS?{-I zDVK)FuKN*byYJpUv+7UEUo-VLI`mh6(!cUNc58i|S}AJ;tC;cUQt@Zzn_~06@E)k> RXJBAp@O1TaS?83{1OQpJtDpb? literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gold/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b759c29936f0118c1c393f3a86427815557f1c GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6ePZ!4!i{9SJzTTmMB5m_Oq(m*8*%fQDdkW_|1xJCVU6VPaOeUw_TA#g3?OaQp zqjF}E`^3pBX4VR@I^9Z9U4Gi~=Dat1uT|YI-=AH7fYo{L(si*dua)Bh&9(PkYu)`t z-iiBw$p>DElxNkY6K2l8l5vH>&**dPbceLMyw0;%i&p3{ZVnbK6#pSAs4Zw{EZ4vP z+s@98+k%D+QV+BY>@&-6lqbB}X0_aI#Shh`SLCj1e_!ZY!y&_bzj5uEn&7p2o31IY zx;^t}Sgd|^y_p5;vWBZ?Y-W^vyRN&UnaTV>?E@AIW-+7U{j0YwbB$xkoA$!WfLSK( zS)lkvi*l(__8mMmjCCo`CR(xBF_~9&NI!k2{>no(^x;L851y;H>P`Hdu>RTFS?{-I zDVK)FuKN*byYJpUv+7UEUo-VLI`mh6(!cUNc58i|S}AJ;tC;cUQt@Zzn_~06@E)k> RXJBAp@O1TaS?83{1OQpJtDpb? literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b6f251a6a5f5b4213bdcdff400bcec8b1d1a51 GIT binary patch literal 1728 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qYTnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)FgX(l%JNFlWMEv?&%w#kW`wPQ=*%hr%)W^ z?gVz9udkJ7UU5lcUUI6Zi>*>cZh>BAW{Ooxnn`l1sfmfMfoW2*u6de?p>Cp4nwf5r znVG3^qPbb3sYxnKze|2{DJZ64`cp{M?_ZReo|%`JL$*1f{0B-RRvwwfCHX~_&>Rw+ zS_oz3WGaADg;ioQD7D)vC4-_lHAM+3oJn>FK#VQVNX^5V03g!E`DrEPiAAZ7>8W`o z1d^4$oq~-%C^te}uMbZ9NFD>rA>~|{@*o#C5EER;fC?Nt1w=`fnwMg$RHS5YxAEcm zUknV4#hxyXAr_}ggAMtb90cyvHuILbdHrbE`cZs}%9Jv-Jq<1AE*-ga>XuNJT|=2l z*^L9@=Vo8td#BNF;hlST-@Lh}V=u?Q>uw%PNo@MR!v-N=TKf$D9(Y-@s8FW!qjJUG zIJubuoSuOqawq@Rg|894k>e;(ar4~s&C7K>g{rr`udcG2eo zraf`N>8FQ&|Gl@S|M=rIF6TC#Nh?vgT(;XZg=s>QL6?%-N~g4{3D0+i&lYf;*lp35 z8KoD$K76Tp1bdo`RG5~?!nExnQ_`yx7*8B-ly|8YZ90%PONcQvRP)HJWrkf(UDJG9 zTpUiDq|82hY)zq{-G#`P1r{@I zo6TA{oBM9gS5wjC`x2hR*@QY1Isd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)FgX(l%JNFlWMEv?&%w#kW`wPQ=*%hr%)W^ z?gVz9udkJ7UU5lcUUI6Zi>*>cZh>BAW{Ooxnn`l1sfmfMfoW2*u6de?p>Cp4nwf5r znVG3^qPbb3sYxnKze|2{DJZ64`cp{M?_ZReo|%`JL$*1f{0B-RRvwwfCHX~_&>Rw+ zS_oz3WGaADg;ioQD7D)vC4-_lHAM+3oJn>FK#VQVNX^5V03g!E`DrEPiAAZ7>8W`o z1d^4$oq~-%C^te}uMbZ9NFD>rA>~|{@*o#C5EER;fC?Nt1w=`fnwMg$RHS5YxAEcm zUknV4#hxyXAr_}ggAMtb90cyvHuILbdHrbE`cZs}%9Jv-Jq<1AE*-ga>XuNJT|=2l z*^L9@=Vo8td#BNF;hlST-@Lh}V=u?Q>uw%PNo@MR!v-N=TKf$D9(Y-@s8FW!qjJUG zIJubuoSuOqawq@Rg|894k>e;(ar4~s&C7K>g{rr`udcG2eo zraf`N>8FQ&|Gl@S|M=rIF6TC#Nh?vgT(;XZg=s>QL6?%-N~g4{3D0+i&lYf;*lp35 z8KoD$K76Tp1bdo`RG5~?!nExnQ_`yx7*8B-ly|8YZ90%PONcQvRP)HJWrkf(UDJG9 zTpUiDq|82hY)zq{-G#`P1r{@I zo6TA{oBM9gS5wjC`x2hR*@QY1I;BSkYj2_{=emAB-Fh=ObUG_1T(tdaPdcob|%VR@(rp4+~a_-#++T zfoZMpjHZe94oa7d-Y)7h`M8ytefP8cijVrgRhO*i^a+``U{izopr0DCrj%>V!Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_graphite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7e4c82ff46ae74ee7b6e5fd6b68cf3ef6315bd GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*Vo-U3d7QMZbH}W2G;Bmcwc0!k4kd}&A$CN(NIkFK7!5bK?ABbL3+{hp#Dipiw zjl)D^ql26~I%~h#{$4ZRB|+)Z%=N2|uXv^}Jn`J&rkcqvDX(|kt!I!H&ucI`Yh}~O zC{Y}<;+5*GGk>;BSkYj2_{=emAB-Fh=ObUG_1T(tdaPdcob|%VR@(rp4+~a_-#++T zfoZMpjHZe94oa7d-Y)7h`M8ytefP8cijVrgRhO*i^a+``U{izopr0DCrj%>V!Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..2306250410ff10b7a11f6cb80b6a7964d968b942 GIT binary patch literal 1674 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qX&nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaYSjnu$rOu7$C2 zvaW@RrIB%}rD0;Cr4dZOOMY@GD86C(Q%KbBUzC}inU|PDwmG0&2udhc9+|}@`9+n` zd=i{m2xaADDuC05RbnzI&D$y^gCaXMMF}dLNp=W8j4jVd&BK}uAkxM8X(i=}MX8SI zsd*&?5|_T6f{i{XPeNR;56%Hd9s|oEJ3?_KBSAkdb+pQ*E>$>~mm-^#!aZShvOmBq|jN?fc$esPw{ zo4eEAo_k~b{?D34|JUc%kS5eoCxf2rDzSPzqWJ_J+ z#eBfBFPWF&dF}mtQHGq`Zkx=ccp28HxvVm{e2F2Za~#3VF+04t{&3pYXhLQjbzPbAtlMyvj;O z3*K{+qrXqx&-TD+Cd1~lYu>OgTe~DWM4f2Jk*3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..2306250410ff10b7a11f6cb80b6a7964d968b942 GIT binary patch literal 1674 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qX&nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>N;(pO%@EYOCb#=^LPsRGOJnqMMng zP#om$1a_sbua#$BaYSjnu$rOu7$C2 zvaW@RrIB%}rD0;Cr4dZOOMY@GD86C(Q%KbBUzC}inU|PDwmG0&2udhc9+|}@`9+n` zd=i{m2xaADDuC05RbnzI&D$y^gCaXMMF}dLNp=W8j4jVd&BK}uAkxM8X(i=}MX8SI zsd*&?5|_T6f{i{XPeNR;56%Hd9s|oEJ3?_KBSAkdb+pQ*E>$>~mm-^#!aZShvOmBq|jN?fc$esPw{ zo4eEAo_k~b{?D34|JUc%kS5eoCxf2rDzSPzqWJ_J+ z#eBfBFPWF&dF}mtQHGq`Zkx=ccp28HxvVm{e2F2Za~#3VF+04t{&3pYXhLQjbzPbAtlMyvj;O z3*K{+qrXqx&-TD+Cd1~lYu>OgTe~DWM4f2Jk*3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..313ad7a3cb1afb13c65e4343cea0efd4b3866987 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk!PZ!4!i{9KxYx9^Ld0O_byY*+qDyBof7!n&5*;g6af8Mle!IOlWwvLX>i!@H% zRqf)ksxDe1`)KoZx&F7+4hEZLFFc>K|7m_>>A9cHTvO^j^u9e2b}^Y18LS+z`JC{X z23L<=8gjey8yORnCR|xMGdE@pZ|l>ys?YD-738?+p1i01-Q-mvGe4TH_)&CUHu21j zLjB#VG&C#vSlo@PC)=O6_txps-b>Mv>Qi@HceYk6T_S71CK`V8=wdE==4z&CpMF>H zK3K79+qSRr%MbOt?raO6`zX0Z`n2|(36Gk&9-Wa3H_cHx7-`RWK);}Cx`5u%S&@%9 zs}kOZd^unv(tp6wQrEzH(&mTtk&{bwvp84^)wkRK=c?4Txc;$~fq{X+)78&qol`;+ E04WrbSO5S3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_gypsum/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..313ad7a3cb1afb13c65e4343cea0efd4b3866987 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk!PZ!4!i{9KxYx9^Ld0O_byY*+qDyBof7!n&5*;g6af8Mle!IOlWwvLX>i!@H% zRqf)ksxDe1`)KoZx&F7+4hEZLFFc>K|7m_>>A9cHTvO^j^u9e2b}^Y18LS+z`JC{X z23L<=8gjey8yORnCR|xMGdE@pZ|l>ys?YD-738?+p1i01-Q-mvGe4TH_)&CUHu21j zLjB#VG&C#vSlo@PC)=O6_txps-b>Mv>Qi@HceYk6T_S71CK`V8=wdE==4z&CpMF>H zK3K79+qSRr%MbOt?raO6`zX0Z`n2|(36Gk&9-Wa3H_cHx7-`RWK);}Cx`5u%S&@%9 zs}kOZd^unv(tp6wQrEzH(&mTtk&{bwvp84^)wkRK=c?4Txc;$~fq{X+)78&qol`;+ E04WrbSO5S3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..41c8034862173f2797b49240bdbf109a4b0aa6f1 GIT binary patch literal 2006 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cGnOt4bD1F8q~Wnns8Dc6_EWE4oZpo1 zxYaN4wT^YUz|X<8C3ccPU8>U(4N14gOG=Ax+Y0+HYCK;1{_alW=W{Hl`}_HYY`?9# z|Ni+U$<@`f*F;1`E%IBwc-gXLE3Ur|TpG0S`}gvHfBq~fvC_4C_UDgH<=(icxVW$% z6VE@tdF#l+?r!d=`1s}fH}2oB|N7P~shPcQ&F1FjqPt?_~6ByL|n+ zxWB)@@Gg5hyH!Vzx?0)Tq%emvH8R}2cQ0u5)k)4vgE~tBE9HCLdJcy@OfXn+C(qp0 z#^z7ZjoY^u|NdQl$>YW2$Ie2gx~=C-% ze@1@&UAro5^%BKm6RFUN9xhya_wMz4_wwb+H8XwMeCD55mw)_mMp$@wW?EXCRE>4wg zOE8#p`l*sg`-AfG@=fefX?x?uHKH_ne9Rby-`%-+bD@ipW2+OR@TA(aY_lT1&Quih z*}QxA>Iq-Id}%qnX8+2&dEV3Q7xEldxNPF;QPHZqwN!9st&Ujog}{@UsO;Z2!hlX(PuP@_|Q=Iqia4(6ohL<~}H}u=&_17UUT5mc7Vo?v9ZCNg0M8 a|1j)Y>3Aeu@CrAm=Jj;-b6Mw<&;$S`-`iyX literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..41c8034862173f2797b49240bdbf109a4b0aa6f1 GIT binary patch literal 2006 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cGnOt4bD1F8q~Wnns8Dc6_EWE4oZpo1 zxYaN4wT^YUz|X<8C3ccPU8>U(4N14gOG=Ax+Y0+HYCK;1{_alW=W{Hl`}_HYY`?9# z|Ni+U$<@`f*F;1`E%IBwc-gXLE3Ur|TpG0S`}gvHfBq~fvC_4C_UDgH<=(icxVW$% z6VE@tdF#l+?r!d=`1s}fH}2oB|N7P~shPcQ&F1FjqPt?_~6ByL|n+ zxWB)@@Gg5hyH!Vzx?0)Tq%emvH8R}2cQ0u5)k)4vgE~tBE9HCLdJcy@OfXn+C(qp0 z#^z7ZjoY^u|NdQl$>YW2$Ie2gx~=C-% ze@1@&UAro5^%BKm6RFUN9xhya_wMz4_wwb+H8XwMeCD55mw)_mMp$@wW?EXCRE>4wg zOE8#p`l*sg`-AfG@=fefX?x?uHKH_ne9Rby-`%-+bD@ipW2+OR@TA(aY_lT1&Quih z*}QxA>Iq-Id}%qnX8+2&dEV3Q7xEldxNPF;QPHZqwN!9st&Ujog}{@UsO;Z2!hlX(PuP@_|Q=Iqia4(6ohL<~}H}u=&_17UUT5mc7Vo?v9ZCNg0M8 a|1j)Y>3Aeu@CrAm=Jj;-b6Mw<&;$S`-`iyX literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_hematite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..170a2a153cdfd8bed88bc99565305b42f0d74599 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6gPZ!4!i{94BhCWjQ1zPs+{$uE|V3NQArlNz*O%oh6qXd*$v=$wma_pJ}w{xwi zsVVQmd3;(*oC~*XZeZ$IsNCZ6P>Sozm54k4K0UvC{^zdk#@5!m-{-nsihi*1t*KYv z63zvzJq*Fy%)2VsOd7pCFEec87w(;YAabUK!_{wQ9|U$VWU0>Ko!^eZ8_genniWm;8SBKS#dG+9^k@?ZQJZ1vy1ASozm54k4K0UvC{^zdk#@5!m-{-nsihi*1t*KYv z63zvzJq*Fy%)2VsOd7pCFEec87w(;YAabUK!_{wQ9|U$VWU0>Ko!^eZ8_genniWm;8SBKS#dG+9^k@?ZQJZ1vy1Asd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)VRWpPLKv7udtaC9Y*9_*EB&R2HP_2c;J0mlh?b zx|XHpl_1sVAz`NbLeID7(^hHEPD z^|f-zPc8)oho_6J5-1d{Qu32CQ>?&DixdOnv}A)sT?-S#6kU_VBy-)QB%?H4vqUos zQwzf+<75K^kmVqAJoAc667!N%LFQEC7U*SWrdU~;rkR@=Cz|LcCtDcmnpv6{>sqFo zo9J35Tbi4srlnaLSSG^s`xj-VXXYj5AiD=-PD*BqRZ@zXg_&tmnr?EkiGi+(QA(O_ zVv=#PuA#ZHxv`n0fw_Tks*(aIQCK+!c-kr%=@~$|0Xc~!Y57IDwo2idc`5nj#Zd8( z%-q!Al0;CX8=6^|n;M%M8dzGG7#JHGLsf*O78Pga=Yb3}G|)3LQc_4swsOla%1tb> zRm#jwOi$G>$V&%{f-FE2t;j8~axO|uEXgkl$#5?&CwRF}k(R9ht@ z10z#i17lqyqYwiFD^oKo6Qd|_s95>tr(~v8;!l&Ep8X1Qe8d{l{S{Ya>=@aF4tS%)gxkCa3 zZa-SogCZ580?jXwY9IiX#TA^LF+GJ8pder9gNkWLWPpklUtgqnLMo-KeDagQi2|Hp zQ&XV+cS=kL8-iaYHre2e{PH{^Oo6FGHp8)~q&&YU+rP*^DJwO(1dl10Dv`|zN=?r! zE-9+?#OECpMW9mH$`h2agG&nvaxznkpq2-x7J>r;s{(`|IP~&yYeL9_^*HAjR2F5X zXO#Gt=V7-BLj_o$PiAszUNLrikmSH|k5pybDcFF8f?V7{OmOQ0)Y7n1Kr~@e^HOY; zij?f_=5BfYnSp`fqNj^vh{frplh5+DDe$zd{Mo0{cfj#mA?J3*yaOC-4)F0jXr0Ym z@!Wg%6@h;?7n+YaoxZ)CHOMRJn3!SqngiAIdki_Rf414Z=~Hc2?$if!l-1?-tkdSz zpP$&U(c52bb;9FMyLc=FRPE0@XP;~OdsgVfw!pRXd7^F>&+ysz=G zI&1H*J|fzjwfVuM&kidjxW6zin79757kl61hQPNo-t5cYm@94a{6N%itI8QgC)TX8 x^w61J9rtg#K>bqVV;sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)VRWpPLKv7udtaC9Y*9_*EB&R2HP_2c;J0mlh?b zx|XHpl_1sVAz`NbLeID7(^hHEPD z^|f-zPc8)oho_6J5-1d{Qu32CQ>?&DixdOnv}A)sT?-S#6kU_VBy-)QB%?H4vqUos zQwzf+<75K^kmVqAJoAc667!N%LFQEC7U*SWrdU~;rkR@=Cz|LcCtDcmnpv6{>sqFo zo9J35Tbi4srlnaLSSG^s`xj-VXXYj5AiD=-PD*BqRZ@zXg_&tmnr?EkiGi+(QA(O_ zVv=#PuA#ZHxv`n0fw_Tks*(aIQCK+!c-kr%=@~$|0Xc~!Y57IDwo2idc`5nj#Zd8( z%-q!Al0;CX8=6^|n;M%M8dzGG7#JHGLsf*O78Pga=Yb3}G|)3LQc_4swsOla%1tb> zRm#jwOi$G>$V&%{f-FE2t;j8~axO|uEXgkl$#5?&CwRF}k(R9ht@ z10z#i17lqyqYwiFD^oKo6Qd|_s95>tr(~v8;!l&Ep8X1Qe8d{l{S{Ya>=@aF4tS%)gxkCa3 zZa-SogCZ580?jXwY9IiX#TA^LF+GJ8pder9gNkWLWPpklUtgqnLMo-KeDagQi2|Hp zQ&XV+cS=kL8-iaYHre2e{PH{^Oo6FGHp8)~q&&YU+rP*^DJwO(1dl10Dv`|zN=?r! zE-9+?#OECpMW9mH$`h2agG&nvaxznkpq2-x7J>r;s{(`|IP~&yYeL9_^*HAjR2F5X zXO#Gt=V7-BLj_o$PiAszUNLrikmSH|k5pybDcFF8f?V7{OmOQ0)Y7n1Kr~@e^HOY; zij?f_=5BfYnSp`fqNj^vh{frplh5+DDe$zd{Mo0{cfj#mA?J3*yaOC-4)F0jXr0Ym z@!Wg%6@h;?7n+YaoxZ)CHOMRJn3!SqngiAIdki_Rf414Z=~Hc2?$if!l-1?-tkdSz zpP$&U(c52bb;9FMyLc=FRPE0@XP;~OdsgVfw!pRXd7^F>&+ysz=G zI&1H*J|fzjwfVuM&kidjxW6zin79757kl61hQPNo-t5cYm@94a{6N%itI8QgC)TX8 x^w61J9rtg#K>bqVV;+JsJhffHPsB8Nj9sN3+nv1@^i=r=Tle{ivs(nxvaWjyZ!_jN zGbztgIA}@OEXfOX9)diTXE`#zeEGuoPdbD*Esr6GagX3dwWVJ+OgV7oYSUG?qX`>Q4!J?dC5bb3T5yL<`xQ`~Xl-TJ*@ ztaE4bdLQwNd@b6`5#;rJ&gbtzt(&%$Gn@}jTAvWMRlq*%_8GSAzx!tLGZefPiZ=dj zv{^9m+)oSLq%>#AS4J}`-*>vEylsE8&2)dWPz9&roz+?L$$vDM_pLTxuxjtBy1uA_ rPkEgj3}y^{noEm0&qnR!sAF&yE$KgTe~DWM4fhlGmC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_lapis/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..a9af0b3fc9edf025fb003719538a6f57ae7744c1 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkpPZ!4!i{7I_)>+JsJhffHPsB8Nj9sN3+nv1@^i=r=Tle{ivs(nxvaWjyZ!_jN zGbztgIA}@OEXfOX9)diTXE`#zeEGuoPdbD*Esr6GagX3dwWVJ+OgV7oYSUG?qX`>Q4!J?dC5bb3T5yL<`xQ`~Xl-TJ*@ ztaE4bdLQwNd@b6`5#;rJ&gbtzt(&%$Gn@}jTAvWMRlq*%_8GSAzx!tLGZefPiZ=dj zv{^9m+)oSLq%>#AS4J}`-*>vEylsE8&2)dWPz9&roz+?L$$vDM_pLTxuxjtBy1uA_ rPkEgj3}y^{noEm0&qnR!sAF&yE$KgTe~DWM4fhlGmC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..67bb9eeb945518d824764ac6ea88d36889f02689 GIT binary patch literal 1772 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=;4V`usBn2FA&rE{-7!W*WA6^TbVwsm+W2l%^SqWr;=n zh!D_J+T<+uW=g<~h?9TM*8b&qe0J^6UGmT8l>0MZektjLF0h*WM$(62Vb{Tg51ZBY*57$w zuK43&K||HvJpK<;c0}mt}pWS}uzNzulGLYj+G3xt3#g@%iV2Z_Ak5D-Sy@{E$_)`)2hGrMvGkDSbM4{4wJuo$lP4V;Lq+QVP!kG>$YK zRJg#@eN@T#@I9}?20KEZ7X3WD$!&4t+cN3hch~)xf3bA#ES;ZGYun!YGpQfAF0@jB sgQcQaM{M&|53WfkRkWvidHnvtytMwB?T&X--9hz{r>mdKI;Vst0P)0i%>V!Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..67bb9eeb945518d824764ac6ea88d36889f02689 GIT binary patch literal 1772 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUiEzd~J!<7;sDvI;dO3D+9 zQXSJ%^GXOLF?~A)8+}mDgm^$7oDY!v29`t0#W3YTE^Z(uxWEAwK6VO-QY|$v#a5|E z$=;4V`usBn2FA&rE{-7!W*WA6^TbVwsm+W2l%^SqWr;=n zh!D_J+T<+uW=g<~h?9TM*8b&qe0J^6UGmT8l>0MZektjLF0h*WM$(62Vb{Tg51ZBY*57$w zuK43&K||HvJpK<;c0}mt}pWS}uzNzulGLYj+G3xt3#g@%iV2Z_Ak5D-Sy@{E$_)`)2hGrMvGkDSbM4{4wJuo$lP4V;Lq+QVP!kG>$YK zRJg#@eN@T#@I9}?20KEZ7X3WD$!&4t+cN3hch~)xf3bA#ES;ZGYun!YGpQfAF0@jB sgQcQaM{M&|53WfkRkWvidHnvtytMwB?T&X--9hz{r>mdKI;Vst0P)0i%>V!Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_limonite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..f7bb55d43db90e7e93982cf34682fe12e27361b3 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkwPZ!4!i{9Red%c()MOyc_m@E@i>`F+tvhI`+aq;Bx<>F;Os3i6)#;$Pz``R^I z1dkj$bxEzGmxb5EN-^rqnwC`Kk7k>z-~F7qQ`|GVWm3rW5cQx*S(ORym;8JrD$eSJ zv23ViJ>zf8pmka3n)2SYHhX6L)OY|MqoZ-lmgg1{{yFc7)1H+}!6=xpAv*>%Srnsfjsj&HYZT zGxWXB(X{HV@q^x!hUW+TRlejad%Q~fux&}KXYY(36-;##EO$@3)v|qQZ#l#5{@}bD h8*0^GioE#Cbiph8`F+tvhI`+aq;Bx<>F;Os3i6)#;$Pz``R^I z1dkj$bxEzGmxb5EN-^rqnwC`Kk7k>z-~F7qQ`|GVWm3rW5cQx*S(ORym;8JrD$eSJ zv23ViJ>zf8pmka3n)2SYHhX6L)OY|MqoZ-lmgg1{{yFc7)1H+}!6=xpAv*>%Srnsfjsj&HYZT zGxWXB(X{HV@q^x!hUW+TRlejad%Q~fux&}KXYY(36-;##EO$@3)v|qQZ#l#5{@}bD h8*0^GioE#Cbiph8sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUi6v+nIb@py%7~z}V&#!pT#{c@ z3C$|OsfAEhPNo7lc~~VTgOa_iQZgvMQ&W_n!kJ`;0L0kxjMO|_DFLFQI6tkVJh3R% zF+DY}gg_G0w^Oju2jxtN2lT=D0LgD)Iiy?+Qy%2v24aE>98lq7r+_HcQu9)5m5P+? z?RwOrk1{YY>3O<1hFF{~4c?u#$x*~+^?b89=RFCkWnpIf8v2uxxn6UWHEmrQaq|~P z)7;jnNqZCoxhFdWe9YUk*wOs{9D8k{AN(~Z)>)^grJw71{nhJhRczKQHzy9RR;MJp z`NFRXEIjsR?7x5c_iyW&XVbXa44rfN(+`R8zx zqt{LO;kq9WJPjoF2zJDGc1Uq;G}#iRyYj|DHu;n!zGIIK|LQiB>MzODX*St^|NKV< zyC*qDGdY4gCEOPax+)1))zzh)WO)20ZF8bfZP=2w6Sv-)&2D{IXf@ZS@%GzkGJNct z)r2_vg61>MyAZeD-Qz&o=7|dfG&(X&v=|P}f3b$2>t~H!RaKSH_fOedrCzFi`YV{J zHC1TN(kh#{_20|X!Gv@3FNpGd=WuVllG> x%jGv^*7n(Frp$6MPzsW`o@3T162K~Sh5!8e1+nZ;G|qymN>5immvv4FO#m4lx@-Ud literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..d011f89ad82afb962dd58faabbd9feab5e5d2d9c GIT binary patch literal 1927 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`ktK{zK8=#O>nwe9g zo0+Fj9OUi6v+nIb@py%7~z}V&#!pT#{c@ z3C$|OsfAEhPNo7lc~~VTgOa_iQZgvMQ&W_n!kJ`;0L0kxjMO|_DFLFQI6tkVJh3R% zF+DY}gg_G0w^Oju2jxtN2lT=D0LgD)Iiy?+Qy%2v24aE>98lq7r+_HcQu9)5m5P+? z?RwOrk1{YY>3O<1hFF{~4c?u#$x*~+^?b89=RFCkWnpIf8v2uxxn6UWHEmrQaq|~P z)7;jnNqZCoxhFdWe9YUk*wOs{9D8k{AN(~Z)>)^grJw71{nhJhRczKQHzy9RR;MJp z`NFRXEIjsR?7x5c_iyW&XVbXa44rfN(+`R8zx zqt{LO;kq9WJPjoF2zJDGc1Uq;G}#iRyYj|DHu;n!zGIIK|LQiB>MzODX*St^|NKV< zyC*qDGdY4gCEOPax+)1))zzh)WO)20ZF8bfZP=2w6Sv-)&2D{IXf@ZS@%GzkGJNct z)r2_vg61>MyAZeD-Qz&o=7|dfG&(X&v=|P}f3b$2>t~H!RaKSH_fOedrCzFi`YV{J zHC1TN(kh#{_20|X!Gv@3FNpGd=WuVllG> x%jGv^*7n(Frp$6MPzsW`o@3T162K~Sh5!8e1+nZ;G|qymN>5immvv4FO#m4lx@-Ud literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5ae870ef3e4a9b639e976ca9b711615eb2819c GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s77PZ!4!i{9Q#_SqqU0<0hI-*#zr@ij?u5i2!sO493Cr^(u^G3ioT7Pt1sE!#G3 z+_?EO_Zf4Kx9S@{hzh!_y{uvO=>Ma=2R>CqmOUuiX7a?kvkJF~UKZvQpwOL=x$%;HdCPl2TN%%3s-A+;wvc69UpIeW&u*7hzZUxWFE zrf7+@XP5nITNcmUSw2C!gv0-_+O(|Oc!W|^;vokjVHl5nL*QfJNU zIy*K#`+e<$_v2HF=e{=_x9IeAv57h&v@SV5dER;{_IU@k^HtpND--4Z5$7v9f6JNI zKUQq~wwmvt^PS`Dz2R|Zs^;%plr?kvM@?gU`9+b|7vr|?V^}(cS7&-qn73wjY3%#$ q53GMQ8b|0a&AD3ow{F%0d*&OdOlvf6E@xn1VDNPHb6Mw<&;$TeSHQgh literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_magnetite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5ae870ef3e4a9b639e976ca9b711615eb2819c GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s77PZ!4!i{9Q#_SqqU0<0hI-*#zr@ij?u5i2!sO493Cr^(u^G3ioT7Pt1sE!#G3 z+_?EO_Zf4Kx9S@{hzh!_y{uvO=>Ma=2R>CqmOUuiX7a?kvkJF~UKZvQpwOL=x$%;HdCPl2TN%%3s-A+;wvc69UpIeW&u*7hzZUxWFE zrf7+@XP5nITNcmUSw2C!gv0-_+O(|Oc!W|^;vokjVHl5nL*QfJNU zIy*K#`+e<$_v2HF=e{=_x9IeAv57h&v@SV5dER;{_IU@k^HtpND--4Z5$7v9f6JNI zKUQq~wwmvt^PS`Dz2R|Zs^;%plr?kvM@?gU`9+b|7vr|?V^}(cS7&-qn73wjY3%#$ q53GMQ8b|0a&AD3ow{F%0d*&OdOlvf6E@xn1VDNPHb6Mw<&;$TeSHQgh literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..75a27c48cbfdeea3eb29f523244b676fbeb10314 GIT binary patch literal 597 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZ}PZ!4!i{7b|_hxH3iX1)vrt3r)+f>&O6IX>pW{exJ9Q%JTilgINn9`&hs!KMC z9Es!hcH};Is6Q!{TUG2(lG3Slr`$L^t{kWhed2lLxb@WoXWq}Let*UwCSdtx#mzT) z<~=VgFF&p~ckha*wQh?qcKnkL3H{2jHA**XZP$J-{;TMe{GFifBog>&%)hDnI@??PEvXEy}Dyj#ifqlkvV44 zQvJub+|9d~w_WkHk<&tf?5$A}JZuI$kDr*z?bPaW+8f8;>C(jLU^aW{`}g@QOpG_) zmRZd8+YzJ3(NyrjXOm8_fbP0l+XkK DjPVY5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..75a27c48cbfdeea3eb29f523244b676fbeb10314 GIT binary patch literal 597 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZ}PZ!4!i{7b|_hxH3iX1)vrt3r)+f>&O6IX>pW{exJ9Q%JTilgINn9`&hs!KMC z9Es!hcH};Is6Q!{TUG2(lG3Slr`$L^t{kWhed2lLxb@WoXWq}Let*UwCSdtx#mzT) z<~=VgFF&p~ckha*wQh?qcKnkL3H{2jHA**XZP$J-{;TMe{GFifBog>&%)hDnI@??PEvXEy}Dyj#ifqlkvV44 zQvJub+|9d~w_WkHk<&tf?5$A}JZuI$kDr*z?bPaW+8f8;>C(jLU^aW{`}g@QOpG_) zmRZd8+YzJ3(NyrjXOm8_fbP0l+XkK DjPVY5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_malachite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5686644d056d6bfeed4d46812b36fc323133c0 GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7-PZ!4!i{81D&TG3AiX62+EZ{jYAmh&orzOjdHHk=TdM~xip0a7m4UbJT>JPN_ zZnD+3*7i2r6cALFv&=+Ed&!@OJ?@u3-%}|s-T%G%{LgvS`^;TiCz!D9VSK+$U+Zfa zkEih@wtviTbWf|RY;~y);yhq;fyIVF{($y{yx$I&bPCdT|F}D6;uX zwQ5PKr!Rx1r}qKj0{?^?Yu_$fqBCLh-uVlP_%xO(9o2jwo58w{^UnS*Q;iq#zn?ZP z$y^|q!K~M)z2I1xX5W%kJQ4aUyZl@2ABMLF;;ynM>;AbMkNAWBApOxL~&o&p~}2#tVEI*}X|S(|Dr7ol{u~+$9XW q+sai$o#OwAO%hXGtA4khkx{#K%Kx8BUNbN-FnGH9xvXJPN_ zZnD+3*7i2r6cALFv&=+Ed&!@OJ?@u3-%}|s-T%G%{LgvS`^;TiCz!D9VSK+$U+Zfa zkEih@wtviTbWf|RY;~y);yhq;fyIVF{($y{yx$I&bPCdT|F}D6;uX zwQ5PKr!Rx1r}qKj0{?^?Yu_$fqBCLh-uVlP_%xO(9o2jwo58w{^UnS*Q;iq#zn?ZP z$y^|q!K~M)z2I1xX5W%kJQ4aUyZl@2ABMLF;;ynM>;AbMkNAWBApOxL~&o&p~}2#tVEI*}X|S(|Dr7ol{u~+$9XW q+sai$o#OwAO%hXGtA4khkx{#K%Kx8BUNbN-FnGH9xvXjC#9LuQ=`8oSD`i!a158EK8#`X_ z;$dTEJhA6w-uBgXV)A_KE3ak+?ulBv>S~ti&75gLE5F=#lyY&2xqh^8&W(uk&xH>g zNc6gKDO?P_Y?8S(ipB9j-uA~|tCsHSe*3^$Ybw{g=N~I_r7>%jD=kPm*0Q;=LQ?j^-HyoStciPAZg=-zjgn${|in_^^|CP zv};|?_S+sR%qRb|%{ZHODQ~;x^wV4m;?`@&UO&1?r{;eDr+o}Qms5;px~ytT^w680 zyffxlOo^3j>E5{H-zObDaee-2^ZobS&p+o#Jgs%8Z>xVJzq4v$@&YCX1_lOCS3j3^ HP6jC#9LuQ=`8oSD`i!a158EK8#`X_ z;$dTEJhA6w-uBgXV)A_KE3ak+?ulBv>S~ti&75gLE5F=#lyY&2xqh^8&W(uk&xH>g zNc6gKDO?P_Y?8S(ipB9j-uA~|tCsHSe*3^$Ybw{g=N~I_r7>%jD=kPm*0Q;=LQ?j^-HyoStciPAZg=-zjgn${|in_^^|CP zv};|?_S+sR%qRb|%{ZHODQ~;x^wV4m;?`@&UO&1?r{;eDr+o}Qms5;px~ytT^w680 zyffxlOo^3j>E5{H-zObDaee-2^ZobS&p+o#Jgs%8Z>xVJzq4v$@&YCX1_lOCS3j3^ HP6T_M z%+$N)zp#^pT6J9Y z-g{aB%xO*>%~^r(RKk>R`K@MKb9*1l3Xz7|2ZA%$t~GSMoxQ2KONOVhO5}zVdwSWW z%eN0WwL~BIY*FFDFr$-6d)xYd&50&X;u+HqPV!SJy?pb8>a?j#av!kHV4k&&eLtT{ zDOW?V=j_P*--=c?Ol6-1qb8jbs^I^@^es5>_VxocQX9p@Kly(>d47A`8SB$_7mmD= ZwylVrqLIa2$iTqB;OXk;vd$@?2>|&Snpyw= literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_opal/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..68b34f8b5a7d9a5ed581089f1dddf1e87c559f31 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk|PZ!4!i{7=9_If!xinQ!Mq9OH|e}-De3W3ENFDNZ&ay@XYeS^rd&#lY0d=y-x zyC$W(Br2j~DU0Bii^mS_-E{Ac^z1qB=G@IMODj(dQe7Eo^xpfH=dZ&hd!^dF4>T_M z%+$N)zp#^pT6J9Y z-g{aB%xO*>%~^r(RKk>R`K@MKb9*1l3Xz7|2ZA%$t~GSMoxQ2KONOVhO5}zVdwSWW z%eN0WwL~BIY*FFDFr$-6d)xYd&50&X;u+HqPV!SJy?pb8>a?j#av!kHV4k&&eLtT{ zDOW?V=j_P*--=c?Ol6-1qb8jbs^I^@^es5>_VxocQX9p@Kly(>d47A`8SB$_7mmD= ZwylVrqLIa2$iTqB;OXk;vd$@?2>|&Snpyw= literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..005c3e93f81e7c96c7fcf6687e205c09ed42a414 GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZxPZ!4!i{9Q~UvHy83ES&4910(Lsl^;wlXG#?{Ddq11)47Z5BPr377AZ?WU30Q z<4K+)TLRS5B%Chno^hm~MN-1?wnyWOO7V#Tm-oD{Hv3+5zW7|R-gmnL_7^ftBG!gU z9zDLO<6y#pt64`6A9jB8{{7=;&)OIYYHMXP#hNl_eW{&4@A*WP*y~Hzz5Zg;&+x#4 zFHwSR{`~oz3{$;SpV-ay<79YSHoL#SpQWK{uix!$nG$TRuXptvfBd4v%47Lu3p+cp zz|MK|=FRX>*>E%G!_S|cdE0-Be%_s6HhW{-`t~4;zQb|rk6+C?I(@o0(}ABqEg2uU zn;$mVv3YZIjGj8ff*8He4<0bA4B_fpXS=(*19r*#tzW#FH z{f9r>+_`_hUiMm+DN{r4?b}y3>3C^c&OVzFDW*P|lTl&*`On|Jnf)=RUpvQkp>AM>PelNw&l>_rR=3=E#G KelF{r5}E*Yq7*>@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..005c3e93f81e7c96c7fcf6687e205c09ed42a414 GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZxPZ!4!i{9Q~UvHy83ES&4910(Lsl^;wlXG#?{Ddq11)47Z5BPr377AZ?WU30Q z<4K+)TLRS5B%Chno^hm~MN-1?wnyWOO7V#Tm-oD{Hv3+5zW7|R-gmnL_7^ftBG!gU z9zDLO<6y#pt64`6A9jB8{{7=;&)OIYYHMXP#hNl_eW{&4@A*WP*y~Hzz5Zg;&+x#4 zFHwSR{`~oz3{$;SpV-ay<79YSHoL#SpQWK{uix!$nG$TRuXptvfBd4v%47Lu3p+cp zz|MK|=FRX>*>E%G!_S|cdE0-Be%_s6HhW{-`t~4;zQb|rk6+C?I(@o0(}ABqEg2uU zn;$mVv3YZIjGj8ff*8He4<0bA4B_fpXS=(*19r*#tzW#FH z{f9r>+_`_hUiMm+DN{r4?b}y3>3C^c&OVzFDW*P|lTl&*`On|Jnf)=RUpvQkp>AM>PelNw&l>_rR=3=E#G KelF{r5}E*Yq7*>@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_pyrite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8017f220ace49170183ffa0c75bed90110b4db GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7?o-U3d7QL;L_GV3S6lt6P{x++i=KMyK1jb{x+`!fr{`nulGldEuCuds82;l>Ji|P{LH4%3>RG0(0#3Tee)tCM zo>Jm@Ddtp_I)Bn{)__}e>MxlLQhsY1D8H1spb>Os{{fQ?xxatf<(^f~<&dK zO=4QfVx}DLEYDTmvpn~?GkgtscHkUSyzvLQ4`M%NJ}Z^D;q~?|tA^1>2?MSg|3#L! zUr$=rpnpK6;OMuaxY&vDD!xl}>Kiy8$bXQ_VBp>+|1NL6PeSk|4=KMyK1jb{x+`!fr{`nulGldEuCuds82;l>Ji|P{LH4%3>RG0(0#3Tee)tCM zo>Jm@Ddtp_I)Bn{)__}e>MxlLQhsY1D8H1spb>Os{{fQ?xxatf<(^f~<&dK zO=4QfVx}DLEYDTmvpn~?GkgtscHkUSyzvLQ4`M%NJ}Z^D;q~?|tA^1>2?MSg|3#L! zUr$=rpnpK6;OMuaxY&vDD!xl}>Kiy8$bXQ_VBp>+|1NL6PeSk|4X!z&n4OvS52Kcx1->Pv&)Tbys43D z>4!vPPjA{W^Y1}s!JT{VWlFRJty)zT`QBUErlijEmn~n~#`~Ki965|Xm&OK)u>RWD fzUr5y9Rt6KMrVX!z&n4OvS52Kcx1->Pv&)Tbys43D z>4!vPPjA{W^Y1}s!JT{VWlFRJty)zT`QBUErlijEmn~n~#`~Ki965|Xm&OK)u>RWD fzUr5y9Rt6KMrV7d~2C4ErqZ0;qFn{5Rr_(~Yp9Y~t?i0Pe}&SjT1 zUzBcm-rB;Lcp&Y<$tOR}1^oY>D?e|0XS%o6nKzb7*S1_>Hej6)vV}2V=I-3RH#r|D z_U`sy$L1l$P@BM4!({n^ZO=TWzn%&&Wq+(t{o%zEx$F0{m`%SmnJ0WUmJufe%&jD{8IE6H&U*UP^LT!-cm$*UfeUB0eHHyCGC8Pr;l(MP3=9kmp00i_>zopr E00zu`&j0`b literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_redstone/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..91797819342b1bb499db5741f84c61b3b377a78d GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-vo-U3d7QK5X+h#EZinQ)O>7d~2C4ErqZ0;qFn{5Rr_(~Yp9Y~t?i0Pe}&SjT1 zUzBcm-rB;Lcp&Y<$tOR}1^oY>D?e|0XS%o6nKzb7*S1_>Hej6)vV}2V=I-3RH#r|D z_U`sy$L1l$P@BM4!({n^ZO=TWzn%&&Wq+(t{o%zEx$F0{m`%SmnJ0WUmJufe%&jD{8IE6H&U*UP^LT!-cm$*UfeUB0eHHyCGC8Pr;l(MP3=9kmp00i_>zopr E00zu`&j0`b literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c534e5bbedcb2d676dbdfb3b3e97bf535645ae GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6$PZ!4!i{7=twyO>~NX+pU`D59@5tfvgn4bPHvZ-{PfJ(VXYO4N{Ego|Zd5MVV zP_eNTORBt$JhQTXMzgnlpu|%UQ7&3 z43kf`oJ|wHnkD+T?!TkUB&9`?wl)V1cxIkW+i^FKzy0yY87og(H}@CFv?od!aWG9v zkvTpq@Z;ph%vnKt(<9ekUpU2S_0>xj^1KWWs`e)Bj9C=4Qo&P5ck=d!Hix(6no04N zSjqCRHT#60nEc4%*~5Yg$r~9alfG8<9!>gK#pLN0c;sr<(U&E^N?%2?t$Urc{r1AJ z)dx+^zUj(*eCg2>_N>1fbi8N3`E6%DoA>koBinM%J^y_F)c;b~)0=L*ExVYv{o?Dd f`}qE5|6y~NX+pU`D59@5tfvgn4bPHvZ-{PfJ(VXYO4N{Ego|Zd5MVV zP_eNTORBt$JhQTXMzgnlpu|%UQ7&3 z43kf`oJ|wHnkD+T?!TkUB&9`?wl)V1cxIkW+i^FKzy0yY87og(H}@CFv?od!aWG9v zkvTpq@Z;ph%vnKt(<9ekUpU2S_0>xj^1KWWs`e)Bj9C=4Qo&P5ck=d!Hix(6no04N zSjqCRHT#60nEc4%*~5Yg$r~9alfG8<9!>gK#pLN0c;sr<(U&E^N?%2?t$Urc{r1AJ z)dx+^zUj(*eCg2>_N>1fbi8N3`E6%DoA>koBinM%J^y_F)c;b~)0=L*ExVYv{o?Dd f`}qE5|6yFe%rd*ZkB_6Hk@vQ8gNFJJhPX!m+x&^miB~?&&T9xx*sAiq zNOF^<$1Be)&s(e>m$$^di~QNGaC*~m70+{xX_Hj8YINOeKm4$Kqxw396kZFKea9Xb z@}wM13Tb3u@T`5nTd}Ry{_Ou-%_hFDC*4wHy3PE6!6Isf!u<`l3zC0t>)IsQxWqU? z{>O&e&=bdZHU)Mhq#gVwdqIcq`3t7GkL)L2nSN#NW`U+9jFYF=Z~Pl_@M_TyMv48w Vp=~k|-3$y244$rjF6*2UngH*hmKy*7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_ruby/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..75a5a9d390d738cc225a2598750d2829cdac0816 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlDPZ!4!i{7=9*ZVO$N*t*VU&oRm9K@69VK6~UPjLp94O8cA=LG?^?OpqrXDv7; z5XaQ$pitGs;@#xJxNKoZ-0a7@RIj%L{{B0A?#&wR|D2w$msX@Z#wS;;o0=6psjBsd zia`xej&~R1Bb%L^TN>Fe%rd*ZkB_6Hk@vQ8gNFJJhPX!m+x&^miB~?&&T9xx*sAiq zNOF^<$1Be)&s(e>m$$^di~QNGaC*~m70+{xX_Hj8YINOeKm4$Kqxw396kZFKea9Xb z@}wM13Tb3u@T`5nTd}Ry{_Ou-%_hFDC*4wHy3PE6!6Isf!u<`l3zC0t>)IsQxWqU? z{>O&e&=bdZHU)Mhq#gVwdqIcq`3t7GkL)L2nSN#NW`U+9jFYF=Z~Pl_@M_TyMv48w Vp=~k|-3$y244$rjF6*2UngH*hmKy*7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..d4067fd89ae33b5f4bc3dd8a730e226dba450765 GIT binary patch literal 1668 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qX&nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)ttxm4Ts^kts}7YDr>BVo4%Cbt%bKY57IDi6yp5 znYoGSsrm(Z=}HRlAhUAL&&eh~|oOwY_q%puzxP%Z=|6f2L+;*$KL zN@zX_PA!D8axxXbX~QZp8I^5(0@!-%i0sACxB{uGa_W03?rr<&g3(OnH!t8;A)mYCy$~odTjfOU+BMRVq@l zw|j9zQjLLu(a_VyF~p*`H%L*a#egR#zJcLjf?x%USpNgTJ-$|fqvyZ(DQQS4 zq%#KC_)cE;`j*=4WtNLIfwo&eS%xRamYux**PX$*O@z(yLooZ< zpSI_BizHk#S6s>b<&pCmt@kg{^g!dmas$#t<71Tj2vb%XV3Y~vRJ?tIjxrQ{{5yJ2hk~~H-#(< z*x4|r`nK86X5Qo<{)Hcsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)ttxm4Ts^kts}7YDr>BVo4%Cbt%bKY57IDi6yp5 znYoGSsrm(Z=}HRlAhUAL&&eh~|oOwY_q%puzxP%Z=|6f2L+;*$KL zN@zX_PA!D8axxXbX~QZp8I^5(0@!-%i0sACxB{uGa_W03?rr<&g3(OnH!t8;A)mYCy$~odTjfOU+BMRVq@l zw|j9zQjLLu(a_VyF~p*`H%L*a#egR#zJcLjf?x%USpNgTJ-$|fqvyZ(DQQS4 zq%#KC_)cE;`j*=4WtNLIfwo&eS%xRamYux**PX$*O@z(yLooZ< zpSI_BizHk#S6s>b<&pCmt@kg{^g!dmas$#t<71Tj2vb%XV3Y~vRJ?tIjxrQ{{5yJ2hk~~H-#(< z*x4|r`nK86X5Qo<{)Hcv>Hs@cp zwn+g6$rVhxcaA>g`j=Due$GtG;%9H1UVBJ+NNxF8yxhxISb-^aLHHBnYYaEy)Ia6v z?U-V+ac_s=zM~T6hR3c89J2k8_gk~2fcHy|{^bSp-aZ#NBwG;rSH=I*nx0(yKbiWT zv7UGDYcJILcK>!B*QCa`UuQDjY>#7?xE1Fy%Y&(7rQzxfzk)Z78{ht%$UbQq!?x$1 zH~ZE{TmHEn_heqTSh4&I_0L%kww;hQUCuaPZc2~(x4BHw2{RUi23?ln==vplVF|nO zroA?f7AL(_d{>(+W<{SG8uE+WGFQS^uh|wB-*3 z?mMLPFD~MVab)PMP?Nnk@+Q3rJ+$dgdIC>QuD%_^*032{ADnYEWnf@n@O1TaS?83{ F1OOVptMvc? literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_saltpeter/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..436ba046b3b05f25608cbe771ca469a48719b1e0 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlFPZ!4!i{7b|_WC(F3bgKDy@&D0oq(X+bf+fWxoxkeT(e={dj6oXjI>v>Hs@cp zwn+g6$rVhxcaA>g`j=Due$GtG;%9H1UVBJ+NNxF8yxhxISb-^aLHHBnYYaEy)Ia6v z?U-V+ac_s=zM~T6hR3c89J2k8_gk~2fcHy|{^bSp-aZ#NBwG;rSH=I*nx0(yKbiWT zv7UGDYcJILcK>!B*QCa`UuQDjY>#7?xE1Fy%Y&(7rQzxfzk)Z78{ht%$UbQq!?x$1 zH~ZE{TmHEn_heqTSh4&I_0L%kww;hQUCuaPZc2~(x4BHw2{RUi23?ln==vplVF|nO zroA?f7AL(_d{>(+W<{SG8uE+WGFQS^uh|wB-*3 z?mMLPFD~MVab)PMP?Nnk@+Q3rJ+$dgdIC>QuD%_^*032{ADnYEWnf@n@O1TaS?83{ F1OOVptMvc? literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..af2bb582d4777665e996c295f992d1115a03a815 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+BPZ!4!i{7&n9r+Ffu(&M0RJ~*O>_WlV$dDg@V?%z08M&k})HUzkz3SKGX$v*Z z@F*2!huxBy`*%&S9Ea6!mdKI;Vst0OLwKbpQYW literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..af2bb582d4777665e996c295f992d1115a03a815 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+BPZ!4!i{7&n9r+Ffu(&M0RJ~*O>_WlV$dDg@V?%z08M&k})HUzkz3SKGX$v*Z z@F*2!huxBy`*%&S9Ea6!mdKI;Vst0OLwKbpQYW literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_sapphire/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..ad57d2bbf0d92877a3463f30a44f407e5154ca78 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*OPZ!4!i{9h}i4X-{UEe+l!;}Lp%MAFspIManeqr7*r(fq>i!b9OC7$P(&qud7 z$+K;!YFu{CrCjoy!;!_3yH9s~HMUAnN-^5WcGz_J(xq1?i!b9OC7$P(&qud7 z$+K;!YFu{CrCjoy!;!_3yH9s~HMUAnN-^5WcGz_J(xq1?ZCi~5uYM^smEnm**Z)8ZB2#OW2lu2RIVa-C8C z!<>0_+wQrU7jM|W&7iKa)J0SE+#?2tRaFuzR{d9xWOF<6C+w=gL|M;UYR~6fHt~J< zPC;ph^%)+QmSvfjOney`uD|{|_jc*sRgWUCKL0GKBs5iHW!8@0U3bqMI8z_Wr=WE3 zOg`t-BWE7G+j0MWLYjbJ(K&g~X?Nd8z1yX?>bG}fbj&n1BjY==3>UWLGBxab|FLTC zhs+-PuM>;?R!O;-)Zfe79`aR4P)RAsOWSjLmJ9>W;f7_IWwY+e9yUmjali6oSBds> zMj4@ykopdeGd**Py_AH~+KxZ|Xeh`qjXUJ-{Nq1(mrhx6Y}U;^Q*&=GyDPC>)LV0- l?S{qGKez-fZ5DOK-?{$zY=EWb9tH*m22WQ%mvv4FO#nSepIQI_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..631ae75e37b92244f7ce7bed9fee389dc65e7507 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk0PZ!4!i{9Sg-5U=(aNPO4he>ZCi~5uYM^smEnm**Z)8ZB2#OW2lu2RIVa-C8C z!<>0_+wQrU7jM|W&7iKa)J0SE+#?2tRaFuzR{d9xWOF<6C+w=gL|M;UYR~6fHt~J< zPC;ph^%)+QmSvfjOney`uD|{|_jc*sRgWUCKL0GKBs5iHW!8@0U3bqMI8z_Wr=WE3 zOg`t-BWE7G+j0MWLYjbJ(K&g~X?Nd8z1yX?>bG}fbj&n1BjY==3>UWLGBxab|FLTC zhs+-PuM>;?R!O;-)Zfe79`aR4P)RAsOWSjLmJ9>W;f7_IWwY+e9yUmjali6oSBds> zMj4@ykopdeGd**Py_AH~+KxZ|Xeh`qjXUJ-{Nq1(mrhx6Y}U;^Q*&=GyDPC>)LV0- l?S{qGKez-fZ5DOK-?{$zY=EWb9tH*m22WQ%mvv4FO#nSepIQI_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_silver/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..499a779cf37459d459a25ea5659b2ce0313094f6 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlMPZ!4!i{7cht9uVS2-MCNNl2+Ub0Q(qVS;r5>)|^`rWW|N?B%+2aNz+DX0fHr zi#1+2EMYbmUTgL(Dn03S<-PQ@^u}Iy7b(HaZLjwH*wOaiJ!Rtsmt#WwsxzO&x>zyj zHr%{t+c5LV&3}zg&Uyx~U3w|h#m+UQWMM+>_MN*dmrXyt=?8}bYx$`~+ZgsSs&v<` z@9=rb^T}j#=aN|`?3B%aNZ)b{UB9ZT*RYO3BB`fe;&E_jy;tMh`WfE&N`0{&^LXA* z7kablAmagtPkREcGfBJ&*|jFNCFxUy;0Lq69_cr7ni_3St~XsYF`j$MTR$$*K4IzX xgTcST=4E+v2)=xyCdd8ftzC|)MD~*SO_Q5KPJ3ogV_;xl@O1TaS?83{1OV_TjeY)|^`rWW|N?B%+2aNz+DX0fHr zi#1+2EMYbmUTgL(Dn03S<-PQ@^u}Iy7b(HaZLjwH*wOaiJ!Rtsmt#WwsxzO&x>zyj zHr%{t+c5LV&3}zg&Uyx~U3w|h#m+UQWMM+>_MN*dmrXyt=?8}bYx$`~+ZgsSs&v<` z@9=rb^T}j#=aN|`?3B%aNZ)b{UB9ZT*RYO3BB`fe;&E_jy;tMh`WfE&N`0{&^LXA* z7kablAmagtPkREcGfBJ&*|jFNCFxUy;0Lq69_cr7ni_3St~XsYF`j$MTR$$*K4IzX xgTcST=4E+v2)=xyCdd8ftzC|)MD~*SO_Q5KPJ3ogV_;xl@O1TaS?83{1OV_TjeYsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)8W`o1d^D(oq~-%C}%=EpbyRmNPYv$A?0G2@*o#C5EESBfC?Ww1w^TqnwMg$ zRHS5Y*PXsOm4Sirrl*Tzh{fr-!M@#$0U~?Po8O!;l{Zm&zO?Fp$7zquHMplt?Oi(M z4+FPmWW$&`Zq_Zw3-M^5otDkAB(TsRfT+CpZyk=K3kh z@a<2T=C{0X`|ZE`JeCG|JYUTJV87$ab=O~SXRug5DQTlb-*M$P->Yku#p+F$Z#16C zleaxOMsGU5c*ys#)vfJ^8Rs_^?Ub>8{<-o`T)^g=E)zXiWcb)~%%o3?ce^eL;$&gk zaQp3tn;cTTY|#e1TciHo_L%C$T4^J9Ce3)+=M*Exy>a|k?x{`g?7jZ_>w%XgcGrS9 zy_X8rUF<%Z#J}Zlo&B-Lg-eb_uMP9KniTe}YVV7poe}2!$DQv5W^BIM;I*{r^iw7k zp-zRlPpkGeUCm<6(rQ2a@tQm*TeH3Qm!CB&LbPViU3oq;p!^@}C&oW-zD-ZzYbXWP NYM!osF6*2UngFTLjUfO4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..3766293d89bfee4f11ac9aae40f89d177323d895 GIT binary patch literal 1842 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)8W`o1d^D(oq~-%C}%=EpbyRmNPYv$A?0G2@*o#C5EESBfC?Ww1w^TqnwMg$ zRHS5Y*PXsOm4Sirrl*Tzh{fr-!M@#$0U~?Po8O!;l{Zm&zO?Fp$7zquHMplt?Oi(M z4+FPmWW$&`Zq_Zw3-M^5otDkAB(TsRfT+CpZyk=K3kh z@a<2T=C{0X`|ZE`JeCG|JYUTJV87$ab=O~SXRug5DQTlb-*M$P->Yku#p+F$Z#16C zleaxOMsGU5c*ys#)vfJ^8Rs_^?Ub>8{<-o`T)^g=E)zXiWcb)~%%o3?ce^eL;$&gk zaQp3tn;cTTY|#e1TciHo_L%C$T4^J9Ce3)+=M*Exy>a|k?x{`g?7jZ_>w%XgcGrS9 zy_X8rUF<%Z#J}Zlo&B-Lg-eb_uMP9KniTe}YVV7poe}2!$DQv5W^BIM;I*{r^iw7k zp-zRlPpkGeUCm<6(rQ2a@tQm*TeH3Qm!CB&LbPViU3oq;p!^@}C&oW-zD-ZzYbXWP NYM!osF6*2UngFTLjUfO4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_sphalerite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..09110a95b7d2e1d2f918cb0716b18dfdf98fb288 GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7DrDffCDN!VZ^`-d^fFsjE% zs`KongA+Z>FFF2U=3(2bBIbMgf}_h~=f7cxYgO~t-MeG)xcJ=XCzj_er|#?OcpY&( zTIWGT+PSai|E|pnSS)7UtD5t`BhBugeq-AO7P~}cC+@A8{g3aM|@Hhw=f$m&L)@Qt?fp)N5;J<`s( zxUjD`>|>TVeP%ZE9N*;c_L43~QuiEucxI2i&ipX@2{SiabS*!8Vm8;6udLQeNn6g} zEpeHXnH1_0b4YlLaq&{anz;8R+$)TV*IwK`V`i~n;liwjYayT*Sy&KN-O2r8H0)T Zf1Y=*yjDrDffCDN!VZ^`-d^fFsjE% zs`KongA+Z>FFF2U=3(2bBIbMgf}_h~=f7cxYgO~t-MeG)xcJ=XCzj_er|#?OcpY&( zTIWGT+PSai|E|pnSS)7UtD5t`BhBugeq-AO7P~}cC+@A8{g3aM|@Hhw=f$m&L)@Qt?fp)N5;J<`s( zxUjD`>|>TVeP%ZE9N*;c_L43~QuiEucxI2i&ipX@2{SiabS*!8Vm8;6udLQeNn6g} zEpeHXnH1_0b4YlLaq&{anz;8R+$)TV*IwK`V`i~n;liwjYayT*Sy&KN-O2r8H0)T Zf1Y=*yjTujW_)nD zGmJrBf7{I;lV-j3_hi}-{rhgR`R7v_OB6n4rT;cL)Aymhq{il9@~2}3t#g{(zpfFV u*rRyO=fEK!&Q1N%S;TujW_)nD zGmJrBf7{I;lV-j3_hi}-{rhgR`R7v_OB6n4rT;cL)Aymhq{il9@~2}3t#g{(zpfFV u*rRyO=fEK!&Q1N%S;sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)c?2{G9wE-~5zRTP0&;aZhLGfTH}g%$!tPC3jEX0EMK|%$yS4%shqS zAa^IQD}8;fJoAc667!N%JzZ>-Dsl_-GBZ=GEX)&=%?ykUbW==|6Lr&4O$>FD%#u=d z4b2nH(=1Gk43kYvVESG1lS@HS4%44PqJICP%=FB>#2m8C0cAu`TCwuTEH23}s)S~h z;M77WD<@L{oII=&lR?SeRw)@2->E4|P~l9nLjYoIc}8j;u9N^#QJkMvQl40p>X@FI zS3)3(>DwvT=!0@5!~^=^e1POPupCk@hA9tnaRV{I1rDh2u~R^lYN>fCwn{}x_I5QF zk~T9iFirP#aSX9IT^oE_`%9uoo!`6ZY@G`O(^QtaiFMtOcJ*C0r9MgQnp&!AWXGnD z@*5=A=(x1B9&+=@2sou`%)2wb@4IEZ^8H7@{r=AS`S;%U+H;k9>$hy*-fU`Wn!3NT zvU10+U55@IW`6bRRY`g}yScgfinVK}u3DuvW%~5n`wky=_VMv?C@U{7tf}ew^{XoS z#L1J6Wo6s0UAc0jp6U4G!kKgCZ27)sjgF1I{p-`Gxx2c%U1Q9j9{>5Xa?94OC;$E1 z7Z)GDc;`+@b#?U*6*f)}jvaH$-mrJ?T3cINwk_MXu?2?e=<2?F`BL*nX>G0S&!0bE zyna3T%!)ZL9zSM2nIbfQ{``o@$cYg;Z5bw9Gw04VO}Xyb-`CeuU0%Mu;Es#Z!t(NR z4Gj&4;9y}XDX9(Hx2GRix^!vTIfl6S_}n#%7AbAG{OQvs#*dk~xuQXZ3%nN0oGE!} z;_chfPj~6)=*&=v$ z{^ZoEHET??IiG|ayLoeFV6p7OuT{DJ3IY=j9dhdF>2c7Q7ko`jM)c18`^`5W+=!2l zKb5({-9qNrwQJL4*R5Ew!N$hU&dJE}m+Z0-t)=4P;uaPb4yC1AeIM;Rcya2%gN~Oo zb8_DFcStrgHZm^C^7iiD>+kRX_~lE^y8ZVjojCW#%EYAQeyZM+XV0``7Z{u??&mD8tAefaiG?a=LS`ya(} zvNe~m?5Xf``03qT&sdPd)-h{G!(W+GccNY${>3(_H{tYUw*%IoI@#0J&t;ucLK6UR C>;Aw1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8532b0eaff0738b9d22e376435624a4f87fa63 GIT binary patch literal 2032 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)c?2{G9wE-~5zRTP0&;aZhLGfTH}g%$!tPC3jEX0EMK|%$yS4%shqS zAa^IQD}8;fJoAc667!N%JzZ>-Dsl_-GBZ=GEX)&=%?ykUbW==|6Lr&4O$>FD%#u=d z4b2nH(=1Gk43kYvVESG1lS@HS4%44PqJICP%=FB>#2m8C0cAu`TCwuTEH23}s)S~h z;M77WD<@L{oII=&lR?SeRw)@2->E4|P~l9nLjYoIc}8j;u9N^#QJkMvQl40p>X@FI zS3)3(>DwvT=!0@5!~^=^e1POPupCk@hA9tnaRV{I1rDh2u~R^lYN>fCwn{}x_I5QF zk~T9iFirP#aSX9IT^oE_`%9uoo!`6ZY@G`O(^QtaiFMtOcJ*C0r9MgQnp&!AWXGnD z@*5=A=(x1B9&+=@2sou`%)2wb@4IEZ^8H7@{r=AS`S;%U+H;k9>$hy*-fU`Wn!3NT zvU10+U55@IW`6bRRY`g}yScgfinVK}u3DuvW%~5n`wky=_VMv?C@U{7tf}ew^{XoS z#L1J6Wo6s0UAc0jp6U4G!kKgCZ27)sjgF1I{p-`Gxx2c%U1Q9j9{>5Xa?94OC;$E1 z7Z)GDc;`+@b#?U*6*f)}jvaH$-mrJ?T3cINwk_MXu?2?e=<2?F`BL*nX>G0S&!0bE zyna3T%!)ZL9zSM2nIbfQ{``o@$cYg;Z5bw9Gw04VO}Xyb-`CeuU0%Mu;Es#Z!t(NR z4Gj&4;9y}XDX9(Hx2GRix^!vTIfl6S_}n#%7AbAG{OQvs#*dk~xuQXZ3%nN0oGE!} z;_chfPj~6)=*&=v$ z{^ZoEHET??IiG|ayLoeFV6p7OuT{DJ3IY=j9dhdF>2c7Q7ko`jM)c18`^`5W+=!2l zKb5({-9qNrwQJL4*R5Ew!N$hU&dJE}m+Z0-t)=4P;uaPb4yC1AeIM;Rcya2%gN~Oo zb8_DFcStrgHZm^C^7iiD>+kRX_~lE^y8ZVjojCW#%EYAQeyZM+XV0``7Z{u??&mD8tAefaiG?a=LS`ya(} zvNe~m?5Xf``03qT&sdPd)-h{G!(W+GccNY${>3(_H{tYUw*%IoI@#0J&t;ucLK6UR C>;Aw1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_emissive_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..98eee16b849c5adaa0160a0f3094cd42d19742a5 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6kPZ!4!i{9Qz`?XsOMUL6WuQS@w@@Iy`3h8D>Lxtu)ClqGt`27^uaqFHGc`Bjm zRKmn5j%Lkg6<%GtJH^PW@Z{3<2X|KO-uwO8mF?ea_rL#a^W5h79EVTO z>;Bsr#_|Vz8Xj7z+FIco*ygkg z+)L__Okg{)>qcYpteA|@OA}|FWxn|!QmWDW{51w2mA%$Gq%BH6iaoGu`7nXePIa#3 zx0~~Sa{aelaM;zu@9BE>%!k4=8N3ci8pK&%3Sl&!%~;jo_<*y5HR|#-&B;!CJ{oh0 z+zq?xtK*+2S@C$gVZ7lnUQg?-Z~k&x>=e(Kyd^cw^87!hDJro`BJO;-Uh|=U(UQF^ z35*%vKJ&_WYt4!@HaPiymA$vsT1!^(XqI=4RtXW8PS&rPdh+wV8>>DttEWyE$eaAT RpMima!PC{xWt~$(69A@C$Cm&A literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_layer2.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_tetrahedrite/ore_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..98eee16b849c5adaa0160a0f3094cd42d19742a5 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6kPZ!4!i{9Qz`?XsOMUL6WuQS@w@@Iy`3h8D>Lxtu)ClqGt`27^uaqFHGc`Bjm zRKmn5j%Lkg6<%GtJH^PW@Z{3<2X|KO-uwO8mF?ea_rL#a^W5h79EVTO z>;Bsr#_|Vz8Xj7z+FIco*ygkg z+)L__Okg{)>qcYpteA|@OA}|FWxn|!QmWDW{51w2mA%$Gq%BH6iaoGu`7nXePIa#3 zx0~~Sa{aelaM;zu@9BE>%!k4=8N3ci8pK&%3Sl&!%~;jo_<*y5HR|#-&B;!CJ{oh0 z+zq?xtK*+2S@C$gVZ7lnUQg?-Z~k&x>=e(Kyd^cw^87!hDJro`BJO;-Uh|=U(UQF^ z35*%vKJ&_WYt4!@HaPiymA$vsT1!^(XqI=4RtXW8PS&rPdh+wV8>>DttEWyE$eaAT RpMima!PC{xWt~$(69A@C$Cm&A literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore.png b/kubejs/assets/gtceu/textures/block/material_sets/tfc_topaz/ore.png new file mode 100644 index 0000000000000000000000000000000000000000..e976ba37456a4580d73ec30536f4f96988e2f010 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*Jo-U3d7QK6eHVU>F@CeUrkdzUNA z*XvY1y{REysbxXF>8h-(m_Ly&UGqCVzSo+U>)9C;2L@g?u{dw+ub}kd-t0W3B$f5A zyY{_by=G6LjPG`VCZUN!ffuK*Z_1pt@67fuA$b!O+BzOs@Rh`-*PP5f$#{LwOXt|@ z5z~(TP*UO-Vvl+E++)x8G?O&9U0Li5hYdnDUfGtrx@4)jqVaQP^Yfpxxfl~}o7JxM qeH@kb?S_-yI?bfy?l<)Z*`H0FuC~~w=oF@CeUrkdzUNA z*XvY1y{REysbxXF>8h-(m_Ly&UGqCVzSo+U>)9C;2L@g?u{dw+ub}kd-t0W3B$f5A zyY{_by=G6LjPG`VCZUN!ffuK*Z_1pt@67fuA$b!O+BzOs@Rh`-*PP5f$#{LwOXt|@ z5z~(TP*UO-Vvl+E++)x8G?O&9U0Li5hYdnDUfGtrx@4)jqVaQP^Yfpxxfl~}o7JxM qeH@kb?S_-yI?bfy?l<)Z*`H0FuC~~w=ofpwBYK}(1Gocv^8PfDrmMR}w-6-^;NiK$|bB*A8 z@k7kwUjM(Zu4eo%a`N!Cc?q+U(+{{574dFrfpwBYK}(1Gocv^8PfDrmMR}w-6-^;NiK$|bB*A8 z@k7kwUjM(Zu4eo%a`N!Cc?q+U(+{{574dFrU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<7Dm9e3fiHWv>sg;2NM5%9nN@iLmR;9*PhUO?rQ%e$45=#;ZDo#nZ zO3N?GO)Rlh%FInnPt`BTOIK2W2cwm9eolUoZ+=Rut&$Ezd~J!M<9H9DDdYepX3fr=zAK+nQx@tq1ik#kq)^Kjh;Pn|#nV!X-jQ zNT@rcV||$Ok|m`)OD}SrE1LBA-?{6v58a>m)7|`zFXxoS58Upp$y#J>?aHrleAli_ z@mqZ%_M(a`*A~fDU+ihV(RW(o==4vO&X#6#W(el-SZ-Y`!tDO+PE}z#C;z$ny24Zs z=jdxIW=;E8r?6b@wdd`Qz8>}dzYfuXpVH2m-qVeci3u!OuV6BF=7%>+?yop&BJY~a zCo8>qO_DvY&yDLBKCVg*I-2)uRef=h>9QwVujDLU*UHSG-56Ic|Dn2uLD4aM&Q1R7 Q+d!qir>mdKI;Vst08JLAh5!Hn literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/diamond/poor_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/diamond/poor_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..aad996b5c43807330a80ecd699d4efa3b897a48d GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkxPZ!4!i{7J`cY8HE3a~!VSIZDMx;s$u1_xJDZ}0jIOBJr|YcjKIn)+VgNZjsP z=7Z;sIqAB5ytmR88wKX1O}|-uZjNNy&-WUCzX&*GJdiWBd8l-3$6xJ6 zmwSf{)*1A2iQRVHRdm8S;wwga5B$0D*G#i`Cm_dwSdzNA0_scb6Icle7o3Ts8?RJK}9-2()Q(^v&zq{ zJoL&6b)z3@y)rzu)h6d+{Ego`o`?S1T*1!!)xpB_y}?Na1_lOCS3j3^P6U2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<7Dm4UI9v6;4ksg;2NM5%9nN@iLmHl@bKRz~J1N>fV`QxZ!O2`WxW zwo1z{%1tb>Rm#jwOi$G>$V*pJfCrKk#BxVs;!bCvbd+Sb3jpkT4qkFtrBwG z0d}dcua#$BaY}rDV&nQoe~ zsj+2Rnn7}MVj@hxOMY@GDE49cQ%KbBUzC}inU|PDwmG0o2}(9r9+|}@`9+n`ToasH z2xaADDu7dpRbnzI2iPhlgQ7k)MF}dLNp=W8j4jVd&BL1{Aj*pK(@M${i&7oaQ}ap) zCOLgO1si=(UWNEWADlCgya<*<%GWUEK`w3}Cb$d&l}C08h=MLPFU3}=NXg#rb*-f) z0|TS5r;B5V#>CbO=e3^}N*w)o{rRp;u0+GLI?F`3ePk({F2P^dTXCPgW)mHHA&h_OIjFRWEOGX z?^^WYz~@cf(}dROmWwCXG~CUp77fneS6uTjY%$028^>jPo^t&C`9}HM2aENyUo*PR zwZG%6^N_#FpgHr-@!M~HJz4+alFXBw{0*Jzl11Xne*}met>Z{ET>53pJZ1|A^?8>6 z{VL`zY*uW!EAw^HznMpDxbJ^tzWd@pcu&HTJA3sOh&(mVd%iY#%ayM6OV2TcT#ugH U@y%p50|Nttr>mdKI;Vst0G+SBQ2+n{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/diamond/rich_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/diamond/rich_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfb674c0883f098fece0a35db3cab570c65c5ab GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s94o-U3d7QII&`JdJ-6gj^CPaf}Ok%uSSS|?rEu;DY`6w$cGoVPm5*G$r$TXn+5G|%N$Lfuba30`J=M%?Y|@ItnZ(<>}LLxuXDa}-D~+Kg+D9} zMLT`WX7hfmklB5g?`6ra)PJfOX0w-MN=YPtsIW2c6@FMCVK<-u@kfc1DW8^pc3m5` z`1V`3y>b01k!nhdE@rr#emW^?t=P&{UQ@kV_m$V#c;9+!<`Q@$#pqzt#sfcV+73T- zP@3ql{kE&!{PuOPL$s#qFeLnqOY2b-;d)rN|F8iMM^l53TJ!CtZ_S>4%PjB3xSGO!^<%Q*M=6~d_(6ZIqTjmY%7+=^2#^Ss~loG1Mp&wuMQHSWK4 z^=SqYe_A_sG|#W-Ri0^iW22+Xog++jkF~2J4y);;|g! literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..adcfde0e0805b2f51258158b3d035629f91abb18 GIT binary patch literal 2378 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7%effrYk#sg;2NM5%9nN@iLmrczTYQ!^_A6BMPXC5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gkud8Ax6P%OT}!nDQVOHxLtC27$^WI|W2RmztMit5l?9Zx?-B zK81mS;h?9BV~EDYr56pojwA>i{diyel3qlfFq_Ifr5lkqZd7;dZ4=+Hb?fw_WwVc- z)8Gc^VSPHgr2t=C$!#ck9yjWw{y|u$I;!Ua&M;}Fgv+DtM%6E3sQQ; zHPAzd0=fZ2RKRmMi%MkN>lW>OqWSRFI3qLNI)8wVT`|+O%l2cxul_>r7 a-Ms&{r@_iS$_>t-0^QTq&t;ucLK6TL(w|cR literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/poor_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..8f912af2b9862003959062b97383502cbd7dd8ae GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*3o-U3d7QJUL8G5leinKgDf3)P_g&ct|Vw+?oBsr zqxodpp=aHV`FGOhOfYGxOFg|7)d`SI_EE+@8Lsu=%V=&bQ{D zyy}_n3gXqJS(j9OW(*VkAbVH9h%MszoW~-kxj1}lE9w*SE^)M5ocgNuoLOu#r_v)K z-E+m+lR4KJ`C5OeSv_F_>$#e5^(SvW&|ElKG^@1o_nmFuOI>2#a8(>FoZ9ksc1`9N v|CXRr$x^@1-$>hgmqC;z?eL5L?(*D{4&4()YnvDt7#KWV{an^LB{Ts5|J!xj literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..975e6a2c9086e76dbca7916347947a7d68392be3 GIT binary patch literal 2402 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/rich_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/rich_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..58485c43feb215ae4d0223bb7d018e75bbed4389 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nl9PZ!4!i{7)7_Ioiq3bfnzZ)u#8c}UQ5{=sJgvYr#2YM9~=whMAjGdpNCHPlVO zT3*rpP-5~+VHvT1&tmv(1*F-h&7C_pzwDpRpTKXw^v=G~DkHDI~dz%_#*Ie}TkVV+SW`#!-RN*e_J z=xonDb-|WHj#F>yLAP?}2P`Yj=6nrqaJFQNS-~&-fN90ka%o4lxeULf0-sOz(n!6{ z*jr;~?BUiXGyTBc2N^Mof0ur8h;}-5yhCg5@mt(Ci}m>m*4VV|0kErv-ny~;SY3RU|?YIboFyt=akR{ E00EeW_5c6? literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_axe.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..1219eaa294c4b54fb9d397b6559569bc8a3ae962 GIT binary patch literal 1976 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pm!X~C`waH5>paO5(z3! zNw!MMFUn0Uu~o{0TMi!Czj!NI&o16aT8XjBPT|PGSZw54VL7L z#Ju#>6k8>IC6H(IK}8HCQuNW|3oM6J9N8(@fQ5ow+(1ll(FrO>?GzB@b823Stx}Pa zy`9^ve18T8hGb6{#}JFtPbVMbJmA2=qI)h$*Ln8_w%G<18xrbf{SivEKXgX3Xv)kl zYF`{3_0!IIz3*jZbvxoYy@#bC)bwtx`U`_iQH)JhI}-$VdLGkG$niMy=1W+(gJ{g8 h<4is#LVrH!$DF!3W9gpvxhFt1g{P~Z%Q~loCIFu6i{}6U literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_butchery_knife.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_butchery_knife.png new file mode 100644 index 0000000000000000000000000000000000000000..a4aec9fac15f942b919e2e6516c02cfa2bffe967 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WW1wfc_t@7Sd z1_p*Xo-U3d7QI(59pq$I6kxrOze+%R1JA^jhl9Q-reCW~}Y4UMkXK_+l^r_a7|L*{luD zH(#>398qL>b9kvp#@gdA=UDHl+jX#qanDhG*4x`Slg}Ke4y)LCQ0Dz#A${egPb8GR mHP_cKSpOlWNcw;Lyjt=6b*J{`ure?(FnGH9xvXsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`av#3w(Xy%CQ=on+sQ6T;f_*f?suUNM%8)eo$(0erZv1s%u$lUWqcy2gM~psfeJ# zY8k5bpwu+D=7Nm;lKkR~d>nxQmqrPSlFT$57J_6@l%`f>;!p~bfh#SraxO|uEXgkl z$`gK^}){NOegpNwrlnGB7gHH89jQFb^@burf8Z zGBDRRFt;)=fGG7%ElEsCEJ?&rY-DI0riPB%_UGqp4|v(z;+GfdSrN;FB*wX{ex(M>ZjuuQW|NlG?MGKYB`!|CXGh#aRw zgEcuLF)uwe#a2mQ38!b0^YhA5i%Jk4Do89!%uOvxEh@HEN-N6GRY)u-$jM9wCrJIW zycB4W4o|}hCHV@79E;PQl+>b3q+mm~1?~g|D%wXdl87rnAfZpkNYV$@sgRtb53cr* zG8KgH0trbsP~3p)Dl2T+huAb2l$vIhf>b_|R+2&N&!@CR1f?3V$B`Nrb_zCNp&%DG z5EI-G0yT>46cDYg)Vvg1r6MJJI}WKVD+UIJLQfaR5R21iFYo3(puoctus!E-Z^XIo z4Sdo&cD(ki8^ZCm?=M$Tl+RpN<-KxB4 zF5_Xr6z%CjZac17?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pmpaO5(z3! zNw!MMFUn0Uu~o{Y5o?CYvW)7^S8e zC&66fUzC}inU|P@Y%0iADVZr&iDoIL28QM)x`xK7X1W%ZCPuo628L$3X^F{c7MA9T z7KRq)pwtXbAXXlk#U=SgmC*bVoLUHFc0r*GcYi8dAc};Se!n3`5@;J1re42?ahqR8<>xZ&IZ+F*EW!L?nArx^szcCrdcexASogVYDc Y-ny?(7i|9b8dRZpy85}Sb4q9e03z*~#Q*>R literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hammer.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hammer.png new file mode 100644 index 0000000000000000000000000000000000000000..ad00cdbe3d2a4c6e7519247825d316e3f9654563 GIT binary patch literal 2030 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pmpaO5(z3! zNw!MMFUn0Uu~o{`F8Rr& zpqK^ehoth9{N&6OD}=3y#z}_BNe0QfCWgkzx+&%+rn-q1$)>s~X{JVrmZpZr7Kx@X z)BKAv(=+oDbC691xhf?y#VXa(z}O@?B}q5Y*uYfRAkD-`*CNr}K-WCc)HvC|(8x5= z)EtzW!3o65BeS?9zo-(LKY~*Wp{$%t1#p_MN=yc&bz7xmP$Z|OC_#lYv4jUvHbeE7 zXQbxgjeLmh#rbI^<%vb9j_Ij+B?J?fJ}$=>Czj!NI&o16aT8XjBPT|PGSZw54VL7L z#Ju#>6k8>IC6H(IK}8HCQuNW|3oM6J9N8(@fQ5ow+(1ll(FrO>?GzB@b823Stx}Pa zy`56#*K!61hMAr&jv*GO&tBfm$)YI0mcYG*SK45cn6dCd9|NI-cP^;qB=<>vDER*E z;X75nKN5fCe>v>o1g#y literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hoe.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_hoe.png new file mode 100644 index 0000000000000000000000000000000000000000..36fcd717c8b6b30ffee41f329d29a378215ef08d GIT binary patch literal 1958 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)M3WN|j0#E$i&BLW5>A}e*5oQG59;XX2}-a(f8f}GGYo8X)&|?DC=z$bcw&lI`gQ5)B`U)4K2n?^$j;PRJU5pY;3&9aN?Yvz9vJL@j1p# zu9G$$e8a0y7U(g-ctS19iD%yJ8`d}6@D%taEU=s71*gJqZjV~48E20$nz0|6#<-n*TA>HIW;5GqpB!1xXLdixhgx^GDXSWPQj+asv@@_H?<^Dp&~aYuh^=> zRtapbRbH_bNLXJ<0j#7X+g1q@e-XX`3eNdOsS4(LhPufH1_lb|mU`w%iD}7c2098x z21bVZh6ehE#<~UuRwjm4MivTCpk$|DQXyiMgevuA!wxnr>>cNwRKIYO;}Tnz6Z&nTchpd6Gpk zOutKhaw#ZgLHZ%7JS9IlGsOyFt4X4PMXIT(k#4eKl7+5$nu)otg^{JDuBDl!xj{;@ ziLs@LDa~yS&5u%JV zr$d7!IU_MIJvGHvNnZ)%8GTR@1Bn!U^!NhHAr(h<3N~P&AQv|f6I^tHicvcSMERVW zmtw0_q-1Yrx+B7lfq@~=)5S5wLNNKq|Nr*PsxuO=FuY+?QBnERo;Zn@A#+#hYcUyN zBbL<*_U`>#FK};fwYfy|jg(eKkH>Q?iw{UlS9D<&IU%}(N6~7FX3@cnpkw`vnm0e5 U4d?&w0jd`~UHx3vIVCg!06(RGN&o-= literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_javelin.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_javelin.png new file mode 100644 index 0000000000000000000000000000000000000000..4be7bb35b5d580dcea62eac5952a857e88f76876 GIT binary patch literal 2683 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sXQnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`av#3w(Xy%CQ=on+sQ6T;f_*f?suUNM%8)eo$(0erZv1s%u$lUWqcy2gM~psfeJ# zY8k5bpwu+D=7Nm;lKkR~d>nxQmqrPSlFT$57J_6@l%`f>;!p~bfh#SraxO|uEXgkl z$`gK^}){NOegpNwrlnGB7gHH89jQFb^@burf8Z zGBDRRFt;)=fGG7%ElEsCEJ?&rY-DIH=0vz;=BDNqXXfYGDjAv~%S58efQm9u4z=>gEH23}s)Uv`!KsB% zR!*h@I8$0BCPTcC3`(7;DN0b`Oe_&hTu?%cEzd~J!<%X$%8K*TO3D+9QXSJ%^GXQj z3VmFTFHS7O@AO2|q%`A1BO_f4BQs-NgESKh-J~>gBV99NV}rC*Gs8p!OSsoDoQ|G{ z$ZY@HDJYlCOZsu{iBXNiE7m3N~b0;7(AWqJ0D-iMRp;68dzEBz;hw3duS8 z;A#&kQ$hGHkdSl(#SOTwvci^qh)sh*scBXzNaZ7GB^kv2d`e41P^tlY9I0_(r(gpX z3UYA+F~JQXP@~9B0nyq@%}cRWDpInyTULHyG6Mrcm#2$kh(+(x%NKbY6nIzy>Tb66 zM)bKxwDbO0wNp*iwYT6$A=~0TUpm+XIqMfqpE4<;ukqgQE!Q$K7?w_HG`JA);OU&r zN?XHRH^eClH)z^4t(ovr?bwRhZ+v(*dPOs+B}{1NIP&U_piMMW{0XxMf+0=;jZ8cr tE1g%I7n>b;TKUWQV(kC` literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_knife.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_knife.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca0fe0cbd68c3ccea69c00929d75be5a39634ac GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*iPZ!4!i{7Ub4)Qh_aJXKy{a?}|yW^_nDXw1O8^U{~lA~9DOsFvzy64^S;%gS;;X~68t28Z9{6!Ked6s; b=QZAihe{oOY*Ea>z`)??>gTe~DWM4fu)9CK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_mace.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_mace.png new file mode 100644 index 0000000000000000000000000000000000000000..372b03d6e541f2779483e9e7d2677d8e27ede9e3 GIT binary patch literal 2654 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sXQnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`av#3w(Xy%CQ=on+sQ6T;f_*f?suUNM%8)eo$(0erZv1s%u$lUWqcy2gM~psfeJ# zY8k5bpwu+D=7Nm;lKkR~d>nxQmqrPSlFT$57J_6@l%`f>;!p~bfh#SraxO|uEXgkl z$`gK^}){NOegpNwrlnGB7gHH89jQFb^@burf8Z zGBDRRFt;)=fGG7%ElEsCEJ?&rY-DItkt=4L4-x@HC@hPsvp ziAK7{7KY}jX2#|zCT2-6{Vw^*rJzIw(htdCDf!8nDOT{Nw&~6 zHaD@=^(jV#PeQ}v zA}D{^Dj7lrBS1+trxYS+Ze(C!V4!aZBBAn;1mqFYp?R4lwn|1y3ZV321-3u9ATc@B zR>{oN)Yud%9*|j)niJuYnVXtdoSC0zt7K?~EE9<;11icuIn>G{v$!O`s1jP%1g924 zSvi>s;7n4{xf4C@aoSD=AMbN_9+6%_||8 zEA(+WzBsWAzthbO%+1pb43l&dO;ZeXQ;bYZbuG;;%yf+mj4drqOw7#EQd41G$8b7& z9wNu-&|po@NX$!5O|ezdSHkI;?BFEyiCndEg6Din`ZGk&Mfr|DKj3nX;5J>3LF_QE_bt)w1 z=!2_0q)Y|jyFfzH4HP%vy2=V$_8~S62BoH1r684$q?Ke4`|~L+5kaX2>~W;Vg`I*8 zSSZNF4a5XDgg}iVI|W2*D>X00R;ftI-cCNgjgx_aA=lHzF~s8Z)5(rp2NZZ%_C7PO z+#>(c`e)63_nY~Bsu= zi!@_?bmZqW1_No%M>*N8g2!YYF7KYh#c^)dWziecO!ea#6R!PPxW9l=IrQ$9d2-8*i)`Xy@nRm5#-tYA|b;hLc@luiH zET=a$sO(zj?8TXTJ4u4=PZle~gE^P0&iJIMO`86^uxYBoxt+34Vws=JnZ575sMC$D zWmhuU+&y{(Rl3t2oL0&$?U`G=Z+pb~YwXWzYgT^C;atPOz`)??>gTe~DWM4fw7_F% literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_pickaxe.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..17a3f3428f3145fac3897c1db37b99b79a8c74a1 GIT binary patch literal 1974 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 Y2GtJ*Uz+Y2M}le!Pgg&ebxsLQ09~kv2><{9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_scythe.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_scythe.png new file mode 100644 index 0000000000000000000000000000000000000000..615a972e1e0e0f120e8217a3f6c1d461d156bb7a GIT binary patch literal 1987 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pmpaO5(z3! zNw!MMFUn0Uu~o{xNxBvmW(J0)mZs*3CP^^;F8Rr& zpqK^ehoth9{N&6OD}=2{Nrq;oDF!CG=849}y5>nH7P^Varlz`y#ujF21}4U-=9X~R z_!niSXXYj5Ae#zuRZ3=xl|@RTv9W1Vny!hVrKzsDk%^gZl7X?Iu7RnEL1L1rL1L15 z5-2r;6Nr^ZW^qY=Q6)5g1g924Svi>s;51>Cm<&qmwo1vMNKQ>rf(mD12@j%dhUzcR zNX^3=`4HQS^V3So6N^$E(^K$6;1%?0Jv2wa(r$EM0hpS8ZQf9id zIWfFAdx8H8!*Pk`GLMt02e>W8E9?*NOP~vj2gTU59?(voEg6p!oHuALifhrA8S3j3^P6A}e*5oQG59;XX2}-a(f8f}GGYo8X)&|?DC=z$bcw&lI`gQ5)B`U)4K2n?^$j;PRJU5pY;3&9aN?Yvz9vJL@j1p# zu9G$$e8a0y7U(g-ctS19iD%yJ8`d}6@D%taEU=s71*gJqZjV~48E20$nz0|6#<-n*TA>HIW;5GqpB!1xXLdixhgx^GDXSWPQj+asv@@_H?<^Dp&~aYuh^=> zRtapbRbH_bNLXJ<0j#7X+g1q@e-XX`3eNdOsS4(LhPufH1_lb|mU`w%iD}7c2098x z21bVZh6ehE#<~UuRwjm4MivTCpk$|DQ-46e}}>6!VlMGc#Q?^JFt!(#a%PGZ!q&uOizLg`WK&%;!=zN*Bm)y;T?-2nGuR5jtei{*aGJ16Oa`TOTcu=BB&Vh*L4`B1ga=VJL-m(u zq~_s`e2DGE`DrEPiAAZ7>8W`o1QVA&F2@%qmf?3gaZw3z6IQ1qCq{@e(wq(rmgJ1Y zy!6x*TP1xZkZ1HkMGPcT^wHxBEQeGa*(un7g@Rn%KumDa2`WbI6cFWeYF>)1QjwCq zUDWisaSRL$-kvUwAr^wkKmPx>XI7n&c!l8)+m9bV{3Xi86(XcG{7_gZW2xxK-+)2-#br=`oW z{hJe%-Mjut2gjuM?q-oe9#*|~j4OK@EuR-(uRgx|gyM#W?{;UVWj>j9QswX&1x|(l vFUM@&?6qI)T2prXe#)<>EPvYm2=kAtw&72Xem=#(z`)??>gTe~DWM4fW6nhE literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_sword.png b/kubejs/assets/gtceu/textures/item/material_sets/dull/tool_head_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..86b957858f0e6754e3a8b661359258ea6f4dce7c GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-No-U3d7QI_19prRY6mT(DWQ}b25Ir;L$YxfKTgR(DzB{=2Y>r=@&kq)J#bTj{ zXW#I7e_5Ot#n5o3{9NR5<_RkwTeNh%SlAfs72*}xx=+P;v%%+?`*`~eRgV2|muOh? zcGYA?4~~Z>GYuO4Ze;Yx_TBQ~@2ktz{@0?4&IPV5{U32n^PY9!>@{<1EWkM`zj?*kvUU#hn^RM!FfcGMc)I$ztaD0e0s#HpUhn__ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..366cd4887042db2388015756ea51cbdb00fa59ec GIT binary patch literal 2380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7$51sgbsUsg;2NM5%9nN@iLmrczTYQ*$e0RHdmUi7AOCi3Am= zBwMBB7v(0F*eYe_CZ?zA7v!ZYDZqo#$~iwLzsNT~CDm5R5Lw*Q**TynKP@vS)m90) z?f|>g*VoE3uec;JFFDoI#a5{zw?Hp5GsVg<&BWN)ASFdN)zCCqH_6<@NY~OJ$wD_Z z%{-z7h}6cqa~{V62s_b8W`o z1e2V;oq~-%D6c~Np%2a(NL~cXA?0hB@*o#C5EEPmfyyI01w=uYnwMg$RHS5Y_ar%e z0s{lXVNVyw5RHjTFWP!J2MV-3d@i%8&B0`nQ_xO^i%uJ+?`9S+C{K-P(%#^a$`wB0 zQPR3r7FNO2J+66thFzLAXJwvM&zzqh^yBwa+gsao~CEqXR(KXn&NO`msHs`C1joLdodLkc_m^D9i>PSI`9icp#@rha*U|5ouI ZOk5AlZcl#r@eQa*_jL7hS?83{1OQFAm8Jjy literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/poor_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..915b954947b8a3296ce688d5a0f64b3c8a1e7a61 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+ko-U3d7QJ^b`Fb%s3a~!#Kk4OS(80YpWuowo4r^EafO`%_TKW$-bM9~p@>n*k ze&Fw;G@xO7@Gj_>m z=E|mU8@0;p$hS=nliq)vH23?3!wT1B!lczIR!?l-8Si?;_cn)Z&SM2>o{xReXI}Y= z%S;LKE1YtqHpK3IQrqJ*vt?b5sOnufANbC|EB&!ZZrOwvkEN_F4l|p5s^Rng@3^bt wTnX=N$#QSa_O(p+U4B&kU*-2t{RhLlXC|*!DtJz0U|?YIboFyt=akR{05&mn00000 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4d23b6e7651ead10b5bac69a2dee2918de60bc GIT binary patch literal 2425 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<5tDAtV3v<*zH3=AMjee+W?(<*T&H8Dp~np%>Wl30>RP;pAKRa$;g zZeoe8Qf6*qda8awUb>P3JQ%H<^K#XX&!1B&v~GILUGm5}QWuuFY? ztvvIJOA_;vQ$1a5l`3)z^fEJ3tjv-v4U&`1jdU#%jg54T3`~-AEzMI>bS;uo3{sQL z3=`7~lVJK?@{>zJu@BRqLZW{EqRjNnyu=)`%>iXfP_nV|$Sf|&FRFy*n&8wzC@UvZ z0i05-5|cqWz*Z?46!oboN>JfUvO@r3YEaloF|qaHUav!iBF8?S_g|tYwaW2B>yjgivy_Wo2py5m$e5zHDEkH9u9k0RoQtQOFvV7O7JlSmN z*}FId9c}Mb7=(PwN@^*a!8VntH)6^UmdKI;Vst0Ks9ekpKVy literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..a442c8e251d580f69c3bdbac277b86398b7313d0 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk!PZ!4!i{7)B&TAb>6gl?syieF<*2z<5w58~3I!$RkyStdZh#~di32um3qw~#G07)cvuM3I$SqemDd?8ID8~<_U2%&W_r17tfHBL$PxI|ms{_n= zhrTf^yCDC8b>79$CtXanFOIq#m|VgAL#FtKYk6kNoX<%$QpY9k6~;Fta`?M8_8sCW z+t8WjVtF*kQ;}% literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3f79ab249867954241432057727d065923ebb1 GIT binary patch literal 2446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7$rHv9Y#+sg;2NM5%9nN@iLmrczTYQ*$dLBNU~nC5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gkud8Ax6P%OT}!nDQVOHxLtC27$^WI|W2RmztMit5l?9ZqT2{=0K5_htK1ti72&naAb>2oDjERLd((mgjC%d&*Fau-oA0G zqlJaV@wI^I2`Pc>(|g4Xv!raFRz9C2Ib*^fTgk-4i{A3bw3-<_w{c`9Myf8WYxp58 z|LVp;xv-MUO$(-5nLUYHEBUHs@f-H_&E?8V7k*!V*y6D6PG0?GZeFn$*M++N+7_|- z<$19R+28j;TbR?YMKjw#75on sOaTvLMpn*WjY^@5{)IYz%&)78&qol`;+0C4uW4FCWD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/fine/rich_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..cd39870a86c4d45c1bbced99cf50210f130edbb9 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlBPZ!4!i{7=D&uXs?6glwl`0R_4-in1M1FmQub=@AjtUSr*pH^~ePRc%ZJL7=z zb(2d9y_AHTZ@)}Q*n87%eUfk3+P!tJt3SKG{5jv*D^r%YXYnb^|9?Un7#52DV%PF{ zHb*>b|10JS?)D$T&lX=W*IfFyoSCJjqj-y9hxVB^*{73YG&8#&-jC!Y@gifsG{yRhSK|Sl94%wcTcl*{P z+U2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7%$nsfD(Isg;2NM5%9nN@iLmrczTYQ%fsDBNU~nC5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gkud8Ax6P%OT}!nDQVOHxLtC27$^WI|W2RmztMit5l?9Z&&Lc zeusg9;jX8PV~EDY){BbX&V?e!9zN$=%=Wk`@sVrWiB%nyKK9K=wd$l7C#K3DSa4V2 zwR6hBg&kZ?j&q`TzDs<2e$O}2`t65*=N{TVKYQrUD%}gZj$zy8u4vA43vp02Ut>|` zTw+|`=x6dq`lV%vvRe0Y8<8UA^-=qH{>{!g-f8{%TT8L-;m8HDveS#cb6u~{Q=is^Zvo@yX1Ycf!XJ+Eh z6)YEeLS=S*n7Az1YhhQmdD*f}+=^<_&#oRasb~DL$8F=;@*8tOg}tY%pUXO@geCyp C8>gWF literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/metallic/poor_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/metallic/poor_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..948667f959f1aa07a81866469f14d3680bb88297 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-jo-U3d7QII=?bmY&6lnN3zc=Ggx08}%OTdB)`65+DH`xO`r^p?$USZp)k(c#4>zCSnJ)Dr!Nsngw|~WBX5kq}LzXJ&F7LfvvL&v`eYKmO+!e!q=AWCQ zW*k#GcG)93a@tx^R(rc3mpczt_ue>WD<-rjzO9~U2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<7Dm4ShkshPHcsg;2NM5%9nN@iLmR;7kkh9)RVQ%e$45=#;ZDo#nZ zO3N?GO)Rlh%FInnPt`BTOIK2W2cwm9eolUoZ+=Rut&$Ezd~J!c?-jf{+ z3=D5PT^vI+CbnMO>%|->!2005o)}|y$v?488Nx1aTm@!N2>QhIX!1|7m8z~Ds}&Sg zRxeW1P;xYEIvdx$rZD%+%Cu)^WX_#wc~P&zUEwY8>}94(VVuY#|HC|AcdXPb^?viZ zWzwOZyoybYwlPBKy2bpQe7!Y4CroSUULp9p%z!2QTjCjiw|o$$fA!yYlSj z8z$Qx9dmeeqftE4aJEA@H_wF1%OCsp)U5D1Jy&=Byt~n+p@u(AXDSyje05~q#(iCD zJ_sl^MV(n1boyG%?Q7o_hak#mwb zvMrzgtdg~PV9;{)mcldx$w&8gi3NE{KP+ZAFTo$k%5LE(-!~t^} zyAZm1_0|BE6cO_bcYC)FEqr?xFW1UgnY{dfQQXGf&l^ldA1$g$eybnD^1|wvw47nH zc6`6(oZ@-wxK}XVJ@$<&_oAbJU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7#@|p^3JEsg;2NM5%9nN@iLmrczTYQ%fsDLlmW{C5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gnfg=0&g^Qoe>M4{~t>F~MaJs64V$KooSTc`3F^MN0N|(*72n z3=E7~o-U3d8WUSDI(mmBiX8iRzgp78WM*%kkWt!%#1$bKkJUO_F8O{DjoR@s`X}S9 z9UTc01&dv}4;)!{c)_BC%~^%Q2NmvJPFm+7ZQZ@O;$M5Q#resH{$5r1tGvd&EH9vY zVPSjRaT_Z&o=&HkuXsP$>21}mSd@CZ&DGhGtuv|TcHGSm$DMP2E?w&O*zS_ihl9aO zgWJPol7r1X9{O&%8xi~>v-QWcKKM&C{dVwPQ*9Gt8PS9Yu9C1+mieVr74X2d{PfxkDEM}C-_VGodUM~1@h_}_X)nfuhY}wWq)pi>~rQBN6T%F2#2Oe-DUa8(4QQ4 zb)i_^sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cPIz^_NqMUOK!1Z;wlsH` z&YGN*)T5WeHY!f?@QUlS5&tx&I(=98{l72r-aVQ%YP{c-k3^L@T$ z58_2<`n35i51w^4EmK8kq5Z>snhDb-4J3FTRqcILVdJDA&>%SVbgC2w%e)i!_K9tb z=&9Np=dmZf-jKu;KULzO>Dpoi0rK@Au!#Y5QB(AGEUNWC~MS@7uj90$i;t z!dBneef)8w*HWk5cimQBJyc`YemBp3ZP?+m-L6U#6Cx+5bMq_+(MmLty7>C5fmH8> z43h^17CV+!?d5BAI{17tliJy*MF(@t7GHk3AV9-GMd;(^g9#0{-?D9uI?G&_>A3jf zffS>UJTpSrHbkwJ=s#XyHFv`4r#EuUYU;N9a&*`y7ic22w5Or;V1mJe8oR~!-+$&a zP_>)SKh=x%Zl3thntzSeDI0FTHIU&;+!&!S`Q(n?uT^KCOnzF_8KZanq{NSWZhkc< wjzbR(Qm;l@N2;Anne^ui>psCh+wcG23ugFcb<6inHmDl&boFyt=akR{02v^QV*mgE literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/ruby/poor_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/ruby/poor_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd6534bdfb7e47ba6a4fcc47f9b5bea0b0e1c26 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6~PZ!4!i{7)7_GVv66lj^hvm#=ykiC$NsA7kbqL8$*XR_}5#6;yK8#V}P3+7(p zx+eDRm3+eF>Wv!=6~dAfmIYjJJGg)?Sc6gVXmasU{&!4eR#!LeHh#my{a;G*>YJ}s z=2uc52pNQC$Nti83_4Z&AaRmzDbo%fABOppa#mc=UK>7ZPFQn|{>jfO_E+~FSgZ0@ zrGJu5;C&|TrBjwGvoc%>T`)I=^F|o|%J?gu51u9DE24v^`mOz1pY3 zYQbj1wrh9n2Ie!&vJYB+`P$BSvZl(VcJaBD#!IJI?~a_|`APQ2j3*`qPPXiO*tRu( z_B3letH|xS>y`HdTLa!0);j()^+v<5uN59VN(j?FZ}z^HO4L zt+bBFer3AAcI`^}0nG)A<5=b~avzu(_4?5Yo^Q;-2dp+sO_8z)$lg2qNx`J-11bCO t$LAEZ*?n}JbUusw#kHvX&-Wkm|Kyyx#N_S4eGCi?44$rjF6*2UngCnDwr2nU literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..2d81e83c1f2d1dae9f5f53d8a3f988941017bb85 GIT binary patch literal 615 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZcPZ!4!i{9Ev`@O3IC63vD|Mfb~-@{}^SJG0Ui(zcx%i9*@?0q2ePx9;~p}*{{ z-4B%fe3e`ry#;vn1Up>x+{9*TbV}X(Evs~L{macVapykQojY6^-zjs>qd?)5d1O0|$# zv`WitHg7`7ziEGVdn^rl_VA&iwY7D|EH;P57Y{uCsBqfoVL^r2ftMwhGE6@F{wpId zFWi6pm|y@9w_(tM>1&UtM?e)MuY9s;jfx#=e;4ZQ1PAtF>DM)~s10z}LRV_iaR2@L_p?u*jPmpIMYvk+ZS8-t Z-)`9xKXG%lC<6lngQu&X%Q~loCIIgoB)9+o literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/ruby/raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..8dfa6088c1fe9f509a0118a261d4c265bde98b16 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6^PZ!4!i{94D=ey4)iX8uVUD94zSlKPdBWTmc37Z0^RJ=RoC3ec~lX$|yHGjoV zxowYk)=`oC-2FS^jQO)T<8r&x#dh<*f1dOFON*V>(k+Iqj%&`J z30trJi)H>}&A0^NvWHb^^I~7c?)Ld%=k|do+n~91+1?AUdeJuHgjgq zzj!bro}n&D;_=cc(t;l)gx7{?OTBLnI<>d1;r`{Q zW=6fP`*YyLcy) z4T?(Zw%&fr_wCpAWB;#wo#~}%zL7O|&0)iw!w=8c?A1!(%wT!HQQ7$X`Vy-@jN*ws WXI6KfX<}etVDNPHb6Mw<&;$TO#@bi_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..1c567585b16ae31fe9fa2178fe7fbada1355a717 GIT binary patch literal 1932 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1cgre6c)|-f{2n zae*&_N*R-s4edR=eZ9ST&wly${?^~EQriz!@0eG7{omWI=fgrmkH#N5a6D<_fu~QO z`m3fUCp(+Y^qFz~`G%;q875MviatMj(}q+kXXKac|}##p$eO0fB)`H$j{F|-TwOZ>i`kf!w&`Q z=JT%%@w)2b>Tc+*zU3gjY;p0cf=7S8&FLzeh{JVX` zLq#cV@BaPDB3vikR)z>oa!_E{e_wy=YqCGoQ{*VNUWVw~k+Y;JCT)Tin|-ya@Dgl7`xJ&OPUHWc5Wew+M-zV@^+0EhsK-F0txO zG16R`$x_^YSTQxALtAv@6($m$?Wt~$(698Hi Bwuk@# literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/ruby/rich_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..a96446d64c6c41ba8e952c603b64fb721ec7450f GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6&PZ!4!i{7=D_h*GTim-jSzh*bvA~iSHCfq3qu%U1oqE-ay{-6N!8!B$-_P#+^Vq9&Qt`g<=S!!w z&iS1C<`Kg-Z%zJxTo*Fxy482Ix`&4D_0jZAX1i|Kc{k{k6Yqt*2Hl73b&vGY7Vm8T zuJNO#+m~&v+drAt7A?g$R<3%bd~Ad0S@#XoiuW0FZ4fGyoL(q1cgm$unZuegF7ojo zN<<#G&M@r@|It$!!~Iv6+1b45Zq^JNmKj{LblzNz!w$Bdo;{Rxx@uzU|{fc L^>bP0l+XkK)6T=8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/shiny/poor_raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/shiny/poor_raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..27d678a010a8bb8341dc8ce718cb0154d327f925 GIT binary patch literal 2376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m7%4Tskyd+sg;2NM5%9nN@iLmrcyI20|P4~GZdw%C5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gkud8Ax6P%OT}!nDQVOHxLtC27$^WI|W2RmztMit5l?9ZqH1rM=Vm z`!$#Dl-%EL_c-=1H0YhjG__Z>B6QU+*-OudQqSKOdGgI&Zda z@9JKknlGaBE=|wRe(o2u>xIPBr2H!ues`lz+0I&iZ3W+f9hSM~{~3N*v&}c<_`~F! WXd(1I!*-k5*V=elQmXIO|9it-KQGr_S~59km)z``JPop24shwZ9J#ulNiyz%K=Gbu z*BEa_EqU4aep7a)(QBclQ{H)}EzW0sldQk|#VelWJI%EW4i@^A_Z{cSd%RaJZ`F6t zhZ{Q2Gv#d%7Theff^}cP#K-!DAr|L1TF+8Yit^c*TKiSJ<^kt<+t+;mn%Va}y!J~@ oJLcL)c2=&5MtAvt%)es3sNSgH3FF&S3=9kmp00i_>zopr0JMU04FCWD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore.png b/kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..2850ac44700a70d9620496711670f4accf92b510 GIT binary patch literal 2401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+3uZby2e{;yD7YtP<|!DN zsxmNWOiWHlnD^ktqbH|S4jc#w2nl*3_e4TcP;%*kx_OPgjWZiTK+$mLjsu1Y2ihAO z8x{5K^`|m2*X%xa;KYFg2MQvuUp#tJG+0hQ!BU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<7Tm8qqbiG{X-sg;2NM5%9nN@iLmrcyI20|P5#Qxv7CC5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*lztb zCR-S#CZ?sCB*OH&n*+*}pk!m^ky%`lUsMUrHNmNc zP*zT+0yw2uB_@M%fUQz8DC$#Fl%T?yWQPF6*z%0jJiJK)qO3SSt)x7$DAh4NHLrwV zlGC?Su+azQRfs?I!8rrTi(omVd<|0`jBUe1Jmk-rUe(t$6J!4V!uKn|_uI@1^%lj(QwriI!|JNys tYkQyS*|;?ayw%oBo_Om`;-mYybxe2FoQtCu)@=rr^PaALF6*2UngAqFp85a) literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/shiny/raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..738e92ac7c055792508da00054e90d8a8385422d GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p)?o-U3d7QII=?e%4L6gc`(ewwtx;RB8>90H1V3QHNf`xCky^xCw{iX{`Ag==ms zV@Ps&V7VnB@$m`exhA`<-~XTIc6?WM^2KDYm+M{@pZhzNL9y-#hiuHkQU2jmirfM(lEAN z>~iqJrAt8v4OQ(mLlt*y+M!~)J>sCTzUBTE3i~xSs+hJmHZo?hGcz+YulKI&Y^qL5 zo7XgPrB>%VH4Y`E#UctiEP(MZ8W9|Eee=K6&#AMIf9t&4Tx<8+zb~NAcaGB>)j8%na&}HD`dl1dy#Gn(6U(F7 z$9K2-x93al7y8e{$lB=Il+~2o;?wetvzqh1$Vri(y0`R~X>AL)ar)DJM8#A2q;}BM zOP?+sPwh&1nsWZc)l;ue+Xv2ADzW6q>XM+H&PSc6Mt|LN%jByCuWxVuEcY$TvX;NT z@q+91zH8RY_TN}=(%|HYs}ZMNE+tf`-*nzgem~znu<+6)&0E3d{@dpk7KQzIBVN4v z*=OB|O()VmZe4oxG;4THjOdzH3%<$E3Xb`!)O9*Wdcw(%t#|(Y|@ia_u+x z|#me33VRN*1KB)10@@ezx-Ru4L%q+eAb={@fHgxV%QuQiw3m8Da#=fE;F*!T6L?J0PJu}Z%>HY5gN(z}N zwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dgxv3?I3Kh9IdBs*0wn|`g zt@4VkK*IV;3ScEA*|tiKAPW^Dd;=7m^NUgyEcFa^lMM_E70fO53{A|8EG#W`6pRdv zjP(u7^o>k)jSQ>|46RH}6`(-LPQj)qCCw_x#SLm%QA(PvQbtKhft9{~d3m{Bxv^e; zQM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6%mkOz;^d;tf|AVqJOz-6iAnjTCALaR zP-81{3*g4)6+^=*IX_pwBC$Zl^AB z!qpaJfuXK}Nr<6|m63s!iK(`Msg;2NM5%9nN@iLmrcyI20|P4)V-%&SC5b7CC5Z$T zrzBgYKEjtD=EN((aJeLC%?!yKPA;x$q-rG)7d$oC_gPTC)HL7 zx$XeF)YsR_Gq1QLF)umQ)5TV)BDX*+zmrr#w$xfB%pF#Rbc>h~|oOwY_q%puzxP^JVW8!L~@;*$KLN@%VL zPA!D8axxXbDa9%=8I%KTm6AbGpPHfs70x6(1R%ziXQbxgO%f1g#rbI^<%vb9j_Ij+ zB?Ob4zMX=NJ}9q3{Gkud8Ax6P%OT}!nDQVOHxLtC27$^WI|W2RmztMit5l?9Z+G>u zOfmxl!#z(I#}JK)OD`JwF%^m&dH8<+Mk6_f8+RkBn469pNcl4!|H!iKSk9h?xg6KT zj`@`>G%{%^n$OB{BjaIqy3zjWGezq5zu~_tsA9ksWu7T=CZzL+S`QFPJ(rVMW-E&l41mZhKXCz~o|oUru=GukW+sR|Wby{CH_}8C2SPy85}Sb4q9e E02^APR{#J2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/shiny/rich_raw_ore_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/shiny/rich_raw_ore_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..9f896d8f0d45de00ebb8f223d557a475ac095f93 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkpPZ!4!i{7J?4E+u}2)NE)9MYlYHPxb#D==Nc3X9=_|g z=W0-Xz#`$1_9~2d`KkTPy)$!*S(+7g^W+De`s|nD?=ab6t>dNlH(3HE?Ybmg!%$v0 rp=k0CZT-s7b&TKc2HO4k#aMUMyWzmgOE(!97#KWV{an^LB{Ts55E+GB literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/transparent.png b/kubejs/assets/gtceu/textures/item/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..d83a131004a555d47a5656fbeecf79ad3a7ccc7f GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|H5N51TiJ!>8z`$PO>FdgVkCB&Oimmd8og)JSgN&z(V~EA++ lbT&E}WF1(+xR{McjF};M7PIUd+s`0%44$rjF6*2Ung9#~B0&HE literal 0 HcmV?d00001 diff --git a/kubejs/assets/immersive_aircraft/lang/en_us.json b/kubejs/assets/immersive_aircraft/lang/en_us.json new file mode 100644 index 000000000..337adb26e --- /dev/null +++ b/kubejs/assets/immersive_aircraft/lang/en_us.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.immersive_aircraft.steel_boiler": "Steam-powered Aircraft Engine", + "item.immersive_aircraft.nether_engine": "MV Aircraft Engine", + "item.immersive_aircraft.enhanced_propeller": "Aluminium Plated Airplane Propeller", + "item.immersive_aircraft.improved_landing_gear": "Dark Steel Landing Gear", + "item.immersive_aircraft.hull_reinforcement": "Dark Steel Hull Reinforcement" +} \ No newline at end of file diff --git a/kubejs/assets/immersive_aircraft/textures/item/enhanced_propeller.png b/kubejs/assets/immersive_aircraft/textures/item/enhanced_propeller.png new file mode 100644 index 0000000000000000000000000000000000000000..867af8c7a1ee86b6b23da953a0c07fb06d3f4d75 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zCG{izw>C2{F!p=8IEGl9UOIVWmb9Zl+y3B~HL7nPI+Z6FXwDG{e|3PxuU5rFdatA0 zf&PLQj-S}F3ub?bbmrN3N_kt*j0Q&`m7UI)%&zU|c(*~vQt_M#_vthL&;LKqlhb)6 z!n0R&p3usTMY>96)9cwid#Ao%{pj*VC%eDDtWTWVcK+j$hm4a~Ml6b$|xO**TsVw9P*n!TP+S2~k!{Ox=6oca8n zi#XPbdIfI0H$9fw;(`Dh7h~6=2W2~5G-v3G)$H8y;91(Ks~JA)XXo^6HhWRN=ev5k z&Gmwk6&6|TdujyNZM-VY%kb@sa(9T-_X4Gr8-k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zU6zL%w(~JCFmCg7aSX9Iy>_yF{$&S=WA%Qqu?G#^0=s4{3XtkpWHwhzCB#Uf@yMY7 zH8nOn24(r?sdHQX8+I9#Br&9HJ=@T=Ks0l~zAcLX=R~X%-F9+^?|*0X_xG_qXJ`+~`W`-M)t0Jm$;1Moio(Ug#V2)B&VBQ_wbw3wU+7PTrDEI+ zZ~jln2^GF`atpiI)6g|91RBmAXEX1$Vi3(2)1IW@l9>sw}f)66eADs-EscQ c{jcmk{d+>+c-(4YU|?YIboFyt=akR{06DG$4*&oF literal 0 HcmV?d00001 diff --git a/kubejs/assets/immersive_aircraft/textures/item/improved_landing_gear.png b/kubejs/assets/immersive_aircraft/textures/item/improved_landing_gear.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea474df774260992ddcf8101f47f5257447acc1 GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zb@BNR<)RoE7_~iJ978NlpPg*zeK6+fXw=ovqW6s%%m+53jJAHp~U{AW``StlN zi3wM?$v&_!dt0{qz}Ee1<~~1tm(Ao`|7zO_L9^cPJ(!TdIH!c)*Llm1eLGcom{*%P zcxC?jYZoZ8a4VaFrx3%LB0uLXI|9OO&MphfY&NYlky<$A&}SQln)~S%GE4>bwJHCM zek;AoY0~Hl@G2~?{B>~!ch%nFS!dNIpIqXiH*>{Sy(ufX6W)I=@msoZsrHU_yB+Hi zHbx}eE-TeDbDX5Yp*Z0aPlL|s4>tWDD|}`xvv-g5%G`3z^-_-^i=)G=Wk(8g{=O2o kn(H^Qd25#F&-yD|`aGo;Nu@5i3=9kmp00i_>zopr0M>uDP5=M^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/immersive_aircraft/textures/item/nether_engine.png b/kubejs/assets/immersive_aircraft/textures/item/nether_engine.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c483869b4130dab86916361e2ea8c915196cfe GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( z8NTBdk&74@m_j{W978NlPn{g^F*#7;SpD;2X}{-2roK0(XuL^^nh++%F||anLN=~M zIYc}*)I;G#=mpm%Cyqnwb{Pn1zF61fC=jUWVR2hz>J`nG&yL-BK0o*V{JDDj%nVsR z&RKo9a^C$)zW2Wm37(D)Ro)wFI_a^Vf9lpRAz`OKruz2jXI~1AtkrOlNn??i6UF=> zWv6VzlWFHJYk$=_e(mVOhCLsDPG@C^d765~Hc#>8e65bj(N?y)UtJ#k7MN&$U!J#M z*}8d~dGo%NB^pm$wqwVPpyf+LMLd@IOt741QXS!agry-VR_vjccCzNCL-R`~>t1D1 zn0#_VP-)Cv-zP;s)kUl9|LCZMeF|KX_{i>|nhe+Ed-sl>k-G7gkLPkiYJpJc@us%J zie_euo~&8SYVq9q{D-+^K4%Zq9y%M8a@1?X=Jtsf4UMdVg(si!VK*!lK3V5@ zODi+ASAJK$q9^vYC(qX`x)Bhpwe*}&(5ff_ZNpoKvj}LtS`kt+`$yvtTu1``pV>r&b&OM-8&kTSUPRLHXQ$EpP(x!%#xn+d1>0cV{^`&uit*lVy|wW mY46r|T#>KWSrqmBXYw!P+Ri8&yOM!{fx*+&&t;ucLK6VxH%LMN literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json new file mode 100644 index 000000000..a274ef417 --- /dev/null +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -0,0 +1,51 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.minecraft.iron_block": "Cast Iron Block", + "block.minecraft.chiseled_deepslate": "Chiseled Migmatite", + "block.minecraft.cobbled_deepslate": "Cobbled Migmatite", + "block.minecraft.cobbled_deepslate_slab": "Cobbled Migmatite Slab", + "block.minecraft.cobbled_deepslate_stairs": "Cobbled Migmatite Stairs", + "block.minecraft.cobbled_deepslate_wall": "Cobbled Migmatite Wall", + "block.minecraft.cracked_deepslate_bricks": "Cracked Migmatite Bricks", + "block.minecraft.cracked_deepslate_tiles": "Cracked Migmatite Tiles", + "block.minecraft.deepslate": "Raw Migmatite", + "block.minecraft.deepslate_brick_slab": "Migmatite Brick Slab", + "block.minecraft.deepslate_brick_stairs": "Migmatite Brick Stairs", + "block.minecraft.deepslate_brick_wall": "Migmatite Brick Wall", + "block.minecraft.deepslate_bricks": "Migmatite Bricks", + "block.minecraft.deepslate_tile_slab": "Migmatite Tile Slab", + "block.minecraft.deepslate_tile_stairs": "Migmatite Tile Stairs", + "block.minecraft.deepslate_tile_wall": "Migmatite Tile Wall", + "block.minecraft.deepslate_tiles": "Migmatite Tiles", + "block.minecraft.infested_deepslate": "Infested Migmatite", + "block.minecraft.polished_deepslate": "Polished Migmatite", + "block.minecraft.polished_deepslate_slab": "Polished Migmatite Slab", + "block.minecraft.polished_deepslate_stairs": "Polished Migmatite Stairs", + "block.minecraft.polished_deepslate_wall": "Polished Migmatite Wall", + "block.minecraft.blackstone": "Raw Pyroxenite", + "block.minecraft.blackstone_slab": "Pyroxenite Slab", + "block.minecraft.blackstone_stairs": "Pyroxenite Stairs", + "block.minecraft.blackstone_wall": "Pyroxenite Wall", + "block.minecraft.chiseled_polished_blackstone": "Chiseled Polished Pyroxenite", + "block.minecraft.cracked_polished_blackstone_bricks": "Cracked Polished Pyroxenite Bricks", + "block.minecraft.gilded_blackstone": "Gilded Pyroxenite", + "block.minecraft.polished_blackstone": "Polished Pyroxenite", + "block.minecraft.polished_blackstone_brick_slab": "Pyroxenite Brick Slab", + "block.minecraft.polished_blackstone_brick_stairs": "Pyroxenite Brick Stairs", + "block.minecraft.polished_blackstone_brick_wall": "Pyroxenite Brick Wall", + "block.minecraft.polished_blackstone_bricks": "Pyroxenite Bricks", + "block.minecraft.polished_blackstone_button": "Polished Pyroxenite Button", + "block.minecraft.polished_blackstone_pressure_plate": "Polished Pyroxenite Pressure Plate", + "block.minecraft.polished_blackstone_slab": "Polished Pyroxenite Slab", + "block.minecraft.polished_blackstone_stairs": "Polished Pyroxenite Stairs", + "block.minecraft.polished_blackstone_wall": "Polished Pyroxenite Wall", + "block.beneath.loose_blackstone": "Loose Pyroxenite", + "block.minecraft.dripstone_block": "Raw Travertine", + "block.minecraft.magma_block": "Pyroxenite Magma", + "item.minecraft.iron_nugget": "Cast Iron Nugget", + "item.minecraft.iron_ingot": "Cast Iron Ingot", + "item.minecraft.iron_block": "Cast Iron Block", + "item.minecraft.netherite_leggings": "Blue Steel Diving Leggings", + "item.beneath.loose_blackstone": "Loose Pyroxenite", + "material.tfg.dripstone": "Travertine" +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/textures/block/iron_block.png b/kubejs/assets/minecraft/textures/block/iron_block.png new file mode 100644 index 0000000000000000000000000000000000000000..f79560fef292ff59343ad3fc6cfff41e5ad248a1 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7HhH=@hFJ7&o$SchWFX=q zza*fpB-Lk6bK>j2`6)fK*`lJwxiqIF^%$+*KjYi^*GrBrwPnBjm7!x@IEKrT|Mo|J#p=&$12yUZ?i9W9>sf6oPmLX!PC{xWt~$(69730VdVe- literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/block/lantern.png b/kubejs/assets/minecraft/textures/block/lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..0d91fda5fa6b3b9ac038fbcb875482a9feb5fb0c GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU@+idV_;yAi2oJNz`(#+;1OBOz`!jG!i)^F z=14FwFxhyzIEHw1zMW#9A)F|2tiIf(zuPyX*Oh6Rl((O2mckSvSB@>RE*b2OvYSNb z7+H8MSg_b>frdtt^TKF0V~ws5c27=?w9HJA=~JRkZ56Tk%^oe?=XFjoX40|uN!&^+ zYL`9U@x1c>_kHjGdNOo2wuoBFCZ^@F>8>!GA~os8!Wf3*-}a^|{^t^nxcAAT&ZegH z#wA|ah7vPf#uLehlg0K~G`{e)tJZ7KKX+oQptr~ZX{(nxQCYSZqFy_kzrS$%WU;9xFk?$C7#%z%zx*v z?26}k39}^cFt8Rn1k24xV{_f9WOA$MNu%Y)4yGwPx-B>EsFt(2dqKl)!}d=iZRSVh z_`g+r5dZYxjo{>ts!0d)X3VNQwwu-UMx!#n(n1BVHL?vH0XOcb@=uAd*4-FABW>BI zZ|6TNq%&+dntNu>#%ehm{Y(-0tJ^MpIJfzD^Zzb(djbP0 Hl+XkK-B%iE literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/block/lantern.png.mcmeta b/kubejs/assets/minecraft/textures/block/lantern.png.mcmeta new file mode 100644 index 000000000..5169aabdc --- /dev/null +++ b/kubejs/assets/minecraft/textures/block/lantern.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 8 + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/textures/block/magma.png b/kubejs/assets/minecraft/textures/block/magma.png new file mode 100644 index 0000000000000000000000000000000000000000..c9cde3d58f573320166de580f1e8c0d2b903990a GIT binary patch literal 2325 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 XNqxv<>H3F(fq}u()z4*}Q$iB}K1G-M delta 489 zcmcb{{e^qO6eeCnT|>(d0|P5#GbhOr>ucqbpIn-onpfiKVyjejIgRaA&l$j=hyN{m7!h2j#| zvJ$KEjMO|7zrjOg70aah_ogQr7#JAlc)B=-Se#D&^Z&m+vuZa ziZNd_xZd!ig8AcvUS=M7`+Z3tc)lgv*jL6rgLj*(NAr^pRg6nGmaMElW@5?48>qVB zM(_3S4@@>S8XRak)2PYDI6+Y%yn%;lg_j$soM5xZk+pLn;FU1B0ilpUXO@ GgeCw@p{ck4 diff --git a/kubejs/assets/minecraft/textures/item/netherite_leggings.png b/kubejs/assets/minecraft/textures/item/netherite_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6634af85dbccd3318b54012a4a162193d7edf4 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk`PZ!4!i{7P^4fUM^WscU@O9^H!&AQ-Wq9V#RE8-0sZ*eV0S^N=|kAhl42NjMU zO30aUE5mToBH#S2Q}$(N-2Xgp-)+b9MaBOAp5G~ccUE+*>EDC}`lbQ}`ArWkggPXY zU%oe5ury5bhqQ;nqUquMk+bAk6lP~Leu$`GUhrp&cW|nS!ag>$O*^M47bRDycm}81 z%y}<+d9>4ld o=fwlJKU_a>R*Lsu^S=7W{Biwl?G*(KpkQY3boFyt=akR{0NJ9Y6#xJL literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/models/armor/netherite_layer_2.png b/kubejs/assets/minecraft/textures/models/armor/netherite_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e74fda5e3cf05931b62d99555fa390b5dd31326 GIT binary patch literal 748 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{Xuz$3Dlfq`2Xgc%uT z&5>YWV4COY;uwxyHB4qF+nTClAUTOf6u;VM(e zV~GV(4OuPr7B>nHOV4=o!y#bXz0UeoE4ugWym|Tg{NIufzzSlVxKFy>=jL?kyI0HR zuycdU&8Q{T`dcO(c{=&tfhBwXCcHdTA5cK}hBDtTV2?5Hy@rF8MJU#He& z{Z&6U_4d5vY~#ZxZiwufc;K;Yrh2KeW4YaS+w14v%U6d9UiM#>Y9QgFaAH=ZUhD^^ z1@XL-f6dE^VJ}@W<;|0_2_8yrEXJRi6VK?Uw6}8iwU`$+S5}p39sPdxhnMlc9s2Q$gJQDvd$wjp zZT%;_`0oC4+2jRYd;d*!+UTo#m+Olo znfBBbE?+DvXCM1+hTQR|{R@`ss{J{rc=Oi36w})~ezF%tq$=I9_GL9j5gMY zZ(y;j`*Y&J`Sbl#Z4(c%9BXQ7`v2$8p90Gn7R)mnSZ^l9 zTO&6MD%_vuA>H+cd=kJ2Yx;)hpT+w(-o}-sAu2@&~Pd z|L6Z|Rh%p^-=cZZG_$L`YGNBCc0@Z$OuEGUh`}w2MO!oBK=-3S_8zN*D~yZzBuWpg bU}jM6FR5N0U9gLRfq}u()z4*}Q$iB}ZzGdO literal 0 HcmV?d00001 diff --git a/kubejs/assets/sophisticatedbackpacks/textures/block/gold_clips.png b/kubejs/assets/sophisticatedbackpacks/textures/block/gold_clips.png new file mode 100644 index 0000000000000000000000000000000000000000..76d26b0243b964150351602cb381212e1018c25f GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|TS3r;B4qL~HVz)vJG>Z(y;j`*Y&J`Sbl#Z4(c%9BXQ7`v2$8p90Gn7R)mnSZ^l9 zJz`(%Z>FVdQ&MBb@07y-g)&Kwi literal 0 HcmV?d00001 diff --git a/kubejs/assets/sophisticatedbackpacks/textures/block/iron_clips.png b/kubejs/assets/sophisticatedbackpacks/textures/block/iron_clips.png new file mode 100644 index 0000000000000000000000000000000000000000..50de65527fb66901ae1c5aaad0e090654f93cd82 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|TSBr;B4qL~HVz)vJG>Z(y;j`*Y&J`Sbl#Z4(c%9BXQ7`v2$8p90Gn7R)mnSZ^l9 zLQ!=8$LZoK=dB1tve|_UZF~_a{|NmcZ zl_vD`S=t0qp@nn#IT^&1gNr#1yHq*I9Qg6y-uIQnqJs_MM;G%+lpa{Y>?UjQsv(e_ bf#L1NjkkOLc3);-U|{fc^>bP0l+XkKhOL%w literal 0 HcmV?d00001 diff --git a/kubejs/assets/sophisticatedbackpacks/textures/block/netherite_clips.png b/kubejs/assets/sophisticatedbackpacks/textures/block/netherite_clips.png new file mode 100644 index 0000000000000000000000000000000000000000..355cc4c72b118c65843d53800565100c914ba0d5 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|TS3r;B4qL~HVz)vJG>Z(y;j`*Y&J`Sbl#Z4(c%9BXQ7`v2$8p90Gn7R)mnSZ^l9 zLQ!*r(dcxwa{%>`;Dyb*&H=$9q z|Nmdn=b72!a#iw5=+u>Y1{)iWo<1saC}5JD0K35@r3g<(<~WgltAs0zi}@r<53FEz clVxCtdQ~noHAdn%0|Nttr>mdKI;Vst07-+BQvd(} literal 0 HcmV?d00001 diff --git a/kubejs/assets/sophisticatedbackpacks/textures/entity/backpack.png b/kubejs/assets/sophisticatedbackpacks/textures/entity/backpack.png new file mode 100644 index 0000000000000000000000000000000000000000..6f5b1f1d93b275c77bddd568d9f6293957bdb400 GIT binary patch literal 2702 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index c354f56f2..fdae4da32 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -1,13 +1,7 @@ { + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.tfc.fluid.salt_water": "Sea Water", - "item.tfc.bucket.salt_water": "Sea Water Bucket", - "fluid.tfc.salt_water": "Sea Water", "block.tfc.cauldron.salt_water": "Sea Water Cauldron", - - "metal.tfg.redstone": "Redstone", - "metal.tfg.red_alloy": "Red Alloy", - "metal.tfg.tin_alloy": "Tin Alloy", - "block.gtceu.andesite_almandine_ore.prospected": "Almandine", "block.gtceu.andesite_aluminium_ore.prospected": "Aluminium", "block.gtceu.andesite_alunite_ore.prospected": "Alunite", @@ -2267,5 +2261,352 @@ "block.gtceu.slate_wulfenite_ore.prospected": "Wulfenite", "block.gtceu.slate_yellow_garnet_ore.prospected": "Yellow Garnet", "block.gtceu.slate_yellow_limonite_ore.prospected": "Yellow Limonite", - "block.gtceu.slate_zeolite_ore.prospected": "Zeolite" + "block.gtceu.slate_zeolite_ore.prospected": "Zeolite", + "block.gtceu.deepslate_almandine_ore.prospected": "Almandine", + "block.gtceu.deepslate_aluminium_ore.prospected": "Aluminium", + "block.gtceu.deepslate_alunite_ore.prospected": "Alunite", + "block.gtceu.deepslate_amethyst_ore.prospected": "Amethyst", + "block.gtceu.deepslate_apatite_ore.prospected": "Apatite", + "block.gtceu.deepslate_asbestos_ore.prospected": "Asbestos", + "block.gtceu.deepslate_barite_ore.prospected": "Barite", + "block.gtceu.deepslate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand", + "block.gtceu.deepslate_bastnasite_ore.prospected": "Bastnasite", + "block.gtceu.deepslate_bauxite_ore.prospected": "Bauxite", + "block.gtceu.deepslate_bentonite_ore.prospected": "Bentonite", + "block.gtceu.deepslate_beryllium_ore.prospected": "Beryllium", + "block.gtceu.deepslate_bismuth_ore.prospected": "Bismuth", + "block.gtceu.deepslate_blue_topaz_ore.prospected": "Blue Topaz", + "block.gtceu.deepslate_borax_ore.prospected": "Borax", + "block.gtceu.deepslate_bornite_ore.prospected": "Bornite", + "block.gtceu.deepslate_calcite_ore.prospected": "Calcite", + "block.gtceu.deepslate_cassiterite_ore.prospected": "Cassiterite", + "block.gtceu.deepslate_cassiterite_sand_ore.prospected": "Cassiterite Sand", + "block.gtceu.deepslate_certus_quartz_ore.prospected": "Certus Quartz", + "block.gtceu.deepslate_chalcocite_ore.prospected": "Chalcocite", + "block.gtceu.deepslate_chalcopyrite_ore.prospected": "Chalcopyrite", + "block.gtceu.deepslate_chromite_ore.prospected": "Chromite", + "block.gtceu.deepslate_cinnabar_ore.prospected": "Cinnabar", + "block.gtceu.deepslate_coal_ore.prospected": "Coal", + "block.gtceu.deepslate_cobalt_ore.prospected": "Cobalt", + "block.gtceu.deepslate_cobaltite_ore.prospected": "Cobaltite", + "block.gtceu.deepslate_cooperite_ore.prospected": "Cooperite", + "block.gtceu.deepslate_copper_ore.prospected": "Copper", + "block.gtceu.deepslate_diamond_ore.prospected": "Diamond", + "block.gtceu.deepslate_diatomite_ore.prospected": "Diatomite", + "block.gtceu.deepslate_electrotine_ore.prospected": "Electrotine", + "block.gtceu.deepslate_emerald_ore.prospected": "Emerald", + "block.gtceu.deepslate_fullers_earth_ore.prospected": "Fullers Earth", + "block.gtceu.deepslate_galena_ore.prospected": "Galena", + "block.gtceu.deepslate_garnet_sand_ore.prospected": "Garnet Sand", + "block.gtceu.deepslate_garnierite_ore.prospected": "Garnierite", + "block.gtceu.deepslate_glauconite_sand_ore.prospected": "Glauconite Sand", + "block.gtceu.deepslate_goethite_ore.prospected": "Goethite", + "block.gtceu.deepslate_gold_ore.prospected": "Gold", + "block.gtceu.deepslate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand", + "block.gtceu.deepslate_graphite_ore.prospected": "Graphite", + "block.gtceu.deepslate_green_sapphire_ore.prospected": "Green Sapphire", + "block.gtceu.deepslate_grossular_ore.prospected": "Grossular", + "block.gtceu.deepslate_gypsum_ore.prospected": "Gypsum", + "block.gtceu.deepslate_hematite_ore.prospected": "Hematite", + "block.gtceu.deepslate_ilmenite_ore.prospected": "Ilmenite", + "block.gtceu.deepslate_iron_ore.prospected": "Iron", + "block.gtceu.deepslate_kyanite_ore.prospected": "Kyanite", + "block.gtceu.deepslate_lapis_ore.prospected": "Lapis", + "block.gtceu.deepslate_lazurite_ore.prospected": "Lazurite", + "block.gtceu.deepslate_lead_ore.prospected": "Lead", + "block.gtceu.deepslate_lepidolite_ore.prospected": "Lepidolite", + "block.gtceu.deepslate_lithium_ore.prospected": "Lithium", + "block.gtceu.deepslate_magnesite_ore.prospected": "Magnesite", + "block.gtceu.deepslate_magnetite_ore.prospected": "Magnetite", + "block.gtceu.deepslate_malachite_ore.prospected": "Malachite", + "block.gtceu.deepslate_mica_ore.prospected": "Mica", + "block.gtceu.deepslate_molybdenite_ore.prospected": "Molybdenite", + "block.gtceu.deepslate_molybdenum_ore.prospected": "Molybdenum", + "block.gtceu.deepslate_monazite_ore.prospected": "Monazite", + "block.gtceu.deepslate_naquadah_ore.prospected": "Naquadah", + "block.gtceu.deepslate_neodymium_ore.prospected": "Neodymium", + "block.gtceu.deepslate_nether_quartz_ore.prospected": "Nether Quartz", + "block.gtceu.deepslate_nickel_ore.prospected": "Nickel", + "block.gtceu.deepslate_oilsands_ore.prospected": "Oilsands", + "block.gtceu.deepslate_olivine_ore.prospected": "Olivine", + "block.gtceu.deepslate_opal_ore.prospected": "Opal", + "block.gtceu.deepslate_palladium_ore.prospected": "Palladium", + "block.gtceu.deepslate_pentlandite_ore.prospected": "Pentlandite", + "block.gtceu.deepslate_pitchblende_ore.prospected": "Pitchblende", + "block.gtceu.deepslate_platinum_ore.prospected": "Platinum", + "block.gtceu.deepslate_plutonium_ore.prospected": "Plutonium", + "block.gtceu.deepslate_pollucite_ore.prospected": "Pollucite", + "block.gtceu.deepslate_powellite_ore.prospected": "Powellite", + "block.gtceu.deepslate_pyrite_ore.prospected": "Pyrite", + "block.gtceu.deepslate_pyrochlore_ore.prospected": "Pyrochlore", + "block.gtceu.deepslate_pyrolusite_ore.prospected": "Pyrolusite", + "block.gtceu.deepslate_pyrope_ore.prospected": "Pyrope", + "block.gtceu.deepslate_quartzite_ore.prospected": "Quartzite", + "block.gtceu.deepslate_realgar_ore.prospected": "Realgar", + "block.gtceu.deepslate_red_garnet_ore.prospected": "Red Garnet", + "block.gtceu.deepslate_redstone_ore.prospected": "Redstone", + "block.gtceu.deepslate_rock_salt_ore.prospected": "Rock Salt", + "block.gtceu.deepslate_ruby_ore.prospected": "Ruby", + "block.gtceu.deepslate_salt_ore.prospected": "Salt", + "block.gtceu.deepslate_saltpeter_ore.prospected": "Saltpeter", + "block.gtceu.deepslate_sapphire_ore.prospected": "Sapphire", + "block.gtceu.deepslate_scheelite_ore.prospected": "Scheelite", + "block.gtceu.deepslate_silver_ore.prospected": "Silver", + "block.gtceu.deepslate_soapstone_ore.prospected": "Soapstone", + "block.gtceu.deepslate_sodalite_ore.prospected": "Sodalite", + "block.gtceu.deepslate_spessartine_ore.prospected": "Spessartine", + "block.gtceu.deepslate_sphalerite_ore.prospected": "Sphalerite", + "block.gtceu.deepslate_spodumene_ore.prospected": "Spodumene", + "block.gtceu.deepslate_stibnite_ore.prospected": "Stibnite", + "block.gtceu.deepslate_sulfur_ore.prospected": "Sulfur", + "block.gtceu.deepslate_sylvite_ore.prospected": "Sylvite", + "block.gtceu.deepslate_talc_ore.prospected": "Talc", + "block.gtceu.deepslate_tantalite_ore.prospected": "Tantalite", + "block.gtceu.deepslate_tetrahedrite_ore.prospected": "Tetrahedrite", + "block.gtceu.deepslate_thorium_ore.prospected": "Thorium", + "block.gtceu.deepslate_tin_ore.prospected": "Tin", + "block.gtceu.deepslate_topaz_ore.prospected": "Topaz", + "block.gtceu.deepslate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate", + "block.gtceu.deepslate_trona_ore.prospected": "Trona", + "block.gtceu.deepslate_tungstate_ore.prospected": "Tungstate", + "block.gtceu.deepslate_uraninite_ore.prospected": "Uraninite", + "block.gtceu.deepslate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite", + "block.gtceu.deepslate_wulfenite_ore.prospected": "Wulfenite", + "block.gtceu.deepslate_yellow_garnet_ore.prospected": "Yellow Garnet", + "block.gtceu.deepslate_yellow_limonite_ore.prospected": "Yellow Limonite", + "block.gtceu.deepslate_zeolite_ore.prospected": "Zeolite", + "block.gtceu.pyroxenite_almandine_ore.prospected": "Almandine", + "block.gtceu.pyroxenite_aluminium_ore.prospected": "Aluminium", + "block.gtceu.pyroxenite_alunite_ore.prospected": "Alunite", + "block.gtceu.pyroxenite_amethyst_ore.prospected": "Amethyst", + "block.gtceu.pyroxenite_apatite_ore.prospected": "Apatite", + "block.gtceu.pyroxenite_asbestos_ore.prospected": "Asbestos", + "block.gtceu.pyroxenite_barite_ore.prospected": "Barite", + "block.gtceu.pyroxenite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand", + "block.gtceu.pyroxenite_bastnasite_ore.prospected": "Bastnasite", + "block.gtceu.pyroxenite_bauxite_ore.prospected": "Bauxite", + "block.gtceu.pyroxenite_bentonite_ore.prospected": "Bentonite", + "block.gtceu.pyroxenite_beryllium_ore.prospected": "Beryllium", + "block.gtceu.pyroxenite_bismuth_ore.prospected": "Bismuth", + "block.gtceu.pyroxenite_blue_topaz_ore.prospected": "Blue Topaz", + "block.gtceu.pyroxenite_borax_ore.prospected": "Borax", + "block.gtceu.pyroxenite_bornite_ore.prospected": "Bornite", + "block.gtceu.pyroxenite_calcite_ore.prospected": "Calcite", + "block.gtceu.pyroxenite_cassiterite_ore.prospected": "Cassiterite", + "block.gtceu.pyroxenite_cassiterite_sand_ore.prospected": "Cassiterite Sand", + "block.gtceu.pyroxenite_certus_quartz_ore.prospected": "Certus Quartz", + "block.gtceu.pyroxenite_chalcocite_ore.prospected": "Chalcocite", + "block.gtceu.pyroxenite_chalcopyrite_ore.prospected": "Chalcopyrite", + "block.gtceu.pyroxenite_chromite_ore.prospected": "Chromite", + "block.gtceu.pyroxenite_cinnabar_ore.prospected": "Cinnabar", + "block.gtceu.pyroxenite_coal_ore.prospected": "Coal", + "block.gtceu.pyroxenite_cobalt_ore.prospected": "Cobalt", + "block.gtceu.pyroxenite_cobaltite_ore.prospected": "Cobaltite", + "block.gtceu.pyroxenite_cooperite_ore.prospected": "Cooperite", + "block.gtceu.pyroxenite_copper_ore.prospected": "Copper", + "block.gtceu.pyroxenite_diamond_ore.prospected": "Diamond", + "block.gtceu.pyroxenite_diatomite_ore.prospected": "Diatomite", + "block.gtceu.pyroxenite_electrotine_ore.prospected": "Electrotine", + "block.gtceu.pyroxenite_emerald_ore.prospected": "Emerald", + "block.gtceu.pyroxenite_fullers_earth_ore.prospected": "Fullers Earth", + "block.gtceu.pyroxenite_galena_ore.prospected": "Galena", + "block.gtceu.pyroxenite_garnet_sand_ore.prospected": "Garnet Sand", + "block.gtceu.pyroxenite_garnierite_ore.prospected": "Garnierite", + "block.gtceu.pyroxenite_glauconite_sand_ore.prospected": "Glauconite Sand", + "block.gtceu.pyroxenite_goethite_ore.prospected": "Goethite", + "block.gtceu.pyroxenite_gold_ore.prospected": "Gold", + "block.gtceu.pyroxenite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand", + "block.gtceu.pyroxenite_graphite_ore.prospected": "Graphite", + "block.gtceu.pyroxenite_green_sapphire_ore.prospected": "Green Sapphire", + "block.gtceu.pyroxenite_grossular_ore.prospected": "Grossular", + "block.gtceu.pyroxenite_gypsum_ore.prospected": "Gypsum", + "block.gtceu.pyroxenite_hematite_ore.prospected": "Hematite", + "block.gtceu.pyroxenite_ilmenite_ore.prospected": "Ilmenite", + "block.gtceu.pyroxenite_iron_ore.prospected": "Iron", + "block.gtceu.pyroxenite_kyanite_ore.prospected": "Kyanite", + "block.gtceu.pyroxenite_lapis_ore.prospected": "Lapis", + "block.gtceu.pyroxenite_lazurite_ore.prospected": "Lazurite", + "block.gtceu.pyroxenite_lead_ore.prospected": "Lead", + "block.gtceu.pyroxenite_lepidolite_ore.prospected": "Lepidolite", + "block.gtceu.pyroxenite_lithium_ore.prospected": "Lithium", + "block.gtceu.pyroxenite_magnesite_ore.prospected": "Magnesite", + "block.gtceu.pyroxenite_magnetite_ore.prospected": "Magnetite", + "block.gtceu.pyroxenite_malachite_ore.prospected": "Malachite", + "block.gtceu.pyroxenite_mica_ore.prospected": "Mica", + "block.gtceu.pyroxenite_molybdenite_ore.prospected": "Molybdenite", + "block.gtceu.pyroxenite_molybdenum_ore.prospected": "Molybdenum", + "block.gtceu.pyroxenite_monazite_ore.prospected": "Monazite", + "block.gtceu.pyroxenite_naquadah_ore.prospected": "Naquadah", + "block.gtceu.pyroxenite_neodymium_ore.prospected": "Neodymium", + "block.gtceu.pyroxenite_nether_quartz_ore.prospected": "Nether Quartz", + "block.gtceu.pyroxenite_nickel_ore.prospected": "Nickel", + "block.gtceu.pyroxenite_oilsands_ore.prospected": "Oilsands", + "block.gtceu.pyroxenite_olivine_ore.prospected": "Olivine", + "block.gtceu.pyroxenite_opal_ore.prospected": "Opal", + "block.gtceu.pyroxenite_palladium_ore.prospected": "Palladium", + "block.gtceu.pyroxenite_pentlandite_ore.prospected": "Pentlandite", + "block.gtceu.pyroxenite_pitchblende_ore.prospected": "Pitchblende", + "block.gtceu.pyroxenite_platinum_ore.prospected": "Platinum", + "block.gtceu.pyroxenite_plutonium_ore.prospected": "Plutonium", + "block.gtceu.pyroxenite_pollucite_ore.prospected": "Pollucite", + "block.gtceu.pyroxenite_powellite_ore.prospected": "Powellite", + "block.gtceu.pyroxenite_pyrite_ore.prospected": "Pyrite", + "block.gtceu.pyroxenite_pyrochlore_ore.prospected": "Pyrochlore", + "block.gtceu.pyroxenite_pyrolusite_ore.prospected": "Pyrolusite", + "block.gtceu.pyroxenite_pyrope_ore.prospected": "Pyrope", + "block.gtceu.pyroxenite_quartzite_ore.prospected": "Quartzite", + "block.gtceu.pyroxenite_realgar_ore.prospected": "Realgar", + "block.gtceu.pyroxenite_red_garnet_ore.prospected": "Red Garnet", + "block.gtceu.pyroxenite_redstone_ore.prospected": "Redstone", + "block.gtceu.pyroxenite_rock_salt_ore.prospected": "Rock Salt", + "block.gtceu.pyroxenite_ruby_ore.prospected": "Ruby", + "block.gtceu.pyroxenite_salt_ore.prospected": "Salt", + "block.gtceu.pyroxenite_saltpeter_ore.prospected": "Saltpeter", + "block.gtceu.pyroxenite_sapphire_ore.prospected": "Sapphire", + "block.gtceu.pyroxenite_scheelite_ore.prospected": "Scheelite", + "block.gtceu.pyroxenite_silver_ore.prospected": "Silver", + "block.gtceu.pyroxenite_soapstone_ore.prospected": "Soapstone", + "block.gtceu.pyroxenite_sodalite_ore.prospected": "Sodalite", + "block.gtceu.pyroxenite_spessartine_ore.prospected": "Spessartine", + "block.gtceu.pyroxenite_sphalerite_ore.prospected": "Sphalerite", + "block.gtceu.pyroxenite_spodumene_ore.prospected": "Spodumene", + "block.gtceu.pyroxenite_stibnite_ore.prospected": "Stibnite", + "block.gtceu.pyroxenite_sulfur_ore.prospected": "Sulfur", + "block.gtceu.pyroxenite_sylvite_ore.prospected": "Sylvite", + "block.gtceu.pyroxenite_talc_ore.prospected": "Talc", + "block.gtceu.pyroxenite_tantalite_ore.prospected": "Tantalite", + "block.gtceu.pyroxenite_tetrahedrite_ore.prospected": "Tetrahedrite", + "block.gtceu.pyroxenite_thorium_ore.prospected": "Thorium", + "block.gtceu.pyroxenite_tin_ore.prospected": "Tin", + "block.gtceu.pyroxenite_topaz_ore.prospected": "Topaz", + "block.gtceu.pyroxenite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate", + "block.gtceu.pyroxenite_trona_ore.prospected": "Trona", + "block.gtceu.pyroxenite_tungstate_ore.prospected": "Tungstate", + "block.gtceu.pyroxenite_uraninite_ore.prospected": "Uraninite", + "block.gtceu.pyroxenite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite", + "block.gtceu.pyroxenite_wulfenite_ore.prospected": "Wulfenite", + "block.gtceu.pyroxenite_yellow_garnet_ore.prospected": "Yellow Garnet", + "block.gtceu.pyroxenite_yellow_limonite_ore.prospected": "Yellow Limonite", + "block.gtceu.pyroxenite_zeolite_ore.prospected": "Zeolite", + "block.gtceu.dripstone_almandine_ore.prospected": "Almandine", + "block.gtceu.dripstone_aluminium_ore.prospected": "Aluminium", + "block.gtceu.dripstone_alunite_ore.prospected": "Alunite", + "block.gtceu.dripstone_amethyst_ore.prospected": "Amethyst", + "block.gtceu.dripstone_apatite_ore.prospected": "Apatite", + "block.gtceu.dripstone_asbestos_ore.prospected": "Asbestos", + "block.gtceu.dripstone_barite_ore.prospected": "Barite", + "block.gtceu.dripstone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand", + "block.gtceu.dripstone_bastnasite_ore.prospected": "Bastnasite", + "block.gtceu.dripstone_bauxite_ore.prospected": "Bauxite", + "block.gtceu.dripstone_bentonite_ore.prospected": "Bentonite", + "block.gtceu.dripstone_beryllium_ore.prospected": "Beryllium", + "block.gtceu.dripstone_bismuth_ore.prospected": "Bismuth", + "block.gtceu.dripstone_blue_topaz_ore.prospected": "Blue Topaz", + "block.gtceu.dripstone_borax_ore.prospected": "Borax", + "block.gtceu.dripstone_bornite_ore.prospected": "Bornite", + "block.gtceu.dripstone_calcite_ore.prospected": "Calcite", + "block.gtceu.dripstone_cassiterite_ore.prospected": "Cassiterite", + "block.gtceu.dripstone_cassiterite_sand_ore.prospected": "Cassiterite Sand", + "block.gtceu.dripstone_certus_quartz_ore.prospected": "Certus Quartz", + "block.gtceu.dripstone_chalcocite_ore.prospected": "Chalcocite", + "block.gtceu.dripstone_chalcopyrite_ore.prospected": "Chalcopyrite", + "block.gtceu.dripstone_chromite_ore.prospected": "Chromite", + "block.gtceu.dripstone_cinnabar_ore.prospected": "Cinnabar", + "block.gtceu.dripstone_coal_ore.prospected": "Coal", + "block.gtceu.dripstone_cobalt_ore.prospected": "Cobalt", + "block.gtceu.dripstone_cobaltite_ore.prospected": "Cobaltite", + "block.gtceu.dripstone_cooperite_ore.prospected": "Cooperite", + "block.gtceu.dripstone_copper_ore.prospected": "Copper", + "block.gtceu.dripstone_diamond_ore.prospected": "Diamond", + "block.gtceu.dripstone_diatomite_ore.prospected": "Diatomite", + "block.gtceu.dripstone_electrotine_ore.prospected": "Electrotine", + "block.gtceu.dripstone_emerald_ore.prospected": "Emerald", + "block.gtceu.dripstone_fullers_earth_ore.prospected": "Fullers Earth", + "block.gtceu.dripstone_galena_ore.prospected": "Galena", + "block.gtceu.dripstone_garnet_sand_ore.prospected": "Garnet Sand", + "block.gtceu.dripstone_garnierite_ore.prospected": "Garnierite", + "block.gtceu.dripstone_glauconite_sand_ore.prospected": "Glauconite Sand", + "block.gtceu.dripstone_goethite_ore.prospected": "Goethite", + "block.gtceu.dripstone_gold_ore.prospected": "Gold", + "block.gtceu.dripstone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand", + "block.gtceu.dripstone_graphite_ore.prospected": "Graphite", + "block.gtceu.dripstone_green_sapphire_ore.prospected": "Green Sapphire", + "block.gtceu.dripstone_grossular_ore.prospected": "Grossular", + "block.gtceu.dripstone_gypsum_ore.prospected": "Gypsum", + "block.gtceu.dripstone_hematite_ore.prospected": "Hematite", + "block.gtceu.dripstone_ilmenite_ore.prospected": "Ilmenite", + "block.gtceu.dripstone_iron_ore.prospected": "Iron", + "block.gtceu.dripstone_kyanite_ore.prospected": "Kyanite", + "block.gtceu.dripstone_lapis_ore.prospected": "Lapis", + "block.gtceu.dripstone_lazurite_ore.prospected": "Lazurite", + "block.gtceu.dripstone_lead_ore.prospected": "Lead", + "block.gtceu.dripstone_lepidolite_ore.prospected": "Lepidolite", + "block.gtceu.dripstone_lithium_ore.prospected": "Lithium", + "block.gtceu.dripstone_magnesite_ore.prospected": "Magnesite", + "block.gtceu.dripstone_magnetite_ore.prospected": "Magnetite", + "block.gtceu.dripstone_malachite_ore.prospected": "Malachite", + "block.gtceu.dripstone_mica_ore.prospected": "Mica", + "block.gtceu.dripstone_molybdenite_ore.prospected": "Molybdenite", + "block.gtceu.dripstone_molybdenum_ore.prospected": "Molybdenum", + "block.gtceu.dripstone_monazite_ore.prospected": "Monazite", + "block.gtceu.dripstone_naquadah_ore.prospected": "Naquadah", + "block.gtceu.dripstone_neodymium_ore.prospected": "Neodymium", + "block.gtceu.dripstone_nether_quartz_ore.prospected": "Nether Quartz", + "block.gtceu.dripstone_nickel_ore.prospected": "Nickel", + "block.gtceu.dripstone_oilsands_ore.prospected": "Oilsands", + "block.gtceu.dripstone_olivine_ore.prospected": "Olivine", + "block.gtceu.dripstone_opal_ore.prospected": "Opal", + "block.gtceu.dripstone_palladium_ore.prospected": "Palladium", + "block.gtceu.dripstone_pentlandite_ore.prospected": "Pentlandite", + "block.gtceu.dripstone_pitchblende_ore.prospected": "Pitchblende", + "block.gtceu.dripstone_platinum_ore.prospected": "Platinum", + "block.gtceu.dripstone_plutonium_ore.prospected": "Plutonium", + "block.gtceu.dripstone_pollucite_ore.prospected": "Pollucite", + "block.gtceu.dripstone_powellite_ore.prospected": "Powellite", + "block.gtceu.dripstone_pyrite_ore.prospected": "Pyrite", + "block.gtceu.dripstone_pyrochlore_ore.prospected": "Pyrochlore", + "block.gtceu.dripstone_pyrolusite_ore.prospected": "Pyrolusite", + "block.gtceu.dripstone_pyrope_ore.prospected": "Pyrope", + "block.gtceu.dripstone_quartzite_ore.prospected": "Quartzite", + "block.gtceu.dripstone_realgar_ore.prospected": "Realgar", + "block.gtceu.dripstone_red_garnet_ore.prospected": "Red Garnet", + "block.gtceu.dripstone_redstone_ore.prospected": "Redstone", + "block.gtceu.dripstone_rock_salt_ore.prospected": "Rock Salt", + "block.gtceu.dripstone_ruby_ore.prospected": "Ruby", + "block.gtceu.dripstone_salt_ore.prospected": "Salt", + "block.gtceu.dripstone_saltpeter_ore.prospected": "Saltpeter", + "block.gtceu.dripstone_sapphire_ore.prospected": "Sapphire", + "block.gtceu.dripstone_scheelite_ore.prospected": "Scheelite", + "block.gtceu.dripstone_silver_ore.prospected": "Silver", + "block.gtceu.dripstone_soapstone_ore.prospected": "Soapstone", + "block.gtceu.dripstone_sodalite_ore.prospected": "Sodalite", + "block.gtceu.dripstone_spessartine_ore.prospected": "Spessartine", + "block.gtceu.dripstone_sphalerite_ore.prospected": "Sphalerite", + "block.gtceu.dripstone_spodumene_ore.prospected": "Spodumene", + "block.gtceu.dripstone_stibnite_ore.prospected": "Stibnite", + "block.gtceu.dripstone_sulfur_ore.prospected": "Sulfur", + "block.gtceu.dripstone_sylvite_ore.prospected": "Sylvite", + "block.gtceu.dripstone_talc_ore.prospected": "Talc", + "block.gtceu.dripstone_tantalite_ore.prospected": "Tantalite", + "block.gtceu.dripstone_tetrahedrite_ore.prospected": "Tetrahedrite", + "block.gtceu.dripstone_thorium_ore.prospected": "Thorium", + "block.gtceu.dripstone_tin_ore.prospected": "Tin", + "block.gtceu.dripstone_topaz_ore.prospected": "Topaz", + "block.gtceu.dripstone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate", + "block.gtceu.dripstone_trona_ore.prospected": "Trona", + "block.gtceu.dripstone_tungstate_ore.prospected": "Tungstate", + "block.gtceu.dripstone_uraninite_ore.prospected": "Uraninite", + "block.gtceu.dripstone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite", + "block.gtceu.dripstone_wulfenite_ore.prospected": "Wulfenite", + "block.gtceu.dripstone_yellow_garnet_ore.prospected": "Yellow Garnet", + "block.gtceu.dripstone_yellow_limonite_ore.prospected": "Yellow Limonite", + "block.gtceu.dripstone_zeolite_ore.prospected": "Zeolite", + "fluid.tfc.salt_water": "Sea Water", + "item.tfc.bucket.salt_water": "Sea Water Bucket", + "item.tfc.powder.saltpeter": "Saltpeter Powder", + "item.tfc.powder.sulfur": "Sulfur Powder", + "tfc.jei.raw_hide_knapping": "Raw Hide Knapping", + "metal.tfg.redstone": "Redstone", + "metal.tfg.red_alloy": "Red Alloy", + "metal.tfg.tin_alloy": "Tin Alloy" } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/ru_ru.json b/kubejs/assets/tfc/lang/ru_ru.json index d9f775da7..9bc0f17a5 100644 --- a/kubejs/assets/tfc/lang/ru_ru.json +++ b/kubejs/assets/tfc/lang/ru_ru.json @@ -1,8 +1,8 @@ { + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "metal.tfg.redstone": "Красный камень", "metal.tfg.red_alloy": "Красный сплав", "metal.tfg.tin_alloy": "Оловянный сплав", - "block.gtceu.andesite_almandine_ore.prospected": "Альмандин", "block.gtceu.andesite_aluminium_ore.prospected": "Алюминий", "block.gtceu.andesite_alunite_ore.prospected": "Алюнит", @@ -1904,7 +1904,7 @@ "block.gtceu.rhyolite_soapstone_ore.prospected": "Мыльный камень", "block.gtceu.rhyolite_sodalite_ore.prospected": "Содалит", "block.gtceu.rhyolite_spessartine_ore.prospected": "Спессартин", - "block.gtceu.rhyolite_sphalerite_ore.prospected":"Сфалерит", + "block.gtceu.rhyolite_sphalerite_ore.prospected": "Сфалерит", "block.gtceu.rhyolite_spodumene_ore.prospected": "Сподумен", "block.gtceu.rhyolite_stibnite_ore.prospected": "Стибнит", "block.gtceu.rhyolite_sulfur_ore.prospected": "Сера", diff --git a/kubejs/assets/tfc/models/block/metal/smooth_pattern.json b/kubejs/assets/tfc/models/block/metal/smooth_pattern.json new file mode 100644 index 000000000..88de99847 --- /dev/null +++ b/kubejs/assets/tfc/models/block/metal/smooth_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfc:block/metal/smooth_pattern" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/beneath.json new file mode 100644 index 000000000..421097aac --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/beneath.json @@ -0,0 +1,6 @@ +{ + "name": "The Nether...?", + "description": "All about what lies Beneath", + "icon": "minecraft:netherrack", + "sortnum": 10 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_ores.json index 49e3decc8..d58ef1c16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_ores.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_ores.json @@ -1,6 +1,6 @@ -{ - "name": "Ores in TFG", - "description": "TFG has its own ore generation system that's similar to TFC's with the huge but rare veins, but with multiple minerals per vein. This category lists all of the vein types and where to find them.$(br2)Veins are named after their most dominant ore, but most veins contain 3-5 minerals.$(br2)See also: $(l:the_world/geology)Geology$(), $(l:getting_started/finding_ores)Indicators$()", - "icon": "gtceu:raw_pyrite", - "sortnum": 60 +{ + "name": "Ores in TFG", + "description": "TFG has its own ore generation system that's similar to TFC's with the huge but rare veins, but with multiple minerals per vein. This category lists all of the vein types and where to find them.$(br2)Veins are named after their most dominant ore, but most veins contain 3-5 minerals.$(br2)See also: $(l:the_world/geology)Geology$(), $(l:getting_started/finding_ores)Indicators$()", + "icon": "tfc:ore/pyrite", + "sortnum": 60 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_tips.json index eed90bbe8..b3037f006 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/categories/tfg_tips.json @@ -1,6 +1,6 @@ -{ - "name": "TFG Info & Tips", - "description": "Information about things in TerraFirmaGreg that are different from base TFC and GTCEu.", - "icon": "gtceu:basic_electronic_circuit", - "sortnum": 200 -} +{ + "name": "TFG Info & Tips", + "description": "Information about things in TerraFirmaGreg that are different from base TFC and GTCEu.", + "icon": "gtceu:basic_electronic_circuit", + "sortnum": 200 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/making_rubber.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/making_rubber.json new file mode 100644 index 000000000..8937e88e9 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/making_rubber.json @@ -0,0 +1,43 @@ +{ + "name": "Processing Latex", + "category": "tfc:arborfirmacraft", + "icon": "gtceu:sticky_resin", + "pages": [ + { + "type": "patchouli:text", + "text": "So you've gotten some latex by tapping specific tropical trees... congratulations! Latex by itself doesnt do much, but by processing it we can get some very useful byproducts!$(br2)If you havent obtained Latex producing trees, you can look at the $(l:arborfirmacraft/tapping_index)Tapping Index$() entry!" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:sticky_resin", + "title": "A sticky substance", + "link_recipe": true, + "text": "To begin, $(thing)Latex$() needs to be processed in a $(l:firmalife/oven_appliances#vat)Vat$() or a $(l:mechanics/pot)Pot$() with some $(thing)Sulfur Powder$(), this will create $(item)Sticky Resin$()." + }, + { + "type": "patchouli:spotlight", + "title": "Sticky Business", + "item": "gtceu:resin_circuit_board,gtceu:resistor,gtceu:basic_tape", + "text": "$(thing)Sticky Resin$() has a number of uses, thanks to it being well... sticky. It can be used to create multiple items such as $(thing)Tape$() to move crates around, but more importantly, it can be used to create $(thing)Resin Circuit Boards$() and $(thing)Resistors$(), which will be your first electrical components." + }, + { + "type": "patchouli:spotlight", + "title": "Extraction", + "item": "gtceu:raw_rubber_dust", + "text": "Using an $(thing)Extractor$(), you can extract Kapok and Rubber Fig logs into $(thing)Raw Rubber Pulp$(). This pulp can then be placed inside an $(thing)Alloy Smelter$() with a bit of $(thing)Sulfur Dust$() to create $(thing)Rubber Ingots$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rubber_ingot", + "text": "$(thing)Rubber Ingots$() have a number of uses, but mostly to $(bold)insulate$() $(thing)electrical wires$(), making them safe to touch without accidentally electrocuting yourself, as well as reducing their voltage loss." + }, + { + "type": "patchouli:spotlight", + "title": "Conifer Pitch", + "item": "tfg:conifer_pitch_bucket", + "text": "Sticky Resin can also be obtained using $(thing)Conifer Pitch$() from certain $(thing)Coniferous Trees$(), but these trees cannot be used for Rubber." + } + ], + "read_by_default": true, + "sortnum": 3 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json new file mode 100644 index 000000000..cfcd8d059 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json @@ -0,0 +1,143 @@ +{ + "name": "Tapping Index", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/weeping_maple", + "priority": true, + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every tappable tree in the world, sorted alphabetically.$(br)$(thing)Climate Data$() will tell you what Temperature and Rainfall the tree can appear in, while $(thing)Tapping Data$() will tell you details regarding production, flowrate, and whether the tree produces only in Spring." + }, + { + "type": "patchouli:text", + "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)Maple$()$(l:arborfirmacraft/tapping_index#birch)$(li)Birch$()$(l:arborfirmacraft/tapping_index#hevea)$(li)Hevea$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)Rubber Fig$()$(l:arborfirmacraft/tapping_index#kapok)$(li)Kapok$()$(l:arborfirmacraft/tapping_index#aspen)$(li)Aspen$()$(l:arborfirmacraft/tapping_index#spruce)$(li)Spruce$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)White Cedar$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)Douglas Fir$()" + }, + { + "type": "patchouli:spotlight", + "anchor": "maple", + "title": "Maple", + "item": "tfc:wood/log/maple,tfc:wood/wood/maple,tfc:wood/leaves/maple,tfc:wood/sapling/maple", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -8.4°C$(br)$(thing)Maximum Temperature$(): 8°C$(br)$(thing)Minimum Rainfall$(): 240$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -4°C$(br)$(thing)Max Temp for Production$(): 6°C$(br)$(thing)Spring Exclusive$(): Yes$(br)$(thing)Flow Rate$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/maple_tree.png" ], + "text": "$(thing)Produces$(): Maple Sap$(br)$(thing)Processes Into$(): Maple Sugar", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "birch", + "title": "Birch", + "item": "tfc:wood/log/birch,tfc:wood/wood/birch,tfc:wood/leaves/birch,tfc:wood/sapling/birch", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -12.1°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 125$(br)$(thing)Maximum Rainfall$(): 310$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -4°C$(br)$(thing)Max Temp for Production$(): 6°C$(br)$(thing)Spring Exclusive$(): Yes$(br)$(thing)Flow Rate$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/birch_tree.png" ], + "text": "$(thing)Produces$(): Birch Sap$(br)$(thing)Processes Into$(): Birch Sugar", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "hevea", + "title": "Hevea", + "item": "afc:wood/log/hevea,afc:wood/wood/hevea,afc:wood/leaves/hevea,afc:wood/sapling/hevea", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 26.2°C$(br)$(thing)Minimum Rainfall$(): 390$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 22°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/hevea_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "rubber_fig", + "title": "Rubber Fig", + "item": "afc:wood/log/rubber_fig,afc:wood/wood/rubber_fig,afc:wood/leaves/rubber_fig,afc:wood/sapling/rubber_fig", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 9.8°C$(br)$(thing)Maximum Temperature$(): 20.7°C$(br)$(thing)Minimum Rainfall$(): 290$(br)$(thing)Maximum Rainfall$(): 400$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 12°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/rubber_fig_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "kapok", + "title": "Kapok", + "item": "tfc:wood/log/kapok,tfc:wood/wood/kapok,tfc:wood/leaves/kapok,tfc:wood/sapling/kapok", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 38°C$(br)$(thing)Minimum Rainfall$(): 320$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 1°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 1mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/kapok_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "aspen", + "title": "Aspen", + "item": "tfc:wood/log/aspen,tfc:wood/wood/aspen,tfc:wood/leaves/aspen,tfc:wood/sapling/aspen", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): -1.1°C$(br)$(thing)Minimum Rainfall$(): 350$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/aspen_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "spruce", + "title": "Spruce", + "item": "tfc:wood/log/spruce,tfc:wood/wood/spruce,tfc:wood/leaves/spruce,tfc:wood/sapling/spruce", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -17.5°C$(br)$(thing)Maximum Temperature$(): -6.6°C$(br)$(thing)Minimum Rainfall$(): 220$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 4mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/spruce_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "white_cedar", + "title": "White Cedar", + "item": "tfc:wood/log/white_cedar,tfc:wood/wood/white_cedar,tfc:wood/leaves/white_cedar,tfc:wood/sapling/white_cedar", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 0.7°C$(br)$(thing)Minimum Rainfall$(): 100$(br)$(thing)Maximum Rainfall$(): 285$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/white_cedar_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "douglas_fir", + "title": "Douglas Fir", + "item": "tfc:wood/log/douglas_fir,tfc:wood/wood/douglas_fir,tfc:wood/leaves/douglas_fir,tfc:wood/sapling/douglas_fir", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 305$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/douglas_fir_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tree_tapping.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tree_tapping.json new file mode 100644 index 000000000..6e6661bc3 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tree_tapping.json @@ -0,0 +1,34 @@ +{ + "name": "Tapping Trees", + "category": "tfc:arborfirmacraft", + "icon": "afc:tree_tap", + "pages": [ + { + "type": "patchouli:text", + "text": "Some types of trees can be tapped for useful fluids. These trees can either produce sugary saps which can be concentrated into syrup and used as a sweetener, Latex which can be processed into rubber, or Pitch which can be processed into rosin, a wax substitute." + }, + { + "type": "patchouli:image", + "title": "Tapping a Maple Tree", + "images": [ + "afc:textures/gui/book/maple_tapping.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "Three things are required to tap a tree: the tree itself, a tree tap, which must forged from a Copper Ingot and placed in the middle of a trunk at least three blocks tall, and a barrel, which must be placed directly below the tap facing upward. If the conditions are right, your barrel will immediately begin to fill with sap." + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/tree_tapping/tapping_kapok.png"], + "text": "A valid tapping configuration used to extract Latex from Kapok", + "border": true + } + ], + "read_by_default": true, + "sortnum": 1, + "extra_recipe_mappings": { + "afc:tree_tap": 0 + } +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/beneath.json new file mode 100644 index 000000000..200e63ae5 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/beneath.json @@ -0,0 +1,23 @@ +{ + "name": "What is the Beneath?", + "category": "tfc:beneath", + "icon": "minecraft:deepslate", + "priority": true, + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Beneath$() is a network of very deep caves, directly below the Overworld.$(br)This dimension is balanced around mid to late $(thing)Primitive Age$(). It's more dangerous than the surface, so we recommend a full set of bronze armor and a metal shield as a minimum, as well as plenty of food, water, and other tools." + }, + { + "type": "patchouli:text", + "text": "It differs from the usual Nether experience in a few ways:$(li)You enter it $(l:beneath/beneath#entering)differently$()$(li)Water doesn't instantly evaporate$(li)A bed works like normal$(li)Traveling Beneath is no faster than in the Overworld$(br2)In return, you can find resources like $(thing)Kaolin Clay$(), $(thing)Graphite$(), richer and more exposed $(thing)ore veins$(), as well as other treasures." + }, + { + "type": "patchouli:text", + "anchor": "entering", + "title": "Entering the Beneath", + "text": "To travel Beneath, simply stand on overworld bedrock for a little while.$(br)To return, stand directly below the ceiling bedrock in the same fashion.$(br2)It's a good idea to $(thing)make a note$() of where you entered, so you can return to the same place in the overworld whenever you're ready to leave." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/biomes.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/biomes.json new file mode 100644 index 000000000..de3407b1f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/biomes.json @@ -0,0 +1,75 @@ +{ + "name": "Biomes", + "category": "tfc:beneath", + "icon": "minecraft:spyglass", + "pages": [ + { + "type": "patchouli:text", + "text": "The Beneath has a full set of new biomes to explore! Most are split into two categories: $(thing)upper$() and $(thing)lower$(). The upper biomes are only found higher up, while the lower ones are closer to the lava." + }, + { + "type": "patchouli:image", + "title": "Lush Hollow", + "images": [ + "tfg:textures/gui/field_guide/nether/lush_hollow.png" + ], + "border": true, + "text": "Humid and full of greenery! The most hospitable area for an underground base." + }, + { + "type": "patchouli:image", + "title": "Decaying Caverns", + "images": [ + "tfg:textures/gui/field_guide/nether/decaying_caverns.png" + ], + "border": true, + "text": "Nature's recyclers are hard at work in this damp region full of rot." + }, + { + "type": "patchouli:image", + "title": "Webbed Lair", + "images": [ + "tfg:textures/gui/field_guide/nether/webbed_lair.png" + ], + "border": true, + "text": "No prizes for guessing what lives here! Also features huge $(thing)Travertine$() pillars." + }, + { + "type": "patchouli:image", + "title": "Ash Forest", + "images": [ + "tfg:textures/gui/field_guide/nether/ash_forest.png" + ], + "border": true, + "text": "What remains of the Lush Hollow after the frequent fires caused by the heat." + }, + { + "type": "patchouli:image", + "title": "Lava Floes", + "images": [ + "tfg:textures/gui/field_guide/nether/lava_floes.png" + ], + "border": true, + "text": "An ore-rich $(thing)Pyroxenite$() area crisscrossed with rivers of lava." + }, + { + "type": "patchouli:image", + "title": "Basalt Deltas", + "images": [ + "tfg:textures/gui/field_guide/nether/basalt_deltas.png" + ], + "border": true, + "text": "Everyone's favourite nether biome returns, and is just as dangerous to navigate as ever." + }, + { + "type": "patchouli:image", + "title": "Deep Caves", + "images": [ + "tfg:textures/gui/field_guide/nether/deep_caves.png" + ], + "border": true, + "text": "Between the other biomes are more plain areas of either Gabbro, Schist, Granite, Diorite, and Gneiss.$(br)" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/burpflower.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/burpflower.json new file mode 100644 index 000000000..b1b456690 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/burpflower.json @@ -0,0 +1,16 @@ +{ + "name": "Burpflowers", + "category": "tfc:beneath", + "icon": "beneath:burpflower", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Burpflower$() has the power to change blocks into other blocks. It can be found all around the Beneath. The Burpflower has a facing direction, which is the direction that it performs the action in. Behind it, place $(thing)Sulfur Powder$() to charge it." + }, + { + "type": "patchouli:text", + "text": "Soon, if there is sulfur, the burpflower will charge, and have a yellow sulfuric flower. It then soon will make a burping sound and expel sulfuric smoke.$(br2)$(item)Shroomlights$() can be changed into a random $(thing)Froglight$()." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json new file mode 100644 index 000000000..1cfa7acda --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json @@ -0,0 +1,49 @@ +{ + "name": "Temperature Management", + "category": "tfc:beneath", + "icon": "minecraft:ice", + "pages": [ + { + "type": "patchouli:text", + "text": "The Beneath is hot! The temperature starts at 15C at the very top, and only gets hotter as you descend.$(br2)$(item)Burlap$() and $(item)Silk$() clothing will help, but here are some other ways to stay cool!" + }, + { + "type": "patchouli:spotlight", + "item": "minecraft:water_bucket", + "title": "Water", + "text": "Water can be found all over the upper levels of the Beneath. Taking a quick dip can cool you off fast!" + }, + { + "type": "patchouli:spotlight", + "title": "Ice", + "item": "minecraft:packed_ice", + "text": "Bring along some $(thing)Ice$()! Standing near it will lower the ambient temperature. Ice can be harvested on the surface using a $(item)Saw$(), and $(thing)Packed$() and $(thing)Blue$() ice won't melt." + }, + { + "type": "patchouli:spotlight", + "title": "Blue Steel Equipment", + "item": "create:netherite_diving_helmet,create:netherite_backtank,minecraft:netherite_leggings,create:netherite_diving_boots", + "text": "Looking for something more permanent? The $(thing)Blue Steel Diving Set$() will keep your temperature capped at 28C, and lets you swim in lava too!$(br2)$(item)Lavaproof Hides$() can be obtained from the native $(thing)Red Elk$() or looted from Bastions." + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_diving_helmet", + "recipe2": "tfg:create/shaped/netherite_diving_helmet_upgrade" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_backtank", + "recipe2": "tfg:create/shaped/netherite_backtank_upgrade" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:minecraft/shaped/netherite_leggings" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_diving_boots", + "recipe2": "tfg:create/shaped/netherite_diving_boots_upgrade" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json new file mode 100644 index 000000000..a677605ba --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json @@ -0,0 +1,23 @@ +{ + "name": "Unique Blocks", + "category": "tfc:beneath", + "icon": "beneath:blackstone_aqueduct", + "pages": [ + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/blackstone_aqueduct", + "text": "The Pyroxenite Aqueduct allows lava to be conducted at any distance." + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:shapeless/hellbricks_from_soot", + "text": "Hellbricks are a building block that are also used for the Hellforge." + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/blackstone_brick", + "text": "Migmatite and Pyroxenite bricks are made like regular bricks, and that includes needing to create the brick item." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/hellforge.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/hellforge.json new file mode 100644 index 000000000..2e297d512 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/hellforge.json @@ -0,0 +1,50 @@ +{ + "name": "The Hellforge", + "category": "tfc:beneath", + "icon": "beneath:cursecoal", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Hellforge$() is a gratuitously large forge, with high capacity for fuel, products, and heating. It is constructed from Hellbricks, $(l:beneath/ores_and_minerals#cursecoal)Anthracite$(), and Pyroxenite Aqueducts." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "ZXXXZ", + "XYYYX", + "XY0YX", + "XYYYX", + "ZXXXZ" + ], + [ + " ", + " XXX ", + " XXX ", + " XXX ", + " " + ] + ], + "mapping": { + "Z": "beneath:blackstone_aqueduct[fluid=lava]", + "Y": "beneath:hellforge_side", + "0": "beneath:hellforge", + "X": "beneath:hellbricks" + } + }, + "name": "Hellforge", + "text": "", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "The Hellforge requires lava to flow in aqueducts in its four corners, as well as 21 hellbricks. The 3x3 center must be filled with $(l:beneath/ores_and_minerals#cursecoal)Anthracite$() piles, which then may be lit to start the forge." + }, + { + "type": "patchouli:text", + "text": "The item slots of the Hellforge may contain fuel, or things to be smelted; there is no distinction. Be careful what you put in! There are also slots for melting things, as with the charcoal forge. The lava meter on the screen indicates temperature (as well as the visual movement of its items in world)." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json new file mode 100644 index 000000000..5f8505451 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json @@ -0,0 +1,70 @@ +{ + "name": "Ores and Minerals", + "category": "tfc:beneath", + "icon": "beneath:ore/normal_nether_gold", + "pages": [ + { + "type": "patchouli:text", + "text": "The ores you can find Beneath are mostly similar to what you can find on the surface, but with a few changes. Consult the $(l:tfg_ores)Ores in TFG$() category for exact details." + }, + { + "type": "patchouli:spotlight", + "title": "Migmatite", + "item": { "tag": "forge:ores_in_ground/deepslate" }, + "text": "The most common rock type found is Migmatite. This deep metamorphic rock contains a wide variety of ores you'd normally find in other rock types on the surface." + }, + { + "type": "patchouli:spotlight", + "title": "Travertine", + "item": { "tag": "forge:ores_in_ground/dripstone" }, + "text": "In wetter areas, you may find $(thing)Travertine$(). It is a sedimentary rock that can contain the same kind of ores as Migmatite." + }, + { + "type": "patchouli:spotlight", + "title": "Pyroxenite", + "item": { "tag": "forge:ores_in_ground/pyroxenite" }, + "text": "Around the deepest level of the Beneath, the different rock types gradually all turn into $(thing)Pyroxenite$(). This ultramafic igneous rock is extremely rich in ores, but this depth also comes with extreme heat, so be prepared!" + }, + { + "type": "patchouli:multiblock", + "anchor": "cursecoal", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "beneath:ore/nether_cursecoal" + } + }, + "name": "Anthracite", + "text": "Anthracite is a powerful $(l:beneath/hellforge)fuel$(). It can be found in Migmatite in the upper half of the Beneath.", + "enable_visualize": false + }, + { + "type": "patchouli:multiblock", + "anchor": "sylvite", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "beneath:ore/blackstone_sylvite" + } + }, + "name": "Sylvite", + "text": "Sylvite is a fertiliser that can be found in Pyroxenite in the lower half of the Beneath.", + "enable_visualize": false + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json new file mode 100644 index 000000000..5f3ef8818 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json @@ -0,0 +1,34 @@ +{ + "name": "Piglins", + "category": "tfc:beneath", + "icon": "minecraft:gold_ingot", + "pages": [ + { + "type": "patchouli:text", + "title": "Piglin Bartering", + "text": "Like you'd expect, you can trade with $(thing)Piglins$() in the same way you trade with them in vanilla, with $(item)Gold Ingots$()." + }, + { + "type": "patchouli:entity", + "entity": "minecraft:piglin", + "scale": 0.9, + "name": "Piglin", + "text": "You can find Piglins in almost every biome throughout the Beneath." + }, + { + "type": "patchouli:text", + "title": "Trade Results", + "text": "$(li)3-9 String$(li)6-12 Sticks$(li)4-8 Charcoal$(li)5-12 Nether Quartz$(li)1-3 Tin Ingots$(li)1-3 Copper Ingots$(li)1-2 Leather$(li)8-12 Pyroxenite Bricks$(li)8-12 Migmatite Bricks" + }, + { + "type": "patchouli:text", + "text": "$(li)6-12 Arrows$(li)4-12 Flux$(li)1-2 Raw Graphite$(li)4-8 Sulfur Powder$(li)2-4 Kaolin Clay$(li)4-8 Mangrove Lumber$(li)2-4 Mangrove Logs$(li)2-4 Cooked Venison$(li)8-16 Glow Berries$(li)2-4 Ghost Peppers$(li)2-4 Glowstone Dust" + }, + { + "type": "patchouli:text", + "title": "Bastions", + "text": "Raiding a $(thing)Bastion$() might be very dangerous, but they can also be very rewarding! You can find things like:$(li)Gold, Rose Gold, Pig Iron, Black Bronze, and Silver ingots$(li)Black Bronze weapons, tools, and armor$(li)Kaolin clay and graphite$(li)Permanent light sources$(li)Cloth, leather, seeds, and food$(li)And other treasures!" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/unposter.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/unposter.json new file mode 100644 index 000000000..9ccd658cb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/unposter.json @@ -0,0 +1,16 @@ +{ + "name": "The Unposter", + "category": "tfc:beneath", + "icon": "beneath:unposter", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Unposter$() is used to grow mushrooms. Mushrooms and nether crops can be deposited into it. When it is by a mushroom, it will consume the items inside to multiply that mushroom in the area around it, once a day." + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/unposter" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/water.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/water.json new file mode 100644 index 000000000..c836c8987 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/water.json @@ -0,0 +1,21 @@ +{ + "name": "Staying Hydrated", + "category": "tfc:beneath", + "icon": "beneath:juicer", + "pages": [ + { + "type": "patchouli:text", + "text": "Unlike the Nether, water will not instantly evaporate when you are in the Beneath. However, there is also the option of crafting a $(thing)Juicer$()." + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/juicer", + "text": "The juicer is a drinking vessel that allows the compression of $(thing)Mushrooms$() and $(thing)Fruit$() into water. The single-slot user interface automatically processes inserted mushrooms into water." + }, + { + "type": "patchouli:text", + "text": "These mushrooms spawn all over the Beneath. Fresh fruits (such as $(thing)Glow Berries$()) may also be squeezed into water.$(br2)You can also find water and $(thing)Hot Springs$() in the upper areas of the Beneath." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/stainless_steel.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/stainless_steel.json deleted file mode 100644 index 7f1e426f4..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/stainless_steel.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "Stainless Steel", - "icon": "firmalife:metal/ingot/stainless_steel", - "category": "tfc:firmalife", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:spotlight", - "item": "gtceu:stainless_steel_ingot", - "title": "Stainless Steel", - "text": "This page is here to override the default Firmalife stainless steel page.$(br2)Stainless Steel is a GregTech $(thing)HV$() material, so it's not craftable with primitive age tools like it normally is with Firmalife.$(br)The stainless steel greenhouse isn't craftable either. Sorry!" - } - ] -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/introduction.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/introduction.json new file mode 100644 index 000000000..3e990232b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/introduction.json @@ -0,0 +1,168 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Introduction", + "category": "tfc:getting_started", + "icon": "tfc:rock/loose/granite", + "pages": [ + { + "type": "patchouli:text", + "text": "In TerraFirmaCraft, the first things you can obtain are sticks, twigs, and loose rocks. They can be found in almost every climate, lying scattered on the ground. $(item)$(k:key.use)$() or break these to pick them up." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "1 ", + " 2 4", + " 03 ", + " 4 ", + " 5" + ], + [ + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG" + ] + ], + "mapping": { + "G": "tfc:grass/sandy_loam", + "1": "tfc:rock/loose/granite[count=1]", + "2": "tfc:rock/loose/granite[count=2]", + "3": "tfc:rock/loose/granite[count=3]", + "4": "tfc:groundcover/stick", + "5": "tfc:wood/twig/ash" + } + }, + "name": "Example", + "text": "A smattering of common sticks and stones.", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "In addition to gathering sticks and twigs on the ground, sticks can also be obtained by breaking leaves with your fist. Once you have a number of rocks and sticks, you are ready to start $(thing)Knapping$(). Knapping is a process where two rocks are hit together, to form a particular shape. In order to knap, first hold at least two rocks in your hand, then right click in the air, which will open up the $(thing)Knapping Interface$()." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/rock_knapping.png" + ], + "text": "The Knapping Interface.", + "border": false + }, + { + "type": "patchouli:text", + "text": "In order to knap a particular item, you want to remove squares until you form the desired pattern. For example, create a knife blade by matching the recipe shown to the right.$(br2)Like crafting recipes, the location of the desired pattern doesn't matter for the output, and some recipes have multiple variants that are valid." + }, + { + "type": "tfc:rock_knapping_recipe", + "anchor": "knife", + "recipes": [ + "tfg:rock_knapping/stone_knife_head", + "tfg:rock_knapping/stone_knife_head_1", + "tfg:rock_knapping/stone_knife_head_2", + "tfg:rock_knapping/stone_knife_head_3" + ], + "text": "A knife blade, crafted from several different rock types." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/stone/knife_sedimentary", + "text": "All stone tool heads can be crafted with a stick or twig to assemble them into a tool.$(br2)The stone knife can be used to harvest $(thing)Straw$() by breaking plants." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_axe_head" + ], + "text": "$(thing)Axes$() can be used to cut down entire trees, logs and leaves included. However, saplings and sticks will only be obtained if leaves were broken individually." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_shovel_head" + ], + "text": "$(thing)Shovels$() can be used to dig soil type blocks. They can also be used to create $(thing)Paths$() by $(item)using$() them on $(thing)Dirt$() or $(thing)Grass$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head", + "tfg:rock_knapping/stone_hoe_head_1", + "tfg:rock_knapping/stone_hoe_head_2" + ], + "text": "$(thing)Hoes$() are useful tools for $(l:mechanics/crops)Farming$(), but they can also be used to cut down leaves and other plant matter." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hammer_head" + ], + "text": "$(thing)Hammers$() can be used as $(l:mechanics/damage_types)Crushing$() weapons, but are more important tools used for $(l:getting_started/primitive_anvils)Forging$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfc:rock_knapping/javelin_head_sedimentary", + "tfc:rock_knapping/javelin_head_metamorphic", + "tfc:rock_knapping/javelin_head_igneous_extrusive", + "tfc:rock_knapping/javelin_head_igneous_intrusive" + ], + "text": "Finally, a $(thing)Javelin$() can be used as a primitive weapon, capable of being thrown at targets, or used as a $(l:mechanics/damage_types)Piercing$() weapon." + } + ], + "read_by_default": true, + "sortnum": 0, + "extra_recipe_mappings": { + "tfc:stone/knife_head/sedimentary": 5, + "tfc:stone/knife_head/metamorphic": 5, + "tfc:stone/knife_head/igneous_extrusive": 5, + "tfc:stone/knife_head/igneous_intrusive": 5, + "tfc:stone/knife/sedimentary": 5, + "tfc:stone/knife/metamorphic": 5, + "tfc:stone/knife/igneous_extrusive": 5, + "tfc:stone/knife/igneous_intrusive": 5, + "tfc:stone/axe_head/sedimentary": 7, + "tfc:stone/axe_head/metamorphic": 7, + "tfc:stone/axe_head/igneous_extrusive": 7, + "tfc:stone/axe_head/igneous_intrusive": 7, + "tfc:stone/axe/sedimentary": 7, + "tfc:stone/axe/metamorphic": 7, + "tfc:stone/axe/igneous_extrusive": 7, + "tfc:stone/axe/igneous_intrusive": 7, + "tfc:stone/shovel_head/sedimentary": 8, + "tfc:stone/shovel_head/metamorphic": 8, + "tfc:stone/shovel_head/igneous_extrusive": 8, + "tfc:stone/shovel_head/igneous_intrusive": 8, + "tfc:stone/shovel/sedimentary": 8, + "tfc:stone/shovel/metamorphic": 8, + "tfc:stone/shovel/igneous_extrusive": 8, + "tfc:stone/shovel/igneous_intrusive": 8, + "tfc:stone/hoe_head/sedimentary": 9, + "tfc:stone/hoe_head/metamorphic": 9, + "tfc:stone/hoe_head/igneous_extrusive": 9, + "tfc:stone/hoe_head/igneous_intrusive": 9, + "tfc:stone/hoe/sedimentary": 9, + "tfc:stone/hoe/metamorphic": 9, + "tfc:stone/hoe/igneous_extrusive": 9, + "tfc:stone/hoe/igneous_intrusive": 9, + "tfc:stone/hammer_head/sedimentary": 10, + "tfc:stone/hammer_head/metamorphic": 10, + "tfc:stone/hammer_head/igneous_extrusive": 10, + "tfc:stone/hammer_head/igneous_intrusive": 10, + "tfc:stone/hammer/sedimentary": 10, + "tfc:stone/hammer/metamorphic": 10, + "tfc:stone/hammer/igneous_extrusive": 10, + "tfc:stone/hammer/igneous_intrusive": 10, + "tfc:stone/javelin_head/sedimentary": 11, + "tfc:stone/javelin_head/metamorphic": 11, + "tfc:stone/javelin_head/igneous_extrusive": 11, + "tfc:stone/javelin_head/igneous_intrusive": 11, + "tfc:stone/javelin/sedimentary": 11, + "tfc:stone/javelin/metamorphic": 11, + "tfc:stone/javelin/igneous_extrusive": 11, + "tfc:stone/javelin/igneous_intrusive": 11 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/glassworking_applications.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/glassworking_applications.json index 033f96877..2825726b8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/glassworking_applications.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/glassworking_applications.json @@ -414,7 +414,6 @@ "read_by_default": true, "extra_recipe_mappings": { "tag:tfc:glass_batches": 1, - "tag:c:glass_panes": 2, - "tag:c:glass_blocks": 4 + "tag:forge:glass": 2 } } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_amethyst.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_amethyst.json index b21a18f9e..7a1c44716 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_amethyst.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_amethyst.json @@ -1,56 +1,56 @@ -{ - "name": "Amethyst & Garnet", - "icon": "minecraft:amethyst_shard", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 230$(br)Density: 0.25$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br)Height: 8$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Amethyst, Red Garnet, Yellow Garnet, Opal Buds" - }, - { - "type": "patchouli:multiblock", - "name": "Amethyst", - "multiblock": - { - "mapping": { "0": "#forge:ores/amethyst" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 65%$(br)Source of: Iron$(br)Formula: (SiO₂)₄Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Opal", - "multiblock": - { - "mapping": { "0": "#forge:ores/opal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Formula: (SiO₂)" - }, - { - "type": "patchouli:multiblock", - "name": "Red Garnet", - "multiblock": - { - "mapping": { "0": "#forge:ores/red_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Source of: Pyrope, Almandine, Spessartine" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Garnet", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Andradite, Grossular, Uvarovite" - } - ] -} +{ + "name": "Amethyst & Garnet", + "icon": "minecraft:amethyst_shard", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 230$(br)Density: 0.25$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br)Height: 8$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Amethyst, Red Garnet, Yellow Garnet, Opal Buds" + }, + { + "type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": + { + "mapping": { "0": "#forge:ores/amethyst" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 65%$(br)Source of: Iron$(br)Formula: (SiO₂)₄Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Opal", + "multiblock": + { + "mapping": { "0": "#forge:ores/opal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Formula: (SiO₂)" + }, + { + "type": "patchouli:multiblock", + "name": "Red Garnet", + "multiblock": + { + "mapping": { "0": "#forge:ores/red_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Source of: Pyrope, Almandine, Spessartine" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Garnet", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Andradite, Grossular, Uvarovite" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_opal.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_opal.json index 7c21ffc0c..4eccfcda8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_opal.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_garnet_opal.json @@ -1,56 +1,56 @@ -{ - "name": "Opal & Garnet", - "icon": "gtceu:opal_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Disc Vein$(br)Y: -64 - 62$(br)Size: 26$(br)Height: 6$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Amethyst, Red Garnet, Yellow Garnet, Opal Buds" - }, - { - "type": "patchouli:multiblock", - "name": "Opal", - "multiblock": - { - "mapping": { "0": "#forge:ores/opal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 55%$(br)Formula: (SiO₂)" - }, - { - "type": "patchouli:multiblock", - "name": "Amethyst", - "multiblock": - { - "mapping": { "0": "#forge:ores/amethyst" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Iron$(br)Formula: (SiO₂)₄Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Red Garnet", - "multiblock": - { - "mapping": { "0": "#forge:ores/red_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Source of: Pyrope, Almandine, Spessartine" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Garnet", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Andradite, Grossular, Uvarovite" - } - ] -} +{ + "name": "Opal & Garnet", + "icon": "gtceu:opal_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Disc Vein$(br)Y: -64 - 62$(br)Size: 26$(br)Height: 6$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Amethyst, Red Garnet, Yellow Garnet, Opal Buds" + }, + { + "type": "patchouli:multiblock", + "name": "Opal", + "multiblock": + { + "mapping": { "0": "#forge:ores/opal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 55%$(br)Formula: (SiO₂)" + }, + { + "type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": + { + "mapping": { "0": "#forge:ores/amethyst" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Iron$(br)Formula: (SiO₂)₄Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Red Garnet", + "multiblock": + { + "mapping": { "0": "#forge:ores/red_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Source of: Pyrope, Almandine, Spessartine" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Garnet", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Andradite, Grossular, Uvarovite" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_gold.json index 8d70e6a94..bbdeb13b0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_gold.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_gold.json @@ -1,56 +1,56 @@ -{ - "name": "Gold (Deep)", - "icon": "gtceu:rich_raw_gold", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 260$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 32$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Limonite, Hematite, Native Gold" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 75%$(br)Melts into: Gold$(br)Formula: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - } - ] +{ + "name": "Gold (Deep)", + "icon": "gtceu:rich_raw_gold", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 260$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 32$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Limonite, Hematite, Native Gold" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 75%$(br)Melts into: Gold$(br)Formula: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_hematite.json index 62918bd34..f0c2f745f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_hematite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_hematite.json @@ -1,67 +1,67 @@ -{ - "name": "Hematite, Goethite, & Ruby", - "icon": "gtceu:rich_raw_hematite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Hematite, Limonite, Native Gold" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Gold$(br)Formula: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Ruby", - "multiblock": - { - "mapping": { "0": "#forge:ores/ruby" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Chromium, Aluminium$(br)Formula: CrAl₂O₃" - } - ] +{ + "name": "Hematite, Goethite, & Ruby", + "icon": "gtceu:rich_raw_hematite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Hematite, Limonite, Native Gold" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Gold$(br)Formula: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Ruby", + "multiblock": + { + "mapping": { "0": "#forge:ores/ruby" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Chromium, Aluminium$(br)Formula: CrAl₂O₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_limonite.json index 81242a699..21cf95097 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_limonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_limonite.json @@ -1,56 +1,56 @@ -{ - "name": "Goethite & Malachite", - "icon": "gtceu:rich_raw_goethite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 240$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 32$(br2)Stone types: Marble, Limestone$(br2)Indicator: Limonite, Hematite, Malachite" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Malachite", - "multiblock": - { - "mapping": { "0": "#forge:ores/malachite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: Cu₂CH₂O₅" - } - ] +{ + "name": "Goethite & Malachite", + "icon": "gtceu:rich_raw_goethite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 240$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 32$(br2)Stone types: Marble, Limestone$(br2)Indicator: Limonite, Hematite, Malachite" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Malachite", + "multiblock": + { + "mapping": { "0": "#forge:ores/malachite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: Cu₂CH₂O₅" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_magnetite.json index 279280f36..f47ab03a3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_magnetite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_magnetite.json @@ -1,67 +1,67 @@ -{ - "name": "Chromite & Magnetite", - "icon": "gtceu:rich_raw_chromite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 205$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 340$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Magnetite, Native Gold, Chromite, Sapphire" - }, - { - "type": "patchouli:multiblock", - "name": "Chromite", - "multiblock": - { - "mapping": { "0": "#forge:ores/chromite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 60%$(br)Source of: Chromium$(br)Formula: FeCr₂O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Magnetite", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: Fe₃O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Vanadium Magnetite", - "multiblock": - { - "mapping": { "0": "#forge:ores/vanadium_magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Iron, Vanadium$(br)Formula: (Fe₃O₄)V" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Gold$(br)Formula: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Sapphire", - "multiblock": - { - "mapping": { "0": "#forge:ores/sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" - } - ] +{ + "name": "Chromite & Magnetite", + "icon": "gtceu:rich_raw_chromite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 205$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - 30$(br)Size: 340$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Magnetite, Native Gold, Chromite, Sapphire" + }, + { + "type": "patchouli:multiblock", + "name": "Chromite", + "multiblock": + { + "mapping": { "0": "#forge:ores/chromite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 60%$(br)Source of: Chromium$(br)Formula: FeCr₂O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Magnetite", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: Fe₃O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Vanadium Magnetite", + "multiblock": + { + "mapping": { "0": "#forge:ores/vanadium_magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Iron, Vanadium$(br)Formula: (Fe₃O₄)V" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Gold$(br)Formula: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Sapphire", + "multiblock": + { + "mapping": { "0": "#forge:ores/sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_molybdenum.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_molybdenum.json index 57fe98430..e4f7d06db 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_molybdenum.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_molybdenum.json @@ -1,56 +1,56 @@ -{ - "name": "Wulfenite & Molybdenite", - "icon": "gtceu:rich_raw_wulfenite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 245$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - 10$(br)Size: 26$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Wulfenite, Molybdenite, Molybdenum, Powellite" - }, - { - "type": "patchouli:multiblock", - "name": "Wulfenite", - "multiblock": - { - "mapping": { "0": "#forge:ores/wulfenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Source of: Lead, Molybdenum$(br)Formula: PbMoO₄$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Molybdenite", - "multiblock": - { - "mapping": { "0": "#forge:ores/molybdenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: Molybdenum$(br)Formula: MoS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Molybdenum", - "multiblock": - { - "mapping": { "0": "#forge:ores/molybdenum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Molybdenum$(br)Formula: Mo" - }, - { - "type": "patchouli:multiblock", - "name": "Powellite", - "multiblock": - { - "mapping": { "0": "#forge:ores/powellite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Molybdenum$(br)Formula: CaMoO₄" - } - ] +{ + "name": "Wulfenite & Molybdenite", + "icon": "gtceu:rich_raw_wulfenite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 245$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - 10$(br)Size: 26$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Wulfenite, Molybdenite, Molybdenum, Powellite" + }, + { + "type": "patchouli:multiblock", + "name": "Wulfenite", + "multiblock": + { + "mapping": { "0": "#forge:ores/wulfenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Source of: Lead, Molybdenum$(br)Formula: PbMoO₄$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Molybdenite", + "multiblock": + { + "mapping": { "0": "#forge:ores/molybdenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: Molybdenum$(br)Formula: MoS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Molybdenum", + "multiblock": + { + "mapping": { "0": "#forge:ores/molybdenum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Molybdenum$(br)Formula: Mo" + }, + { + "type": "patchouli:multiblock", + "name": "Powellite", + "multiblock": + { + "mapping": { "0": "#forge:ores/powellite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Molybdenum$(br)Formula: CaMoO₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_naquadah.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_naquadah.json index d8338a814..11b22ddb6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_naquadah.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_naquadah.json @@ -1,34 +1,34 @@ -{ - "name": "Naquadah & Plutonium", - "icon": "gtceu:rich_raw_naquadah", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 310$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - -20$(br)Size: 32$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Naquadah, Plutonium" - }, - { - "type": "patchouli:multiblock", - "name": "Naquadah", - "multiblock": - { - "mapping": { "0": "#forge:ores/naquadah" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 75%$(br)Source of: Stargatium$(br)Formula: Nq" - }, - { - "type": "patchouli:multiblock", - "name": "Plutonium", - "multiblock": - { - "mapping": { "0": "#forge:ores/plutonium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Plutonium$(br)Formula: Pu²³⁹$(br)Hazardous: Yes" - } - ] +{ + "name": "Naquadah & Plutonium", + "icon": "gtceu:rich_raw_naquadah", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 310$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - -20$(br)Size: 32$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Naquadah, Plutonium" + }, + { + "type": "patchouli:multiblock", + "name": "Naquadah", + "multiblock": + { + "mapping": { "0": "#forge:ores/naquadah" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 75%$(br)Source of: Stargatium$(br)Formula: Nq" + }, + { + "type": "patchouli:multiblock", + "name": "Plutonium", + "multiblock": + { + "mapping": { "0": "#forge:ores/plutonium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Plutonium$(br)Formula: Pu²³⁹$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_pitchblende.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_pitchblende.json index f27bb7b45..6192eda84 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_pitchblende.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_pitchblende.json @@ -1,34 +1,34 @@ -{ - "name": "Uraninite & Pitchblende", - "icon": "gtceu:rich_raw_uraninite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 220$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - -20$(br)Size: 24$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Pitchblende, Uraninite$(br2)There's no fission reactors in TFG, but Uranium has other uses." - }, - { - "type": "patchouli:multiblock", - "name": "Uraninite", - "multiblock": - { - "mapping": { "0": "#forge:ores/uraninite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Source of: Uranium$(br)Formula: UO₂$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Pitchblende", - "multiblock": - { - "mapping": { "0": "#forge:ores/pitchblende" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Source of: Uranium$(br)Formula: (UO₂)₃ThPb$(br)Hazardous: Yes" - } - ] +{ + "name": "Uraninite & Pitchblende", + "icon": "gtceu:rich_raw_uraninite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 220$(br)Density: 0.45$(br)Type: Cluster Vein$(br)Y: -64 - -20$(br)Size: 24$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Pitchblende, Uraninite$(br2)There's no fission reactors in TFG, but Uranium has other uses." + }, + { + "type": "patchouli:multiblock", + "name": "Uraninite", + "multiblock": + { + "mapping": { "0": "#forge:ores/uraninite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Source of: Uranium$(br)Formula: UO₂$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Pitchblende", + "multiblock": + { + "mapping": { "0": "#forge:ores/pitchblende" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Source of: Uranium$(br)Formula: (UO₂)₃ThPb$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sapphire.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sapphire.json index 3d8532da5..00dda8fc9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sapphire.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sapphire.json @@ -1,58 +1,58 @@ -{ - "name": "Sapphire & Almandine", - "icon": "gtceu:sapphire_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 180$(br)Density: 0.35$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br)Height: 8$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Almandine, Pyrope, Sapphire, Green Sapphire$(br2)If you're looking for $(thing)Aluminium$(), find a $(l:tfg_ores/normal_bauxite)Bauxite$() vein instead.$(br)" - }, - { - "type": "patchouli:multiblock", - "name": "Almandine", - "anchor": "almandine", - "multiblock": - { - "mapping": { "0": "#forge:ores/almandine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Aluminium, Iron$(br)Formula: Al₂Fe₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrope", - "anchor": "pyrope", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrope" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Aluminium, Magnesium$(br)Formula: Al₂Mg₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Sapphire", - "multiblock": - { - "mapping": { "0": "#forge:ores/sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Green Sapphire", - "multiblock": - { - "mapping": { "0": "#forge:ores/green_sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" - } - ] -} +{ + "name": "Sapphire & Almandine", + "icon": "gtceu:sapphire_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 180$(br)Density: 0.35$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br)Height: 8$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Almandine, Pyrope, Sapphire, Green Sapphire$(br2)If you're looking for $(thing)Aluminium$(), find a $(l:tfg_ores/normal_bauxite)Bauxite$() vein instead.$(br)" + }, + { + "type": "patchouli:multiblock", + "name": "Almandine", + "anchor": "almandine", + "multiblock": + { + "mapping": { "0": "#forge:ores/almandine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Aluminium, Iron$(br)Formula: Al₂Fe₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrope", + "anchor": "pyrope", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrope" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Aluminium, Magnesium$(br)Formula: Al₂Mg₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Sapphire", + "multiblock": + { + "mapping": { "0": "#forge:ores/sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Green Sapphire", + "multiblock": + { + "mapping": { "0": "#forge:ores/green_sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_scheelite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_scheelite.json index b8f4dab8c..201a35c86 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_scheelite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_scheelite.json @@ -1,45 +1,45 @@ -{ - "name": "Scheelite & Tungstate", - "icon": "gtceu:rich_raw_scheelite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 0$(br)Size: 28$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Scheelite, Tungstate, Lithium" - }, - { - "type": "patchouli:multiblock", - "name": "Scheelite", - "multiblock": - { - "mapping": { "0": "#forge:ores/scheelite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 45%$(br)Source of: Tungsten$(br)Formula: Ca(WO₃)O" - }, - { - "type": "patchouli:multiblock", - "name": "Tungstate", - "multiblock": - { - "mapping": { "0": "#forge:ores/tungstate" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Tungsten, Lithium$(br)Formula: Li₂(WO₃)O" - }, - { - "type": "patchouli:multiblock", - "name": "Lithium", - "multiblock": - { - "mapping": { "0": "#forge:ores/lithium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Lithium$(br)Formula: Li" - } - ] -} +{ + "name": "Scheelite & Tungstate", + "icon": "gtceu:rich_raw_scheelite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 220$(br)Density: 0.35$(br)Type: Cluster Vein$(br)Y: -64 - 0$(br)Size: 28$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Scheelite, Tungstate, Lithium" + }, + { + "type": "patchouli:multiblock", + "name": "Scheelite", + "multiblock": + { + "mapping": { "0": "#forge:ores/scheelite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 45%$(br)Source of: Tungsten$(br)Formula: Ca(WO₃)O" + }, + { + "type": "patchouli:multiblock", + "name": "Tungstate", + "multiblock": + { + "mapping": { "0": "#forge:ores/tungstate" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Tungsten, Lithium$(br)Formula: Li₂(WO₃)O" + }, + { + "type": "patchouli:multiblock", + "name": "Lithium", + "multiblock": + { + "mapping": { "0": "#forge:ores/lithium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Lithium$(br)Formula: Li" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sheldonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sheldonite.json index bab3647ca..744e0fc59 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sheldonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_sheldonite.json @@ -1,56 +1,56 @@ -{ - "name": "Sheldonite & Bornite", - "icon": "gtceu:rich_raw_platinum", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 300$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - 0$(br)Size: 30$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Bornite, Cooperite, Platinum, Palladium" - }, - { - "type": "patchouli:multiblock", - "name": "Sheldonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/cooperite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Platinum, Nickel, Palladium$(br)Formula: Pt₃NiSPd" - }, - { - "type": "patchouli:multiblock", - "name": "Platinum", - "multiblock": - { - "mapping": { "0": "#forge:ores/platinum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Smelts into: Platinum$(br)Formula: Pt" - }, - { - "type": "patchouli:multiblock", - "name": "Palladium", - "multiblock": - { - "mapping": { "0": "#forge:ores/palladium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Palladium$(br)Formula: Pt" - }, - { - "type": "patchouli:multiblock", - "name": "Bornite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bornite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Smelts into: Copper$(br)Formula: Cu₅FeS₄" - } - ] +{ + "name": "Sheldonite & Bornite", + "icon": "gtceu:rich_raw_platinum", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 300$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -64 - 0$(br)Size: 30$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Bornite, Cooperite, Platinum, Palladium" + }, + { + "type": "patchouli:multiblock", + "name": "Sheldonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/cooperite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Platinum, Nickel, Palladium$(br)Formula: Pt₃NiSPd" + }, + { + "type": "patchouli:multiblock", + "name": "Platinum", + "multiblock": + { + "mapping": { "0": "#forge:ores/platinum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Smelts into: Platinum$(br)Formula: Pt" + }, + { + "type": "patchouli:multiblock", + "name": "Palladium", + "multiblock": + { + "mapping": { "0": "#forge:ores/palladium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Palladium$(br)Formula: Pt" + }, + { + "type": "patchouli:multiblock", + "name": "Bornite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bornite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Smelts into: Copper$(br)Formula: Cu₅FeS₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_topaz.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_topaz.json index 5cd8e11be..4ae03b9fc 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_topaz.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/deep_topaz.json @@ -1,56 +1,56 @@ -{ - "name": "Topaz & Chalcocite", - "icon": "gtceu:topaz_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 260$(br)Density: 0.3$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Topaz, Blue Topaz, Chalcocite, Bornite" - }, - { - "type": "patchouli:multiblock", - "name": "Topaz", - "multiblock": - { - "mapping": { "0": "#forge:ores/topaz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Aluminium, Fluorine$(br)Formula: Al₂SiFH₂" - }, - { - "type": "patchouli:multiblock", - "name": "Blue Topaz", - "multiblock": - { - "mapping": { "0": "#forge:ores/blue_topaz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Aluminium, Fluorine$(br)Formula: Al₂SiF₂H₂O₆" - }, - { - "type": "patchouli:multiblock", - "name": "Chalcocite", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcocite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Smelts into: Copper$(br)Formula: Cu₂S" - }, - { - "type": "patchouli:multiblock", - "name": "Bornite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bornite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Smelts into: Copper$(br)Formula: Cu₅FeS₄" - } - ] +{ + "name": "Topaz & Chalcocite", + "icon": "gtceu:topaz_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 260$(br)Density: 0.3$(br)Type: Disc Vein$(br)Y: -64 - 26$(br)Size: 28$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Topaz, Blue Topaz, Chalcocite, Bornite" + }, + { + "type": "patchouli:multiblock", + "name": "Topaz", + "multiblock": + { + "mapping": { "0": "#forge:ores/topaz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Aluminium, Fluorine$(br)Formula: Al₂SiFH₂" + }, + { + "type": "patchouli:multiblock", + "name": "Blue Topaz", + "multiblock": + { + "mapping": { "0": "#forge:ores/blue_topaz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Aluminium, Fluorine$(br)Formula: Al₂SiF₂H₂O₆" + }, + { + "type": "patchouli:multiblock", + "name": "Chalcocite", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcocite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Smelts into: Copper$(br)Formula: Cu₂S" + }, + { + "type": "patchouli:multiblock", + "name": "Bornite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bornite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Smelts into: Copper$(br)Formula: Cu₅FeS₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json index 14e23abc3..674f2f829 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 1, + "read_by_default": true, "pages": [ { "type": "patchouli:text", @@ -36,12 +37,12 @@ "title": "Spring Water", "item": "tfc:bucket/spring_water", "text": "Standing in $(thing)Spring Water$() will provide a slow $(thing)Regeneration$() effect." - }, - { - "type": "patchouli:spotlight", - "title": "Aged Alcohol", - "text": "$(thing)Aged Alcohol$() will give potion buffs, some of which you might find useful.$(br2)You can drink them with a $(l:getting_started/pottery#jug)Jug$() or $(l:waterflasks/recipes)Flask$().", - "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:spotlight", + "title": "Aged Alcohol", + "text": "$(thing)Aged Alcohol$() will give potion buffs, some of which you might find useful.$(br2)You can drink them with a $(l:getting_started/pottery#jug)Jug$() or $(l:waterflasks/recipes)Flask$().", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/index.json index cd835db7b..8e49cff9b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/index.json @@ -1,44 +1,44 @@ -{ - "name": "Ore Index", - "icon": "minecraft:diamond_pickaxe", - "category": "tfc:tfg_ores", - "priority": true, - "sortnum": 2, - "read_by_default": true, - "pages": - [ - { - "type": "patchouli:text", - "text": "This is a list of every ore in the world, sorted alphabetically, and then by richest to poorest vein type.$(br2)Almandine: $(l:tfg_ores/deep_sapphire)35%$()$(br)Aluminium: $(l:tfg_ores/normal_bauxite)25%$()$(br)Alunite: $(l:tfg_ores/normal_saltpeter)15%$()$(br)Amethyst: $(l:tfg_ores/deep_garnet_amethyst)65%$(), $(l:tfg_ores/deep_garnet_opal)25%$()$(br)Apatite: $(l:tfg_ores/normal_apatite)50%$()$(br)Asbestos: $(l:tfg_ores/normal_garnet_tin)25%$()$(br)Barite: $(l:tfg_ores/normal_quartz)15%$()$(br)Basaltic Mineral Sand: $(l:tfg_ores/normal_basaltic_sands)35%$()$(br)Bastnasite: $(l:tfg_ores/normal_monazite)50%$()" - }, - { - "type": "patchouli:text", - "text": "Bauxite: $(l:tfg_ores/normal_bauxite)45%$(), $(l:tfg_ores/normal_mica)25%$()$(br)Bentonite: $(l:tfg_ores/normal_olivine)35%$()$(br)Beryllium: $(l:tfg_ores/normal_beryllium)35%$()$(br)Bismuth: $(l:tfg_ores/surface_bismuth)90%$(), $(l:tfg_ores/normal_bismuth)80%$()$(br)Blue Topaz: $(l:tfg_ores/deep_topaz)35%$()$(br)Borax: $(l:tfg_ores/normal_salt)15%$()$(br)Bornite: $(l:tfg_ores/deep_sheldonite)35%$(), $(l:tfg_ores/deep_topaz)15%$()$(br)Calcite: $(l:tfg_ores/normal_lapis)15%$()$(br)Cassiterite: $(l:tfg_ores/surface_cassiterite)60%$(), $(l:tfg_ores/normal_cassiterite)40%$(), $(l:tfg_ores/surface_copper)5%$()$(br)Cassiterite Sand: $(l:tfg_ores/normal_garnet_tin)35%$()$(br)Certus Quartz: $(l:tfg_ores/normal_quartz)30%$()$(br)Chalcocite: $(l:tfg_ores/deep_topaz)25%$()$(br)Chalcopyrite: $(l:tfg_ores/surface_copper)55%$(), $(l:tfg_ores/normal_copper)20%$()$(br)Chromite: $(l:tfg_ores/deep_magnetite)60%$()$(br)Cinnabar: $(l:tfg_ores/normal_redstone)20%$()$(br)Coal: $(l:tfg_ores/normal_coal)100%$(), $(l:tfg_ores/normal_graphite)30%$()$(br)Cobalt: $(l:tfg_ores/normal_garnierite)15%$()" - }, - { - "type": "patchouli:text", - "text": "Cobaltite: $(l:tfg_ores/normal_garnierite)20%$()$(br)Copper: $(l:tfg_ores/normal_copper)65%$(), $(l:tfg_ores/normal_tetrahedrite)30%$(), $(l:tfg_ores/surface_tetrahedrite)20%$()$(br)Diamond: $(l:tfg_ores/normal_graphite)25%$()$(br)Diatomite: $(l:tfg_ores/normal_saltpeter)25%$(), $(l:tfg_ores/normal_garnet_tin)15%$()$(br)Electrotine: $(l:tfg_ores/normal_saltpeter)25%$()$(br)Emerald: $(l:tfg_ores/normal_beryllium)50%$()$(br)Fuller's Earth: $(l:tfg_ores/normal_basaltic_sands)25%$()$(br)Galena: $(l:tfg_ores/normal_silver)30%$()$(br)Garnet Sand: $(l:tfg_ores/normal_garnet_tin)25%$()$(br)Garnierite: $(l:tfg_ores/normal_garnierite)30%$()$(br)Glauconite Sand: $(l:tfg_ores/normal_lubricant)25%$(), $(l:tfg_ores/normal_olivine)15%$()$(br)Goethite: $(l:tfg_ores/deep_limonite)50%$(), $(l:tfg_ores/deep_hematite)25%$(), $(l:tfg_ores/normal_hematite)15%$(), $(l:tfg_ores/normal_limonite)15%$(), $(l:tfg_ores/normal_gold)5%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Gold: $(l:tfg_ores/deep_gold)75%$(), $(l:tfg_ores/normal_gold)55%$(), $(l:tfg_ores/deep_magnetite)15%$(), $(l:tfg_ores/normal_magnetite)10%$(), $(l:tfg_ores/deep_hematite)5%$(), $(l:tfg_ores/normal_hematite)5%$()$(br)Granitic Mineral Sand: $(l:tfg_ores/normal_basaltic_sands)25%$()$(br)Graphite: $(l:tfg_ores/normal_graphite)45%$()$(br)Green Sapphire: $(l:tfg_ores/deep_sapphire)15%$()" - }, - { - "type": "patchouli:text", - "text": "Grossular: $(l:tfg_ores/normal_manganese)30%$()$(br)Gypsum: $(l:tfg_ores/normal_basaltic_sands)15%$()$(br)Hematite: $(l:tfg_ores/normal_hematite)50%$(), $(l:tfg_ores/deep_hematite)35%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/normal_limonite)20%$(), $(l:tfg_ores/deep_gold)15%$(), $(l:tfg_ores/deep_limonite)15%$()$(br)Ilmenite: $(l:tfg_ores/normal_bauxite)30%$()$(br)Iron: $(l:tfg_ores/normal_copper)5%$()$(br)Kaolinite: $(l:tfg_ores/surface_kaolin)20%$()$(br)Kyanite: $(l:tfg_ores/normal_mica)35%$()$(br)Lapis: $(l:tfg_ores/normal_lapis)25%$()$(br)Lazurite: $(l:tfg_ores/normal_lapis)35%$()$(br)Lead: $(l:tfg_ores/normal_silver)55%$(), $(l:tfg_ores/normal_bismuth)11%$(), $(l:tfg_ores/surface_bismuth)7%$()$(br)Lepidolite: $(l:tfg_ores/normal_salt)15%$(), $(l:tfg_ores/normal_spodumene)15%$()$(br)Lithium: $(l:tfg_ores/deep_scheelite)20%$()$(br)Magnesite: $(l:tfg_ores/normal_olivine)25%$()$(br)Magnetite: $(l:tfg_ores/normal_magnetite)65%$(), $(l:tfg_ores/deep_magnetite)5%$()$(br)Malachite: $(l:tfg_ores/deep_limonite)20%$(), $(l:tfg_ores/normal_limonite)15%$()$(br)Mica: $(l:tfg_ores/normal_mica)25%$()" - }, - { - "type": "patchouli:text", - "text": "Molybdenite: $(l:tfg_ores/deep_molybdenum)30%$()$(br)Molybdenum: $(l:tfg_ores/deep_molybdenum)15%$()$(br)Monazite: $(l:tfg_ores/normal_monazite)25%$()$(br)Naquadah: $(l:tfg_ores/deep_naquadah)75%$()$(br)Neodymium: $(l:tfg_ores/normal_monazite)25%$()$(br)Nether Quartz: $(l:tfg_ores/normal_quartz)10%$()$(br)Nickel: $(l:tfg_ores/normal_garnierite)10%$()$(br)Oilsands: $(l:tfg_ores/normal_oilsands)100%$()$(br)Olivine: $(l:tfg_ores/normal_olivine)25%$()$(br)Opal: $(l:tfg_ores/deep_garnet_opal)55%$(), $(l:tfg_ores/deep_garnet_amethyst)15%$()$(br)Palladium: $(l:tfg_ores/deep_sheldonite)15%$()$(br)Pentlandite: $(l:tfg_ores/normal_garnierite)25%$(), $(l:tfg_ores/normal_lubricant)15%$()$(br)Pitchblende: $(l:tfg_ores/deep_pitchblende)50%$()$(br)Platinum: $(l:tfg_ores/deep_sheldonite)25%$()$(br)Plutonium: $(l:tfg_ores/deep_naquadah)25%$()$(br)Pollucite: $(l:tfg_ores/normal_mica)15%$()$(br)Powellite: $(l:tfg_ores/deep_molybdenum)15%$()" - }, - { - "type": "patchouli:text", - "text": "Pyrite: $(l:tfg_ores/normal_sulfur)35%$(), $(l:tfg_ores/normal_sphalerite)25%$(), $(l:tfg_ores/normal_copper)10%$(), $(l:tfg_ores/surface_sphalerite)5%$()$(br)Pyrochlore: $(l:tfg_ores/normal_apatite)15%$()$(br)Pyrolusite: $(l:tfg_ores/normal_manganese)20%$()$(br)Pyrope: $(l:tfg_ores/deep_sapphire)25%$()$(br)Quartzite: $(l:tfg_ores/normal_quartz)45%$()$(br)Realgar: $(l:tfg_ores/surface_copper)15%$()$(br)Red Garnet: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Redstone: $(l:tfg_ores/normal_redstone)45%$()$(br)Rock Salt: $(l:tfg_ores/normal_salt)40%$(), $(l:tfg_ores/normal_spodumene)20%$()$(br)Ruby: $(l:tfg_ores/normal_redstone)35%$(), $(l:tfg_ores/deep_hematite)20%$()$(br)Salt: $(l:tfg_ores/normal_salt)30%$(), $(l:tfg_ores/normal_spodumene)30%$()$(br)Saltpeter: $(l:tfg_ores/normal_saltpeter)35%$()$(br)Sapphire: $(l:tfg_ores/deep_sapphire)15%$(), $(l:tfg_ores/deep_magnetite)5%$()$(br)Scheelite: $(l:tfg_ores/deep_scheelite)45%$()$(br)Sheldonite: $(l:tfg_ores/deep_sheldonite)25%$()$(br)Silver: $(l:tfg_ores/normal_silver)15%$()$(br)Soapstone: $(l:tfg_ores/normal_lubricant)30%$()" - }, - { - "type": "patchouli:text", - "text": "Sodalite: $(l:tfg_ores/normal_lapis)25%$()$(br)Spessartine: $(l:tfg_ores/normal_manganese)20%$()$(br)Sphalerite: $(l:tfg_ores/normal_sphalerite)40%$(), $(l:tfg_ores/surface_sphalerite)40%$(), $(l:tfg_ores/normal_sulfur)15%$()$(br)Spodumene: $(l:tfg_ores/normal_spodumene)35%$()$(br)Stibnite: $(l:tfg_ores/normal_tetrahedrite)20%$(), $(l:tfg_ores/surface_tetrahedrite)20%$()$(br)Sulfur: $(l:tfg_ores/surface_sphalerite)55%$(), $(l:tfg_ores/normal_sulfur)50%$(), $(l:tfg_ores/normal_sphalerite)35%$(), $(l:tfg_ores/normal_bismuth)9%$(), $(l:tfg_ores/surface_bismuth)3%$()$(br)Talc: $(l:tfg_ores/normal_lubricant)20%$()$(br)Tantalite: $(l:tfg_ores/normal_manganese)10%$()$(br)Tetrahedrite: $(l:tfg_ores/surface_tetrahedrite)60%$(), $(l:tfg_ores/normal_tetrahedrite)50%$()$(br)Thorium: $(l:tfg_ores/normal_beryllium)15%$()$(br)Tin: $(l:tfg_ores/normal_cassiterite)60%$(), $(l:tfg_ores/surface_cassiterite)40%$()$(br)Topaz: $(l:tfg_ores/deep_topaz)25%$()$(br)Tricalcium Phosphate: $(l:tfg_ores/normal_apatite)35%$()$(br)Trona: $(l:tfg_ores/normal_lubricant)10%$()$(br)Tungstate: $(l:tfg_ores/deep_scheelite)35%$()$(br)Uraninite: $(l:tfg_ores/deep_pitchblende)50%$()$(br)Vanadium Magnetite: $(l:tfg_ores/normal_magnetite)25%$(), $(l:tfg_ores/deep_magnetite)15%$()" - }, - { - "type": "patchouli:text", - "text": "Wulfenite: $(l:tfg_ores/deep_molybdenum)40%$()$(br)Yellow Garnet: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Yellow Limonite: $(l:tfg_ores/normal_limonite)50%$(), $(l:tfg_ores/normal_hematite)30%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/deep_limonite)15%$(), $(l:tfg_ores/deep_hematite)15%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Zeolite: $(l:tfg_ores/surface_copper)15%$()" - } - ] -} - +{ + "name": "Ore Index", + "icon": "minecraft:diamond_pickaxe", + "category": "tfc:tfg_ores", + "priority": true, + "sortnum": 2, + "read_by_default": true, + "pages": + [ + { + "type": "patchouli:text", + "text": "This is a list of every ore in the world, sorted alphabetically, and then by richest to poorest vein type.$(br2)Almandine: $(l:tfg_ores/deep_sapphire)35%$()$(br)Aluminium: $(l:tfg_ores/normal_bauxite)25%$()$(br)Alunite: $(l:tfg_ores/normal_saltpeter)15%$()$(br)Amethyst: $(l:tfg_ores/deep_garnet_amethyst)65%$(), $(l:tfg_ores/deep_garnet_opal)25%$()$(br)Apatite: $(l:tfg_ores/normal_apatite)50%$()$(br)Asbestos: $(l:tfg_ores/normal_garnet_tin)25%$()$(br)Barite: $(l:tfg_ores/normal_quartz)15%$()$(br)Basaltic Mineral Sand: $(l:tfg_ores/normal_basaltic_sands)35%$()$(br)Bastnasite: $(l:tfg_ores/normal_monazite)50%$()" + }, + { + "type": "patchouli:text", + "text": "Bauxite: $(l:tfg_ores/normal_bauxite)45%$(), $(l:tfg_ores/normal_mica)25%$()$(br)Bentonite: $(l:tfg_ores/normal_olivine)35%$()$(br)Beryllium: $(l:tfg_ores/normal_beryllium)35%$()$(br)Bismuth: $(l:tfg_ores/surface_bismuth)90%$(), $(l:tfg_ores/normal_bismuth)80%$()$(br)Blue Topaz: $(l:tfg_ores/deep_topaz)35%$()$(br)Borax: $(l:tfg_ores/normal_salt)15%$()$(br)Bornite: $(l:tfg_ores/deep_sheldonite)35%$(), $(l:tfg_ores/deep_topaz)15%$()$(br)Calcite: $(l:tfg_ores/normal_lapis)15%$()$(br)Cassiterite: $(l:tfg_ores/surface_cassiterite)60%$(), $(l:tfg_ores/normal_cassiterite)40%$(), $(l:tfg_ores/surface_copper)5%$()$(br)Cassiterite Sand: $(l:tfg_ores/normal_garnet_tin)35%$()$(br)Certus Quartz: $(l:tfg_ores/normal_quartz)30%$()$(br)Chalcocite: $(l:tfg_ores/deep_topaz)25%$()$(br)Chalcopyrite: $(l:tfg_ores/surface_copper)55%$(), $(l:tfg_ores/normal_copper)20%$()$(br)Chromite: $(l:tfg_ores/deep_magnetite)60%$()$(br)Cinnabar: $(l:tfg_ores/normal_redstone)20%$()$(br)Coal: $(l:tfg_ores/normal_coal)100%$(), $(l:tfg_ores/normal_graphite)30%$()$(br)Cobalt: $(l:tfg_ores/normal_garnierite)15%$()" + }, + { + "type": "patchouli:text", + "text": "Cobaltite: $(l:tfg_ores/normal_garnierite)20%$()$(br)Copper: $(l:tfg_ores/normal_copper)65%$(), $(l:tfg_ores/normal_tetrahedrite)30%$(), $(l:tfg_ores/surface_tetrahedrite)20%$()$(br)Diamond: $(l:tfg_ores/normal_graphite)25%$()$(br)Diatomite: $(l:tfg_ores/normal_saltpeter)25%$(), $(l:tfg_ores/normal_garnet_tin)15%$()$(br)Electrotine: $(l:tfg_ores/normal_saltpeter)25%$()$(br)Emerald: $(l:tfg_ores/normal_beryllium)50%$()$(br)Fuller's Earth: $(l:tfg_ores/normal_basaltic_sands)25%$()$(br)Galena: $(l:tfg_ores/normal_silver)30%$()$(br)Garnet Sand: $(l:tfg_ores/normal_garnet_tin)25%$()$(br)Garnierite: $(l:tfg_ores/normal_garnierite)30%$()$(br)Glauconite Sand: $(l:tfg_ores/normal_lubricant)25%$(), $(l:tfg_ores/normal_olivine)15%$()$(br)Goethite: $(l:tfg_ores/deep_limonite)50%$(), $(l:tfg_ores/deep_hematite)25%$(), $(l:tfg_ores/normal_hematite)15%$(), $(l:tfg_ores/normal_limonite)15%$(), $(l:tfg_ores/normal_gold)5%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Gold: $(l:tfg_ores/deep_gold)75%$(), $(l:tfg_ores/normal_gold)55%$(), $(l:tfg_ores/deep_magnetite)15%$(), $(l:tfg_ores/normal_magnetite)10%$(), $(l:tfg_ores/deep_hematite)5%$(), $(l:tfg_ores/normal_hematite)5%$()$(br)Granitic Mineral Sand: $(l:tfg_ores/normal_basaltic_sands)25%$()$(br)Graphite: $(l:tfg_ores/normal_graphite)45%$()$(br)Green Sapphire: $(l:tfg_ores/deep_sapphire)15%$()" + }, + { + "type": "patchouli:text", + "text": "Grossular: $(l:tfg_ores/normal_manganese)30%$()$(br)Gypsum: $(l:tfg_ores/normal_basaltic_sands)15%$()$(br)Hematite: $(l:tfg_ores/normal_hematite)50%$(), $(l:tfg_ores/deep_hematite)35%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/normal_limonite)20%$(), $(l:tfg_ores/deep_gold)15%$(), $(l:tfg_ores/deep_limonite)15%$()$(br)Ilmenite: $(l:tfg_ores/normal_bauxite)30%$()$(br)Iron: $(l:tfg_ores/normal_copper)5%$()$(br)Kaolinite: $(l:tfg_ores/surface_kaolin)20%$()$(br)Kyanite: $(l:tfg_ores/normal_mica)35%$()$(br)Lapis: $(l:tfg_ores/normal_lapis)25%$()$(br)Lazurite: $(l:tfg_ores/normal_lapis)35%$()$(br)Lead: $(l:tfg_ores/normal_silver)55%$(), $(l:tfg_ores/normal_bismuth)11%$(), $(l:tfg_ores/surface_bismuth)7%$()$(br)Lepidolite: $(l:tfg_ores/normal_salt)15%$(), $(l:tfg_ores/normal_spodumene)15%$()$(br)Lithium: $(l:tfg_ores/deep_scheelite)20%$()$(br)Magnesite: $(l:tfg_ores/normal_olivine)25%$()$(br)Magnetite: $(l:tfg_ores/normal_magnetite)65%$(), $(l:tfg_ores/deep_magnetite)5%$()$(br)Malachite: $(l:tfg_ores/deep_limonite)20%$(), $(l:tfg_ores/normal_limonite)15%$()$(br)Mica: $(l:tfg_ores/normal_mica)25%$()" + }, + { + "type": "patchouli:text", + "text": "Molybdenite: $(l:tfg_ores/deep_molybdenum)30%$()$(br)Molybdenum: $(l:tfg_ores/deep_molybdenum)15%$()$(br)Monazite: $(l:tfg_ores/normal_monazite)25%$()$(br)Naquadah: $(l:tfg_ores/deep_naquadah)75%$()$(br)Neodymium: $(l:tfg_ores/normal_monazite)25%$()$(br)Nether Quartz: $(l:tfg_ores/normal_quartz)10%$()$(br)Nickel: $(l:tfg_ores/normal_garnierite)10%$()$(br)Oilsands: $(l:tfg_ores/normal_oilsands)100%$()$(br)Olivine: $(l:tfg_ores/normal_olivine)25%$()$(br)Opal: $(l:tfg_ores/deep_garnet_opal)55%$(), $(l:tfg_ores/deep_garnet_amethyst)15%$()$(br)Palladium: $(l:tfg_ores/deep_sheldonite)15%$()$(br)Pentlandite: $(l:tfg_ores/normal_garnierite)25%$(), $(l:tfg_ores/normal_lubricant)15%$()$(br)Pitchblende: $(l:tfg_ores/deep_pitchblende)50%$()$(br)Platinum: $(l:tfg_ores/deep_sheldonite)25%$()$(br)Plutonium: $(l:tfg_ores/deep_naquadah)25%$()$(br)Pollucite: $(l:tfg_ores/normal_mica)15%$()$(br)Powellite: $(l:tfg_ores/deep_molybdenum)15%$()" + }, + { + "type": "patchouli:text", + "text": "Pyrite: $(l:tfg_ores/normal_sulfur)35%$(), $(l:tfg_ores/normal_sphalerite)25%$(), $(l:tfg_ores/normal_copper)10%$(), $(l:tfg_ores/surface_sphalerite)5%$()$(br)Pyrochlore: $(l:tfg_ores/normal_apatite)15%$()$(br)Pyrolusite: $(l:tfg_ores/normal_manganese)20%$()$(br)Pyrope: $(l:tfg_ores/deep_sapphire)25%$()$(br)Quartzite: $(l:tfg_ores/normal_quartz)45%$()$(br)Realgar: $(l:tfg_ores/surface_copper)15%$()$(br)Red Garnet: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Redstone: $(l:tfg_ores/normal_redstone)45%$()$(br)Rock Salt: $(l:tfg_ores/normal_salt)40%$(), $(l:tfg_ores/normal_spodumene)20%$()$(br)Ruby: $(l:tfg_ores/normal_redstone)35%$(), $(l:tfg_ores/deep_hematite)20%$()$(br)Salt: $(l:tfg_ores/normal_salt)30%$(), $(l:tfg_ores/normal_spodumene)30%$()$(br)Saltpeter: $(l:tfg_ores/normal_saltpeter)35%$()$(br)Sapphire: $(l:tfg_ores/deep_sapphire)15%$(), $(l:tfg_ores/deep_magnetite)5%$()$(br)Scheelite: $(l:tfg_ores/deep_scheelite)45%$()$(br)Sheldonite: $(l:tfg_ores/deep_sheldonite)25%$()$(br)Silver: $(l:tfg_ores/normal_silver)15%$()$(br)Soapstone: $(l:tfg_ores/normal_lubricant)30%$()" + }, + { + "type": "patchouli:text", + "text": "Sodalite: $(l:tfg_ores/normal_lapis)25%$()$(br)Spessartine: $(l:tfg_ores/normal_manganese)20%$()$(br)Sphalerite: $(l:tfg_ores/normal_sphalerite)40%$(), $(l:tfg_ores/surface_sphalerite)40%$(), $(l:tfg_ores/normal_sulfur)15%$()$(br)Spodumene: $(l:tfg_ores/normal_spodumene)35%$()$(br)Stibnite: $(l:tfg_ores/normal_tetrahedrite)20%$(), $(l:tfg_ores/surface_tetrahedrite)20%$()$(br)Sulfur: $(l:tfg_ores/surface_sphalerite)55%$(), $(l:tfg_ores/normal_sulfur)50%$(), $(l:tfg_ores/normal_sphalerite)35%$(), $(l:tfg_ores/normal_bismuth)9%$(), $(l:tfg_ores/surface_bismuth)3%$()$(br)Talc: $(l:tfg_ores/normal_lubricant)20%$()$(br)Tantalite: $(l:tfg_ores/normal_manganese)10%$()$(br)Tetrahedrite: $(l:tfg_ores/surface_tetrahedrite)60%$(), $(l:tfg_ores/normal_tetrahedrite)50%$()$(br)Thorium: $(l:tfg_ores/normal_beryllium)15%$()$(br)Tin: $(l:tfg_ores/normal_cassiterite)60%$(), $(l:tfg_ores/surface_cassiterite)40%$()$(br)Topaz: $(l:tfg_ores/deep_topaz)25%$()$(br)Tricalcium Phosphate: $(l:tfg_ores/normal_apatite)35%$()$(br)Trona: $(l:tfg_ores/normal_lubricant)10%$()$(br)Tungstate: $(l:tfg_ores/deep_scheelite)35%$()$(br)Uraninite: $(l:tfg_ores/deep_pitchblende)50%$()$(br)Vanadium Magnetite: $(l:tfg_ores/normal_magnetite)25%$(), $(l:tfg_ores/deep_magnetite)15%$()" + }, + { + "type": "patchouli:text", + "text": "Wulfenite: $(l:tfg_ores/deep_molybdenum)40%$()$(br)Yellow Garnet: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Yellow Limonite: $(l:tfg_ores/normal_limonite)50%$(), $(l:tfg_ores/normal_hematite)30%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/deep_limonite)15%$(), $(l:tfg_ores/deep_hematite)15%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Zeolite: $(l:tfg_ores/surface_copper)15%$()" + } + ] +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_apatite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_apatite.json index b51c3ba17..2c1e4a081 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_apatite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_apatite.json @@ -1,45 +1,45 @@ -{ - "name": "Apatite & Pyrochlore", - "icon": "gtceu:raw_apatite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 220$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 34$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Apatite, Tricalcium Phosphate, Pyrochlore" - }, - { - "type": "patchouli:multiblock", - "name": "Apatite", - "multiblock": - { - "mapping": { "0": "#forge:ores/apatite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Source of: Calcium, Phosphorus, Forestry PTSD$(br)Formula: Ca₅(PO₄)₃Cl" - }, - { - "type": "patchouli:multiblock", - "name": "Tricalcium Phosphate", - "multiblock": - { - "mapping": { "0": "#forge:ores/tricalcium_phosphate" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Calcium, Phosphorus$(br)Formula: Ca₃(PO₄)₂" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrochlore", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrochlore" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Niobium$(br)Formula: Ca₂Nb₂O₇" - } - ] +{ + "name": "Apatite & Pyrochlore", + "icon": "gtceu:raw_apatite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 220$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 34$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Apatite, Tricalcium Phosphate, Pyrochlore" + }, + { + "type": "patchouli:multiblock", + "name": "Apatite", + "multiblock": + { + "mapping": { "0": "#forge:ores/apatite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Source of: Calcium, Phosphorus, Forestry PTSD$(br)Formula: Ca₅(PO₄)₃Cl" + }, + { + "type": "patchouli:multiblock", + "name": "Tricalcium Phosphate", + "multiblock": + { + "mapping": { "0": "#forge:ores/tricalcium_phosphate" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Calcium, Phosphorus$(br)Formula: Ca₃(PO₄)₂" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrochlore", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrochlore" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Niobium$(br)Formula: Ca₂Nb₂O₇" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_basaltic_sands.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_basaltic_sands.json index 34952f022..ed966f2c6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_basaltic_sands.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_basaltic_sands.json @@ -1,56 +1,56 @@ -{ - "name": "Mineral Sands", - "icon": "gtceu:raw_basaltic_mineral_sand", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 160$(br)Density: 0.3$(br)Type: Disc Vein$(br)Y: -32 - 60$(br)Size: 48$(br)Height: 9$(br2)Stone types: Granite, Basalt$(br2)Indicator: Basaltic & Granitic Mineral Sand, Fuller's Earth, Gypsum" - }, - { - "type": "patchouli:multiblock", - "name": "Basaltic Mineral Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/basaltic_mineral_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Smelts into: Cast Iron$(br)Formula: (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)" - }, - { - "type": "patchouli:multiblock", - "name": "Granitic Mineral Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/granitic_mineral_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Smelts into: Cast Iron$(br)Formula: (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))" - }, - { - "type": "patchouli:multiblock", - "name": "Fuller's Earth", - "multiblock": - { - "mapping": { "0": "#forge:ores/fullers_earth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: MgSi₄H(H₂O)₄O₁₁" - }, - { - "type": "patchouli:multiblock", - "name": "Gypsum", - "multiblock": - { - "mapping": { "0": "#forge:ores/gypsum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Used for: Alabaster (dyeable) bricks$(br)Formula: CaS(H₂O)₂O₄" - } - ] +{ + "name": "Mineral Sands", + "icon": "gtceu:raw_basaltic_mineral_sand", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 160$(br)Density: 0.3$(br)Type: Disc Vein$(br)Y: -32 - 60$(br)Size: 48$(br)Height: 9$(br2)Stone types: Granite, Basalt$(br2)Indicator: Basaltic & Granitic Mineral Sand, Fuller's Earth, Gypsum" + }, + { + "type": "patchouli:multiblock", + "name": "Basaltic Mineral Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/basaltic_mineral_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Smelts into: Cast Iron$(br)Formula: (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)" + }, + { + "type": "patchouli:multiblock", + "name": "Granitic Mineral Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/granitic_mineral_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Smelts into: Cast Iron$(br)Formula: (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))" + }, + { + "type": "patchouli:multiblock", + "name": "Fuller's Earth", + "multiblock": + { + "mapping": { "0": "#forge:ores/fullers_earth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: MgSi₄H(H₂O)₄O₁₁" + }, + { + "type": "patchouli:multiblock", + "name": "Gypsum", + "multiblock": + { + "mapping": { "0": "#forge:ores/gypsum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Used for: Alabaster (dyeable) bricks$(br)Formula: CaS(H₂O)₂O₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bauxite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bauxite.json index f06eadda2..47906ed69 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bauxite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bauxite.json @@ -1,45 +1,45 @@ -{ - "name": "Bauxite & Ilmenite", - "icon": "gtceu:raw_bauxite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 185$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bauxite, Ilmenite, Aluminium, Rutile" - }, - { - "type": "patchouli:multiblock", - "name": "Bauxite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bauxite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 45%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Aluminium", - "multiblock": - { - "mapping": { "0": "#forge:ores/aluminium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Aluminium$(br)Formula: Al" - }, - { - "type": "patchouli:multiblock", - "name": "Ilmenite", - "multiblock": - { - "mapping": { "0": "#forge:ores/ilmenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: Titanium$(br)Formula: FeTiO₃" - } - ] -} +{ + "name": "Bauxite & Ilmenite", + "icon": "gtceu:raw_bauxite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 185$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bauxite, Ilmenite, Aluminium, Rutile" + }, + { + "type": "patchouli:multiblock", + "name": "Bauxite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bauxite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 45%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Aluminium", + "multiblock": + { + "mapping": { "0": "#forge:ores/aluminium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Aluminium$(br)Formula: Al" + }, + { + "type": "patchouli:multiblock", + "name": "Ilmenite", + "multiblock": + { + "mapping": { "0": "#forge:ores/ilmenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: Titanium$(br)Formula: FeTiO₃" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_beryllium.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_beryllium.json index 9ede2dc0b..f2bbc297c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_beryllium.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_beryllium.json @@ -1,45 +1,45 @@ -{ - "name": "Emerald & Beryllium", - "icon": "minecraft:emerald", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 180$(br)Density: 0.35$(br)Type: Pipe Vein$(br)Y: -32 - 50$(br)Height: 60$(br)Radius: 10$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Beryllium, Emerald, Thorium" - }, - { - "type": "patchouli:multiblock", - "name": "Beryllium", - "multiblock": - { - "mapping": { "0": "#forge:ores/beryllium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Used for: Ender Pearls$(br)Formula: Be$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Emerald", - "multiblock": - { - "mapping": { "0": "#forge:ores/emerald" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Used for: MV components, Item tag filters$(br)Formula: Be₃Al₂Si₆O₁₈" - }, - { - "type": "patchouli:multiblock", - "name": "Thorium", - "multiblock": - { - "mapping": { "0": "#forge:ores/thorium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Used for: Nothing!$(br)Formula: Th" - } - ] +{ + "name": "Emerald & Beryllium", + "icon": "minecraft:emerald", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 180$(br)Density: 0.35$(br)Type: Pipe Vein$(br)Y: -32 - 50$(br)Height: 60$(br)Radius: 10$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Beryllium, Emerald, Thorium" + }, + { + "type": "patchouli:multiblock", + "name": "Beryllium", + "multiblock": + { + "mapping": { "0": "#forge:ores/beryllium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Used for: Ender Pearls$(br)Formula: Be$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Emerald", + "multiblock": + { + "mapping": { "0": "#forge:ores/emerald" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Used for: MV components, Item tag filters$(br)Formula: Be₃Al₂Si₆O₁₈" + }, + { + "type": "patchouli:multiblock", + "name": "Thorium", + "multiblock": + { + "mapping": { "0": "#forge:ores/thorium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Used for: Nothing!$(br)Formula: Th" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bismuth.json index d62ae8fbc..051c7bba5 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bismuth.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_bismuth.json @@ -1,45 +1,45 @@ -{ - "name": "Bismuth (Normal)", - "icon": "gtceu:raw_bismuth", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bismuthinite$(br2)Only used for Bismuth Bronze." - }, - { - "type": "patchouli:multiblock", - "name": "Bismuth", - "multiblock": - { - "mapping": { "0": "#forge:ores/bismuth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 80%$(br)Melts into: Bismuth$(br)Formula: Bi" - }, - { - "type": "patchouli:multiblock", - "name": "Sulfur", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 9%$(br)Formula: S" - }, - { - "type": "patchouli:multiblock", - "name": "Lead", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 11%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" - } - ] +{ + "name": "Bismuth (Normal)", + "icon": "gtceu:raw_bismuth", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bismuthinite$(br2)Only used for Bismuth Bronze." + }, + { + "type": "patchouli:multiblock", + "name": "Bismuth", + "multiblock": + { + "mapping": { "0": "#forge:ores/bismuth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 80%$(br)Melts into: Bismuth$(br)Formula: Bi" + }, + { + "type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 9%$(br)Formula: S" + }, + { + "type": "patchouli:multiblock", + "name": "Lead", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 11%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_cassiterite.json index 01de862fd..cbbbe8087 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_cassiterite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_cassiterite.json @@ -1,34 +1,34 @@ -{ - "name": "Cassiterite (Normal)", - "icon": "gtceu:raw_cassiterite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Cassiterite" - }, - { - "type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Melts into: Tin$(br)Formula: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Tin", - "multiblock": - { - "mapping": { "0": "#forge:ores/tin" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 60%$(br)Melts into: Tin$(br)Formula: Sn" - } - ] +{ + "name": "Cassiterite (Normal)", + "icon": "gtceu:raw_cassiterite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Cassiterite" + }, + { + "type": "patchouli:multiblock", + "name": "Cassiterite", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Melts into: Tin$(br)Formula: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Tin", + "multiblock": + { + "mapping": { "0": "#forge:ores/tin" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 60%$(br)Melts into: Tin$(br)Formula: Sn" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_coal.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_coal.json index 4ab5c4686..881eb7e2c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_coal.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_coal.json @@ -1,23 +1,23 @@ -{ - "name": "Coal", - "icon": "minecraft:coal", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 215$(br)Density: 0.55$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 60$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Coal" - }, - { - "type": "patchouli:multiblock", - "name": "Coal", - "multiblock": - { - "mapping": { "0": "#forge:ores/coal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 100%$(br)Used for: Forge fuel, Distillation$(br)Formula: C" - } - ] +{ + "name": "Coal", + "icon": "minecraft:coal", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 215$(br)Density: 0.55$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 60$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Coal" + }, + { + "type": "patchouli:multiblock", + "name": "Coal", + "multiblock": + { + "mapping": { "0": "#forge:ores/coal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 100%$(br)Used for: Forge fuel, Distillation$(br)Formula: C" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_copper.json index ab684711c..304c7e04f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_copper.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_copper.json @@ -1,56 +1,56 @@ -{ - "name": "Copper & Chalcopyrite", - "icon": "minecraft:raw_copper", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Native Copper" - }, - { - "type": "patchouli:multiblock", - "name": "Copper", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 65%$(br)Melts into: Copper$(br)Formula: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Chalcopyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcopyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: CuFeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Iron", - "multiblock": - { - "mapping": { "0": "#forge:ores/iron" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" - } - ] +{ + "name": "Copper & Chalcopyrite", + "icon": "minecraft:raw_copper", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Native Copper" + }, + { + "type": "patchouli:multiblock", + "name": "Copper", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 65%$(br)Melts into: Copper$(br)Formula: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Chalcopyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcopyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: CuFeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Iron", + "multiblock": + { + "mapping": { "0": "#forge:ores/iron" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnet_tin.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnet_tin.json index 4874aa09e..f644bc4cb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnet_tin.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnet_tin.json @@ -1,56 +1,56 @@ -{ - "name": "Garnet & Cassiterite Sands", - "icon": "gtceu:raw_garnet_sand", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 360$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 64$(br)Size: 40$(br2)Stone types: All$(br2)Indicator: Cassiterite" - }, - { - "type": "patchouli:multiblock", - "name": "Cassiterite Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Melts into: Tin$(br)Formula: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Garnet Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/garnet_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Almandine, Andradite, Grossular, Pyrope, Spessartine, Uvarovite" - }, - { - "type": "patchouli:multiblock", - "name": "Asbestos", - "multiblock": - { - "mapping": { "0": "#forge:ores/asbestos" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Magnesium, Lung cancer$(br)Formula: Mg₃Si₂H₄O₉$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Diatomite", - "multiblock": - { - "mapping": { "0": "#forge:ores/diatomite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Iron, Aluminium$(br)Formula: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" - } - ] +{ + "name": "Garnet & Cassiterite Sands", + "icon": "gtceu:raw_garnet_sand", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 360$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 64$(br)Size: 40$(br2)Stone types: All$(br2)Indicator: Cassiterite" + }, + { + "type": "patchouli:multiblock", + "name": "Cassiterite Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Melts into: Tin$(br)Formula: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Garnet Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/garnet_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Almandine, Andradite, Grossular, Pyrope, Spessartine, Uvarovite" + }, + { + "type": "patchouli:multiblock", + "name": "Asbestos", + "multiblock": + { + "mapping": { "0": "#forge:ores/asbestos" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Magnesium, Lung cancer$(br)Formula: Mg₃Si₂H₄O₉$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Diatomite", + "multiblock": + { + "mapping": { "0": "#forge:ores/diatomite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Iron, Aluminium$(br)Formula: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnierite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnierite.json index b60186707..eea947011 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnierite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_garnierite.json @@ -1,67 +1,67 @@ -{ - "name": "Garnierite & Cobaltite", - "icon": "gtceu:raw_garnierite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 140$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Gabbro$(br2)Indicator: Garnierite" - }, - { - "type": "patchouli:multiblock", - "name": "Garnierite", - "multiblock": - { - "mapping": { "0": "#forge:ores/garnierite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Melts into: Nickel$(br)Formula: NiO" - }, - { - "type": "patchouli:multiblock", - "name": "Nickel", - "multiblock": - { - "mapping": { "0": "#forge:ores/nickel" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Melts into: Nickel$(br)Formula: Ni" - }, - { - "type": "patchouli:multiblock", - "name": "Cobaltite", - "multiblock": - { - "mapping": { "0": "#forge:ores/cobaltite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Cobalt, Arsenic$(br)Formula: CoAsS$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Pentlandite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pentlandite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Smelts into: Nickel$(br)Formula: Ni₉S₈" - }, - { - "type": "patchouli:multiblock", - "name": "Cobalt", - "multiblock": - { - "mapping": { "0": "#forge:ores/cobalt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Smelts into: Cobalt$(br)Formula: Co" - } - ] +{ + "name": "Garnierite & Cobaltite", + "icon": "gtceu:raw_garnierite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 140$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Gabbro$(br2)Indicator: Garnierite" + }, + { + "type": "patchouli:multiblock", + "name": "Garnierite", + "multiblock": + { + "mapping": { "0": "#forge:ores/garnierite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Melts into: Nickel$(br)Formula: NiO" + }, + { + "type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": + { + "mapping": { "0": "#forge:ores/nickel" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Melts into: Nickel$(br)Formula: Ni" + }, + { + "type": "patchouli:multiblock", + "name": "Cobaltite", + "multiblock": + { + "mapping": { "0": "#forge:ores/cobaltite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Cobalt, Arsenic$(br)Formula: CoAsS$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Pentlandite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pentlandite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Smelts into: Nickel$(br)Formula: Ni₉S₈" + }, + { + "type": "patchouli:multiblock", + "name": "Cobalt", + "multiblock": + { + "mapping": { "0": "#forge:ores/cobalt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Smelts into: Cobalt$(br)Formula: Co" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_gold.json index 905ebc69e..86014608c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_gold.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_gold.json @@ -1,56 +1,56 @@ -{ - "name": "Gold, Limonite, & Hematite", - "icon": "minecraft:raw_gold", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Disc Vein$(br)Y: -32 - 60$(br)Size: 40$(br)Height: 12$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Limonite, Hematite, Native Gold" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 55%$(br)Melts into: Gold$(br)Formula: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - } - ] +{ + "name": "Gold, Limonite, & Hematite", + "icon": "minecraft:raw_gold", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Disc Vein$(br)Y: -32 - 60$(br)Size: 40$(br)Height: 12$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Limonite, Hematite, Native Gold" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 55%$(br)Melts into: Gold$(br)Formula: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_graphite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_graphite.json index 8b6f7c0f2..0c50e503c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_graphite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_graphite.json @@ -1,45 +1,45 @@ -{ - "name": "Graphite & Diamond", - "icon": "minecraft:diamond", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 175$(br)Density: 0.35$(br)Type: Pipe Vein$(br)Y: -64 - 100$(br)Height: 60$(br)Radius: 12$(br2)Stone types: Gabbro$(br2)Indicator: Diamond, Graphite, Coal$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!" - }, - { - "type": "patchouli:multiblock", - "name": "Graphite", - "multiblock": - { - "mapping": { "0": "#forge:ores/graphite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 45%$(br)Used for: $(l:mechanics/fire_clay)Fire Clay$(), Graphene$(br)Formula: C" - }, - { - "type": "patchouli:multiblock", - "name": "Diamond", - "multiblock": - { - "mapping": { "0": "#forge:ores/diamond" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Used for: Macerators, AE2$(br)Formula: C" - }, - { - "type": "patchouli:multiblock", - "name": "Coal", - "multiblock": - { - "mapping": { "0": "#forge:ores/coal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Used for: Forge fuel, Distillation$(br)Formula: C" - } - ] +{ + "name": "Graphite & Diamond", + "icon": "minecraft:diamond", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 175$(br)Density: 0.35$(br)Type: Pipe Vein$(br)Y: -64 - 100$(br)Height: 60$(br)Radius: 12$(br2)Stone types: Gabbro$(br2)Indicator: Diamond, Graphite, Coal$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!" + }, + { + "type": "patchouli:multiblock", + "name": "Graphite", + "multiblock": + { + "mapping": { "0": "#forge:ores/graphite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 45%$(br)Used for: $(l:mechanics/fire_clay)Fire Clay$(), Graphene$(br)Formula: C" + }, + { + "type": "patchouli:multiblock", + "name": "Diamond", + "multiblock": + { + "mapping": { "0": "#forge:ores/diamond" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Used for: Macerators, AE2$(br)Formula: C" + }, + { + "type": "patchouli:multiblock", + "name": "Coal", + "multiblock": + { + "mapping": { "0": "#forge:ores/coal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Used for: Forge fuel, Distillation$(br)Formula: C" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_hematite.json index dfa0ca63a..94d6e0285 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_hematite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_hematite.json @@ -1,56 +1,56 @@ -{ - "name": "Hematite & Limonite", - "icon": "gtceu:raw_hematite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 210$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Hematite, Limonite, Native Gold" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Gold$(br)Formula: Au" - } - ] +{ + "name": "Hematite & Limonite", + "icon": "gtceu:raw_hematite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 210$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Hematite, Limonite, Native Gold" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Gold$(br)Formula: Au" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lapis.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lapis.json index 45b7d4178..c206a6786 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lapis.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lapis.json @@ -1,56 +1,56 @@ -{ - "name": "Lapis, Lazurite, & Sodalite", - "icon": "minecraft:lapis_lazuli", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -60 - 10$(br)Size: 50$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Lazurite, Sodalite, Lapis, Calcite$(br2)Mostly used for fluid filters." - }, - { - "type": "patchouli:multiblock", - "name": "Lazurite", - "multiblock": - { - "mapping": { "0": "#forge:ores/lazurite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Aluminium, Calcium, Sodium$(br)Formula: Al₆Si₆Ca₈Na₈" - }, - { - "type": "patchouli:multiblock", - "name": "Sodalite", - "multiblock": - { - "mapping": { "0": "#forge:ores/sodalite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Aluminium, Sodium$(br)Formula: Al₃Si₃Na₄Cl" - }, - { - "type": "patchouli:multiblock", - "name": "Calcite", - "multiblock": - { - "mapping": { "0": "#forge:ores/calcite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Calcium$(br)Formula: CaCO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Lapis", - "multiblock": - { - "mapping": { "0": "#forge:ores/lapis" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Lazurite, Sodalite, Pyrite, Calcite" - } - ] +{ + "name": "Lapis, Lazurite, & Sodalite", + "icon": "minecraft:lapis_lazuli", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -60 - 10$(br)Size: 50$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Lazurite, Sodalite, Lapis, Calcite$(br2)Mostly used for fluid filters." + }, + { + "type": "patchouli:multiblock", + "name": "Lazurite", + "multiblock": + { + "mapping": { "0": "#forge:ores/lazurite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Aluminium, Calcium, Sodium$(br)Formula: Al₆Si₆Ca₈Na₈" + }, + { + "type": "patchouli:multiblock", + "name": "Sodalite", + "multiblock": + { + "mapping": { "0": "#forge:ores/sodalite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Aluminium, Sodium$(br)Formula: Al₃Si₃Na₄Cl" + }, + { + "type": "patchouli:multiblock", + "name": "Calcite", + "multiblock": + { + "mapping": { "0": "#forge:ores/calcite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Calcium$(br)Formula: CaCO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": + { + "mapping": { "0": "#forge:ores/lapis" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Lazurite, Sodalite, Pyrite, Calcite" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_limonite.json index f9c186e69..9ef074f35 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_limonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_limonite.json @@ -1,56 +1,56 @@ -{ - "name": "Limonite", - "icon": "gtceu:raw_yellow_limonite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 190$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Marble, Limestone$(br2)Indicator: Limonite, Hematite, Malachite" - }, - { - "type": "patchouli:multiblock", - "name": "Yellow Limonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Goethite", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Hematite", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Malachite", - "multiblock": - { - "mapping": { "0": "#forge:ores/malachite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Copper$(br)Formula: Cu₂CH₂O₅" - } - ] +{ + "name": "Limonite", + "icon": "gtceu:raw_yellow_limonite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 190$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Marble, Limestone$(br2)Indicator: Limonite, Hematite, Malachite" + }, + { + "type": "patchouli:multiblock", + "name": "Yellow Limonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Goethite", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Cast Iron$(br)Formula: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Hematite", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Cast Iron$(br)Formula: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Malachite", + "multiblock": + { + "mapping": { "0": "#forge:ores/malachite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Copper$(br)Formula: Cu₂CH₂O₅" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lubricant.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lubricant.json index 0a30a5855..ba387d560 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lubricant.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_lubricant.json @@ -1,67 +1,67 @@ -{ - "name": "Soapstone, Talc, & Trona", - "icon": "gtceu:raw_soapstone", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 190$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 56$(br)Size: 36$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Soapstone, Talc, Glauconite Sand, Pentlandite, Trona" - }, - { - "type": "patchouli:multiblock", - "name": "Soapstone", - "multiblock": - { - "mapping": { "0": "#forge:ores/soapstone" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: Magnesium$(br)Formula: Mg₃Si₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Talc", - "multiblock": - { - "mapping": { "0": "#forge:ores/talc" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Magnesium$(br)Formula: Mg₃Si₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Glauconite Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/glauconite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Magnesium, Aluminium$(br)Formula: KMg₂Al₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Pentlandite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pentlandite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Smelts into: Nickel$(br)Formula: Ni₉S₈" - }, - { - "type": "patchouli:multiblock", - "name": "Trona", - "multiblock": - { - "mapping": { "0": "#forge:ores/trona" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Formula: Na₃C₂H(H₂O)₂O₆" - } - ] +{ + "name": "Soapstone, Talc, & Trona", + "icon": "gtceu:raw_soapstone", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 190$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 56$(br)Size: 36$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Soapstone, Talc, Glauconite Sand, Pentlandite, Trona" + }, + { + "type": "patchouli:multiblock", + "name": "Soapstone", + "multiblock": + { + "mapping": { "0": "#forge:ores/soapstone" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: Magnesium$(br)Formula: Mg₃Si₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Talc", + "multiblock": + { + "mapping": { "0": "#forge:ores/talc" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Magnesium$(br)Formula: Mg₃Si₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Glauconite Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/glauconite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Magnesium, Aluminium$(br)Formula: KMg₂Al₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Pentlandite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pentlandite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Smelts into: Nickel$(br)Formula: Ni₉S₈" + }, + { + "type": "patchouli:multiblock", + "name": "Trona", + "multiblock": + { + "mapping": { "0": "#forge:ores/trona" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Formula: Na₃C₂H(H₂O)₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_magnetite.json index ac13f9e99..a4590d621 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_magnetite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_magnetite.json @@ -1,45 +1,45 @@ -{ - "name": "Magnetite & Vanadium", - "icon": "gtceu:raw_magnetite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 200$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Magnetite, Native Gold" - }, - { - "type": "patchouli:multiblock", - "name": "Magnetite", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 65%$(br)Melts into: Cast Iron$(br)Formula: Fe₃O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Vanadium Magnetite", - "multiblock": - { - "mapping": { "0": "#forge:ores/vanadium_magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Iron, Vanadium$(br)Formula: (Fe₃O₄)V" - }, - { - "type": "patchouli:multiblock", - "name": "Gold", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Melts into: Gold$(br)Formula: Au" - } - ] +{ + "name": "Magnetite & Vanadium", + "icon": "gtceu:raw_magnetite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 200$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Magnetite, Native Gold" + }, + { + "type": "patchouli:multiblock", + "name": "Magnetite", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 65%$(br)Melts into: Cast Iron$(br)Formula: Fe₃O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Vanadium Magnetite", + "multiblock": + { + "mapping": { "0": "#forge:ores/vanadium_magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Iron, Vanadium$(br)Formula: (Fe₃O₄)V" + }, + { + "type": "patchouli:multiblock", + "name": "Gold", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Melts into: Gold$(br)Formula: Au" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_manganese.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_manganese.json index 2080957d0..09181fb78 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_manganese.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_manganese.json @@ -1,56 +1,56 @@ -{ - "name": "Manganese & Tantalum", - "icon": "gtceu:raw_grossular", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 195$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Grossular, Spessartine, Pyrolusite, Tantalite" - }, - { - "type": "patchouli:multiblock", - "name": "Grossular", - "multiblock": - { - "mapping": { "0": "#forge:ores/grossular" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: Calcium, Aluminium$(br)Formula: Ca₃Al₂Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Spessartine", - "multiblock": - { - "mapping": { "0": "#forge:ores/spessartine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Manganese, Aluminium$(br)Formula: Al₂Mn₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrolusite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrolusite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Smelts into: Manganese$(br)Formula: MnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Tantalite", - "multiblock": - { - "mapping": { "0": "#forge:ores/tantalite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Source of: Manganese, Tantalum$(br)Formula: MnTa₂O₆" - } - ] +{ + "name": "Manganese & Tantalum", + "icon": "gtceu:raw_grossular", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 195$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Grossular, Spessartine, Pyrolusite, Tantalite" + }, + { + "type": "patchouli:multiblock", + "name": "Grossular", + "multiblock": + { + "mapping": { "0": "#forge:ores/grossular" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: Calcium, Aluminium$(br)Formula: Ca₃Al₂Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Spessartine", + "multiblock": + { + "mapping": { "0": "#forge:ores/spessartine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Manganese, Aluminium$(br)Formula: Al₂Mn₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrolusite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrolusite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Smelts into: Manganese$(br)Formula: MnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Tantalite", + "multiblock": + { + "mapping": { "0": "#forge:ores/tantalite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Source of: Manganese, Tantalum$(br)Formula: MnTa₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_mica.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_mica.json index 9cd19806c..9b8bcc739 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_mica.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_mica.json @@ -1,56 +1,56 @@ -{ - "name": "Kyanite, Mica, & Bauxite", - "icon": "gtceu:raw_mica", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 190$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 36$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Kyanite, Mica, Bauxite, Pollucite" - }, - { - "type": "patchouli:multiblock", - "name": "Kyanite", - "multiblock": - { - "mapping": { "0": "#forge:ores/kyanite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Aluminium$(br)Formula: Al₂SiO₅" - }, - { - "type": "patchouli:multiblock", - "name": "Mica", - "multiblock": - { - "mapping": { "0": "#forge:ores/mica" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Potassium, Aluminium, Fluorine$(br)Formula: KAl₃Si₃F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Bauxite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bauxite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Pollucite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pollucite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Cs₂Al₂Si₄(H₂O)₂O₁₂" - } - ] +{ + "name": "Kyanite, Mica, & Bauxite", + "icon": "gtceu:raw_mica", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 190$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 36$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Kyanite, Mica, Bauxite, Pollucite" + }, + { + "type": "patchouli:multiblock", + "name": "Kyanite", + "multiblock": + { + "mapping": { "0": "#forge:ores/kyanite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Aluminium$(br)Formula: Al₂SiO₅" + }, + { + "type": "patchouli:multiblock", + "name": "Mica", + "multiblock": + { + "mapping": { "0": "#forge:ores/mica" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Potassium, Aluminium, Fluorine$(br)Formula: KAl₃Si₃F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Bauxite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bauxite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Aluminium$(br)Formula: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Pollucite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pollucite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Aluminium$(br)Formula: Cs₂Al₂Si₄(H₂O)₂O₁₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_monazite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_monazite.json index 3dce0bb92..a60f17681 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_monazite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_monazite.json @@ -1,45 +1,45 @@ -{ - "name": "Bastnasite & Monazite", - "icon": "gtceu:monazite_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 185$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -32 - 50$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Bastnasite, Monazite, Neodymium" - }, - { - "type": "patchouli:multiblock", - "name": "Bastnasite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bastnasite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Source of: Cerium, Fluorine$(br)Formula: CeCFO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Monazite", - "multiblock": - { - "mapping": { "0": "#forge:ores/monazite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Phosphorous, Rare Earth$(br)Formula: ?(PO₄)" - }, - { - "type": "patchouli:multiblock", - "name": "Neodymium", - "multiblock": - { - "mapping": { "0": "#forge:ores/neodymium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Formula: Nd" - } - ] +{ + "name": "Bastnasite & Monazite", + "icon": "gtceu:monazite_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 185$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -32 - 50$(br)Size: 40$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Bastnasite, Monazite, Neodymium" + }, + { + "type": "patchouli:multiblock", + "name": "Bastnasite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bastnasite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Source of: Cerium, Fluorine$(br)Formula: CeCFO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Monazite", + "multiblock": + { + "mapping": { "0": "#forge:ores/monazite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Phosphorous, Rare Earth$(br)Formula: ?(PO₄)" + }, + { + "type": "patchouli:multiblock", + "name": "Neodymium", + "multiblock": + { + "mapping": { "0": "#forge:ores/neodymium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Formula: Nd" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_oilsands.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_oilsands.json index b3c22e9b2..d2347422b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_oilsands.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_oilsands.json @@ -1,23 +1,23 @@ -{ - "name": "Oilsands", - "icon": "gtceu:raw_oilsands", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 185$(br)Density: 0.20$(br)Type: Cluster Vein$(br)Y: 0 - 70$(br)Size: 55$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Oilsands$(br2)Used as an early combustion fuel." - }, - { - "type": "patchouli:multiblock", - "name": "Oilsands", - "multiblock": - { - "mapping": { "0": "#forge:ores/oilsands" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 100%$(br)Source of: Freedom 🛢🦅🗽" - } - ] +{ + "name": "Oilsands", + "icon": "gtceu:raw_oilsands", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 185$(br)Density: 0.20$(br)Type: Cluster Vein$(br)Y: 0 - 70$(br)Size: 55$(br2)Stone types: Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Oilsands$(br2)Used as an early combustion fuel." + }, + { + "type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": + { + "mapping": { "0": "#forge:ores/oilsands" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 100%$(br)Source of: Freedom 🛢🦅🗽" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_olivine.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_olivine.json index 1ce95f763..f9066eb7e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_olivine.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_olivine.json @@ -1,56 +1,56 @@ -{ - "name": "Bentonite & Olivine", - "icon": "gtceu:olivine_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 180$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 30$(br)Size: 26$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Bentonite, Magnesite, Olivine, Glauconite Sand" - }, - { - "type": "patchouli:multiblock", - "name": "Bentonite", - "multiblock": - { - "mapping": { "0": "#forge:ores/bentonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Magnesium$(br)Formula: NaMg₆Si₁₂H₄(H₂O)₅O₃₆" - }, - { - "type": "patchouli:multiblock", - "name": "Magnesite", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnesite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: MgCO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Olivine", - "multiblock": - { - "mapping": { "0": "#forge:ores/olivine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: Mg₂Fe(SiO₂)₂" - }, - { - "type": "patchouli:multiblock", - "name": "Glauconite Sand", - "multiblock": - { - "mapping": { "0": "#forge:ores/glauconite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Magnesium, Aluminium$(br)Formula: KMg₂Al₄H₂O₁₂" - } - ] +{ + "name": "Bentonite & Olivine", + "icon": "gtceu:olivine_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 180$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: -40 - 30$(br)Size: 26$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Granite, Diorite, Gabbro$(br2)Indicator: Bentonite, Magnesite, Olivine, Glauconite Sand" + }, + { + "type": "patchouli:multiblock", + "name": "Bentonite", + "multiblock": + { + "mapping": { "0": "#forge:ores/bentonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Magnesium$(br)Formula: NaMg₆Si₁₂H₄(H₂O)₅O₃₆" + }, + { + "type": "patchouli:multiblock", + "name": "Magnesite", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnesite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: MgCO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Olivine", + "multiblock": + { + "mapping": { "0": "#forge:ores/olivine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Magnesium$(br)Formula: Mg₂Fe(SiO₂)₂" + }, + { + "type": "patchouli:multiblock", + "name": "Glauconite Sand", + "multiblock": + { + "mapping": { "0": "#forge:ores/glauconite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Magnesium, Aluminium$(br)Formula: KMg₂Al₄H₂O₁₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_quartz.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_quartz.json index 0cadf76b4..144c7687c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_quartz.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_quartz.json @@ -1,56 +1,56 @@ -{ - "name": "Quartzes", - "icon": "minecraft:quartz", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 150$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 100$(br)Size: 40$(br2)Stone types: Shale, Quartzite, Schist, Gneiss$(br2)Indicator: Certus Quartz, Nether Quartz, and Quartzite Buds" - }, - { - "type": "patchouli:multiblock", - "name": "Quartzite", - "multiblock": - { - "mapping": { "0": "#forge:ores/quartzite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 45%$(br)Formula: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Certus Quartz", - "multiblock": - { - "mapping": { "0": "#forge:ores/certus_quartz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Used for: Applied Energistics 2$(br)Formula: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Nether Quartz", - "multiblock": - { - "mapping": { "0": "#forge:ores/nether_quartz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 10%$(br)Used for: Applied Energistics 2$(br)Formula: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Barite", - "multiblock": - { - "mapping": { "0": "#forge:ores/barite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Barium$(br)Formula: BaSO₂" - } - ] -} +{ + "name": "Quartzes", + "icon": "minecraft:quartz", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 150$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 100$(br)Size: 40$(br2)Stone types: Shale, Quartzite, Schist, Gneiss$(br2)Indicator: Certus Quartz, Nether Quartz, and Quartzite Buds" + }, + { + "type": "patchouli:multiblock", + "name": "Quartzite", + "multiblock": + { + "mapping": { "0": "#forge:ores/quartzite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 45%$(br)Formula: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Certus Quartz", + "multiblock": + { + "mapping": { "0": "#forge:ores/certus_quartz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Used for: Applied Energistics 2$(br)Formula: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Nether Quartz", + "multiblock": + { + "mapping": { "0": "#forge:ores/nether_quartz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 10%$(br)Used for: Applied Energistics 2$(br)Formula: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Barite", + "multiblock": + { + "mapping": { "0": "#forge:ores/barite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Barium$(br)Formula: BaSO₂" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_redstone.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_redstone.json index ae5ddf7ea..7e7b90dcd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_redstone.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_redstone.json @@ -1,45 +1,45 @@ -{ - "name": "Redstone, Cinnabar, & Ruby", - "icon": "minecraft:redstone", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 160$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 100$(br)Size: 40$(br2)Stone types: Granite$(br2)Indicator: Redstone, Ruby, Cinnabar$(br2)Can't find it? Try looking in oceans, the Redstone glows!" - }, - { - "type": "patchouli:multiblock", - "name": "Redstone", - "multiblock": - { - "mapping": { "0": "#forge:ores/redstone" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 45%$(br)Melts into: Redstone$(br)Formula: Si(FeS₂)₅(CrAl₂O₃)Hg₃" - }, - { - "type": "patchouli:multiblock", - "name": "Ruby", - "multiblock": - { - "mapping": { "0": "#forge:ores/ruby" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Aluminium, Chromium$(br)Formula: CrAl₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Cinnabar", - "multiblock": - { - "mapping": { "0": "#forge:ores/cinnabar" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Mercury$(br)Formula: HgS$(br)Hazardous: Yes" - } - ] +{ + "name": "Redstone, Cinnabar, & Ruby", + "icon": "minecraft:redstone", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 160$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 100$(br)Size: 40$(br2)Stone types: Granite$(br2)Indicator: Redstone, Ruby, Cinnabar$(br2)Can't find it? Try looking in oceans, the Redstone glows!" + }, + { + "type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": + { + "mapping": { "0": "#forge:ores/redstone" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 45%$(br)Melts into: Redstone$(br)Formula: Si(FeS₂)₅(CrAl₂O₃)Hg₃" + }, + { + "type": "patchouli:multiblock", + "name": "Ruby", + "multiblock": + { + "mapping": { "0": "#forge:ores/ruby" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Aluminium, Chromium$(br)Formula: CrAl₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Cinnabar", + "multiblock": + { + "mapping": { "0": "#forge:ores/cinnabar" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Mercury$(br)Formula: HgS$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_salt.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_salt.json index a9e3934b8..db640427b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_salt.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_salt.json @@ -1,56 +1,56 @@ -{ - "name": "Salts & Borax", - "icon": "tfc:powder/salt", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 175$(br)Density: 0.4$(br)Type: Disc Vein$(br)Y: 30 - 70$(br)Size: 40$(br)Height: 4$(br2)Stone types: Shale, Claystone, Limestone$(br2)Indicator: Salt lick, Rock salt, Lepidolite, Borax" - }, - { - "type": "patchouli:multiblock", - "name": "Rock Salt", - "multiblock": - { - "mapping": { "0": "#forge:ores/rock_salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Source of: Potassium, Chlorine$(br)Formula: KCl" - }, - { - "type": "patchouli:multiblock", - "name": "Salt", - "multiblock": - { - "mapping": { "0": "#forge:ores/salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: High blood pressure$(br)Formula: NaCl" - }, - { - "type": "patchouli:multiblock", - "name": "Lepidolite", - "multiblock": - { - "mapping": { "0": "#forge:ores/lepidolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Potassium, Lithium, Aluminium, Fluorine$(br)Formula: KLi₃Al₄F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Borax", - "multiblock": - { - "mapping": { "0": "#forge:ores/borax" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Boron$(br)Formula: Na₂B₄(H₂O)₁₀O₇" - } - ] +{ + "name": "Salts & Borax", + "icon": "tfc:powder/salt", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 175$(br)Density: 0.4$(br)Type: Disc Vein$(br)Y: 30 - 70$(br)Size: 40$(br)Height: 4$(br2)Stone types: Shale, Claystone, Limestone$(br2)Indicator: Salt lick, Rock salt, Lepidolite, Borax" + }, + { + "type": "patchouli:multiblock", + "name": "Rock Salt", + "multiblock": + { + "mapping": { "0": "#forge:ores/rock_salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Source of: Potassium, Chlorine$(br)Formula: KCl" + }, + { + "type": "patchouli:multiblock", + "name": "Salt", + "multiblock": + { + "mapping": { "0": "#forge:ores/salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: High blood pressure$(br)Formula: NaCl" + }, + { + "type": "patchouli:multiblock", + "name": "Lepidolite", + "multiblock": + { + "mapping": { "0": "#forge:ores/lepidolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Potassium, Lithium, Aluminium, Fluorine$(br)Formula: KLi₃Al₄F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Borax", + "multiblock": + { + "mapping": { "0": "#forge:ores/borax" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Boron$(br)Formula: Na₂B₄(H₂O)₁₀O₇" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_saltpeter.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_saltpeter.json index 6205b5c3e..4776bbf74 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_saltpeter.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_saltpeter.json @@ -1,56 +1,56 @@ -{ - "name": "Saltpeter & Electrotine", - "icon": "gtceu:raw_saltpeter", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 210$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Saltpeter, Diatomite, Electrotine, Alunite" - }, - { - "type": "patchouli:multiblock", - "name": "Saltpeter", - "multiblock": - { - "mapping": { "0": "#forge:ores/saltpeter" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Potassium$(br)Formula: KNO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Diatomite", - "multiblock": - { - "mapping": { "0": "#forge:ores/diatomite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Iron, Aluminium$(br)Formula: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" - }, - { - "type": "patchouli:multiblock", - "name": "Electrotine", - "multiblock": - { - "mapping": { "0": "#forge:ores/electrotine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Source of: Gold, Silver, Redstone$(br)Formula: (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)" - }, - { - "type": "patchouli:multiblock", - "name": "Alunite", - "multiblock": - { - "mapping": { "0": "#forge:ores/alunite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Potassium, Aluminium$(br)Formula: KAl₃Si₂H₆O₁₄" - } - ] +{ + "name": "Saltpeter & Electrotine", + "icon": "gtceu:raw_saltpeter", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 210$(br)Density: 0.3$(br)Type: Cluster Vein$(br)Y: -32 - 60$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Saltpeter, Diatomite, Electrotine, Alunite" + }, + { + "type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": + { + "mapping": { "0": "#forge:ores/saltpeter" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Potassium$(br)Formula: KNO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Diatomite", + "multiblock": + { + "mapping": { "0": "#forge:ores/diatomite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Iron, Aluminium$(br)Formula: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" + }, + { + "type": "patchouli:multiblock", + "name": "Electrotine", + "multiblock": + { + "mapping": { "0": "#forge:ores/electrotine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Source of: Gold, Silver, Redstone$(br)Formula: (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)" + }, + { + "type": "patchouli:multiblock", + "name": "Alunite", + "multiblock": + { + "mapping": { "0": "#forge:ores/alunite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Potassium, Aluminium$(br)Formula: KAl₃Si₂H₆O₁₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_silver.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_silver.json index bbdc7f18e..0beca1f10 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_silver.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_silver.json @@ -1,45 +1,45 @@ -{ - "name": "Silver, Galena, & Lead", - "icon": "gtceu:raw_silver", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 160$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Gneiss$(br2)Indicator: Native Silver" - }, - { - "type": "patchouli:multiblock", - "name": "Galena", - "multiblock": - { - "mapping": { "0": "#forge:ores/galena" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Smelts into: Lead$(br)Formula: PbS$(br)Hazardous: Yes" - }, - { - "type": "patchouli:multiblock", - "name": "Silver", - "multiblock": - { - "mapping": { "0": "#forge:ores/silver" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Silver$(br)Formula: Ag" - }, - { - "type": "patchouli:multiblock", - "name": "Lead", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 55%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" - } - ] +{ + "name": "Silver, Galena, & Lead", + "icon": "gtceu:raw_silver", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 160$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Granite, Gneiss$(br2)Indicator: Native Silver" + }, + { + "type": "patchouli:multiblock", + "name": "Galena", + "multiblock": + { + "mapping": { "0": "#forge:ores/galena" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Smelts into: Lead$(br)Formula: PbS$(br)Hazardous: Yes" + }, + { + "type": "patchouli:multiblock", + "name": "Silver", + "multiblock": + { + "mapping": { "0": "#forge:ores/silver" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Silver$(br)Formula: Ag" + }, + { + "type": "patchouli:multiblock", + "name": "Lead", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 55%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sphalerite.json index 080cdf4cf..0b52d9932 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sphalerite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sphalerite.json @@ -1,45 +1,45 @@ -{ - "name": "Sphalerite & Pyrite", - "icon": "gtceu:raw_sphalerite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Sphalerite" - }, - { - "type": "patchouli:multiblock", - "name": "Sphalerite", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Melts into: Zinc$(br)Formula: ZnS" - }, - { - "type": "patchouli:multiblock", - "name": "Sulfur", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Formula: S" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 25%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" - } - ] +{ + "name": "Sphalerite & Pyrite", + "icon": "gtceu:raw_sphalerite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Sphalerite" + }, + { + "type": "patchouli:multiblock", + "name": "Sphalerite", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Melts into: Zinc$(br)Formula: ZnS" + }, + { + "type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Formula: S" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 25%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_spodumene.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_spodumene.json index 100585647..15179ab4d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_spodumene.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_spodumene.json @@ -1,56 +1,56 @@ -{ - "name": "Spodumene & Lepidolite", - "icon": "gtceu:raw_spodumene", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 180$(br)Density: 0.375$(br)Type: Disc Vein$(br)Y: 20 - 60$(br)Size: 35$(br)Height: 6$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Salt lick, Rock salt, Lepidolite, Spodumene" - }, - { - "type": "patchouli:multiblock", - "name": "Rock Salt", - "multiblock": - { - "mapping": { "0": "#forge:ores/rock_salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Source of: Potassium, Chlorine$(br)Formula: KCl" - }, - { - "type": "patchouli:multiblock", - "name": "Salt", - "multiblock": - { - "mapping": { "0": "#forge:ores/salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Source of: High blood pressure$(br)Formula: NaCl" - }, - { - "type": "patchouli:multiblock", - "name": "Lepidolite", - "multiblock": - { - "mapping": { "0": "#forge:ores/lepidolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Potassium, Lithium, Aluminium, Fluorine$(br)Formula: KLi₃Al₄F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Spodumene", - "multiblock": - { - "mapping": { "0": "#forge:ores/spodumene" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Source of: Lithium, Aluminium$(br)Formula: LiAlSi₂O₆" - } - ] +{ + "name": "Spodumene & Lepidolite", + "icon": "gtceu:raw_spodumene", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 180$(br)Density: 0.375$(br)Type: Disc Vein$(br)Y: 20 - 60$(br)Size: 35$(br)Height: 6$(br2)Stone types: Granite, Diorite, Gabbro, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Salt lick, Rock salt, Lepidolite, Spodumene" + }, + { + "type": "patchouli:multiblock", + "name": "Rock Salt", + "multiblock": + { + "mapping": { "0": "#forge:ores/rock_salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Source of: Potassium, Chlorine$(br)Formula: KCl" + }, + { + "type": "patchouli:multiblock", + "name": "Salt", + "multiblock": + { + "mapping": { "0": "#forge:ores/salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Source of: High blood pressure$(br)Formula: NaCl" + }, + { + "type": "patchouli:multiblock", + "name": "Lepidolite", + "multiblock": + { + "mapping": { "0": "#forge:ores/lepidolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Potassium, Lithium, Aluminium, Fluorine$(br)Formula: KLi₃Al₄F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Spodumene", + "multiblock": + { + "mapping": { "0": "#forge:ores/spodumene" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Source of: Lithium, Aluminium$(br)Formula: LiAlSi₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sulfur.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sulfur.json index 4678e227f..827392484 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sulfur.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_sulfur.json @@ -1,45 +1,45 @@ -{ - "name": "Sulfur & Pyrite", - "icon": "gtceu:raw_sulfur", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 165$(br)Density: 0.2$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 45$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Sulfur, Pyrite, Sphalerite" - }, - { - "type": "patchouli:multiblock", - "name": "Sulfur", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Formula: S" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 35%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Sphalerite", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Melts into: Zinc$(br)Formula: ZnS" - } - ] +{ + "name": "Sulfur & Pyrite", + "icon": "gtceu:raw_sulfur", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 165$(br)Density: 0.2$(br)Type: Cluster Vein$(br)Y: 0 - 210$(br)Size: 45$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Sulfur, Pyrite, Sphalerite" + }, + { + "type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Formula: S" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 35%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Sphalerite", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Melts into: Zinc$(br)Formula: ZnS" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_tetrahedrite.json index 84a791aac..a525b3be4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_tetrahedrite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/normal_tetrahedrite.json @@ -1,45 +1,45 @@ -{ - "name": "Tetrahedrite (Normal)", - "icon": "gtceu:raw_tetrahedrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Tetrahedrite, Native Copper" - }, - { - "type": "patchouli:multiblock", - "name": "Tetrahedrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/tetrahedrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 50%$(br)Melts into: Copper$(br)Formula: Cu₃SbS₃Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Native Copper", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 30%$(br)Melts into: Copper$(br)Formula: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Stibnite", - "multiblock": - { - "mapping": { "0": "#forge:ores/stibnite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Smelts into: Antimony$(br)Formula: Sb₂S₃" - } - ] +{ + "name": "Tetrahedrite (Normal)", + "icon": "gtceu:raw_tetrahedrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 170$(br)Density: 0.4$(br)Type: Cluster Vein$(br)Y: -32 - 75$(br)Size: 40$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Tetrahedrite, Native Copper" + }, + { + "type": "patchouli:multiblock", + "name": "Tetrahedrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/tetrahedrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 50%$(br)Melts into: Copper$(br)Formula: Cu₃SbS₃Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Native Copper", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 30%$(br)Melts into: Copper$(br)Formula: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Stibnite", + "multiblock": + { + "mapping": { "0": "#forge:ores/stibnite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Smelts into: Antimony$(br)Formula: Sb₂S₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json index eeeb0da58..ca16d1ff2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json @@ -1,59 +1,59 @@ -{ - "name": "Mining in TFG", - "icon": "gtceu:pyrite_dust", - "category": "tfc:tfg_ores", - "priority": true, - "sortnum": 0, - "pages": [ - { - "type": "patchouli:text", - "text": "There are two ways of mining ores - with a $(thing)Pickaxe$(), or with a $(thing)Hammer$().$(br)Generally, you should mine anything meltable (such as $(thing)Copper$()) with a hammer, and everything else with a pickaxe, but check JEI if you're unsure." - }, - { - "type": "patchouli:spotlight", - "title": "Pickaxe", - "text": "Breaking an ore block with a pickaxe will yield $(thing)Raw$() ores (poor, normal, or rich), as well as some stone dust. These are not worth much mB each and you will need multiple to make a single ingot, however some other minerals are only useable in this state, such as $(thing)Coal$().", - "item": { - "tag": "minecraft:pickaxes" - } - }, - { - "type": "patchouli:spotlight", - "title": "Hammer", - "text": "Breaking an ore block with a hammer will yield 1-2 $(thing)Crushed Ores$(). These already melt into more mB than Raw ores, but with a little $(l:tfg_ores/ore_basics#processing)extra processing$() they can be worth even more!", - "item": { - "tag": "forge:tools/hammers" - } - }, - { - "type": "patchouli:spotlight", - "title": "Mining Hammer", - "text": "These are basically a pickaxe with a 3x3 range, and will yield $(thing)Raw$() ores as well. Also good for clearing stone after you've hammered the ores out!$(br2)Holding $(thing)Sneak$() will only break a single block at a time.", - "item": { - "tag": "forge:tools/mining_hammers" - } - }, - { - "type": "patchouli:spotlight", - "title": "Basic ore processing", - "anchor": "processing", - "item": "gtceu:copper_dust", - "text": "To make your crushed ores melt into even more mB, first place them in a crafting grid along with a $(thing)Hammer$(). This will produce $(thing)Impure Dust$().$(br2)To further purify it, throw the dust into some water and wait a few seconds, or right-click a $(thing)Cauldron$() filled with water." - }, - { - "type": "patchouli:crafting", - "title": "Impure Dust", - "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper" - }, - { - "type": "patchouli:spotlight", - "title": "Steam Age", - "text": "Once you have $(thing)Steam machines$(), you can mine everything with a $(thing)Mining Hammer$() - putting Raw ores into a $(thing)Steam Forge Hammer$() or $(thing)Steam Macerator$() gives about the same yield as mining with a Hammer yourself.", - "item": "gtceu:hp_steam_forge_hammer,gtceu:hp_steam_macerator" - }, - { - "type": "patchouli:text", - "text": "Later, when you're in LV, check the LV quests to learn about all the different ore processing machines and extra byproducts they can give you. Remember the $(thing)Macerator$() does not give byproducts until $(thing)HV$()!" - } - ] -} +{ + "name": "Mining in TFG", + "icon": "gtceu:pyrite_dust", + "category": "tfc:tfg_ores", + "priority": true, + "sortnum": 0, + "pages": [ + { + "type": "patchouli:text", + "text": "There are two ways of mining ores - with a $(thing)Pickaxe$(), or with a $(thing)Hammer$().$(br)Generally, you should mine anything meltable (such as $(thing)Copper$()) with a hammer, and everything else with a pickaxe, but check JEI if you're unsure." + }, + { + "type": "patchouli:spotlight", + "title": "Pickaxe", + "text": "Breaking an ore block with a pickaxe will yield $(thing)Raw$() ores (poor, normal, or rich), as well as some stone dust. These are not worth much mB each and you will need multiple to make a single ingot, however some other minerals are only useable in this state, such as $(thing)Coal$().", + "item": { + "tag": "minecraft:pickaxes" + } + }, + { + "type": "patchouli:spotlight", + "title": "Hammer", + "text": "Breaking an ore block with a hammer will yield 1-2 $(thing)Crushed Ores$(). These already melt into more mB than Raw ores, but with a little $(l:tfg_ores/ore_basics#processing)extra processing$() they can be worth even more!", + "item": { + "tag": "forge:tools/hammers" + } + }, + { + "type": "patchouli:spotlight", + "title": "Mining Hammer", + "text": "These are basically a pickaxe with a 3x3 range, and will yield $(thing)Raw$() ores as well. Also good for clearing stone after you've hammered the ores out!$(br2)Holding $(thing)Sneak$() will only break a single block at a time.", + "item": { + "tag": "forge:tools/mining_hammers" + } + }, + { + "type": "patchouli:spotlight", + "title": "Basic ore processing", + "anchor": "processing", + "item": "gtceu:copper_dust", + "text": "To make your crushed ores melt into even more mB, first place them in a crafting grid along with a $(thing)Hammer$(). This will produce $(thing)Impure Dust$().$(br2)To further purify it, throw the dust into some water and wait a few seconds, or right-click a $(thing)Cauldron$() filled with water." + }, + { + "type": "patchouli:crafting", + "title": "Impure Dust", + "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper" + }, + { + "type": "patchouli:spotlight", + "title": "Steam Age", + "text": "Once you have $(thing)Steam machines$(), you can mine everything with a $(thing)Mining Hammer$() - putting Raw ores into a $(thing)Steam Forge Hammer$() or $(thing)Steam Macerator$() gives about the same yield as mining with a Hammer yourself.", + "item": "gtceu:hp_steam_forge_hammer,gtceu:hp_steam_macerator" + }, + { + "type": "patchouli:text", + "text": "Later, when you're in LV, check the LV quests to learn about all the different ore processing machines and extra byproducts they can give you. Remember the $(thing)Macerator$() does not give byproducts until $(thing)HV$()!" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_bismuth.json index c2865489a..2be98e09e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_bismuth.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_bismuth.json @@ -1,45 +1,45 @@ -{ - "name": "Bismuth (Surface)", - "icon": "gtceu:poor_raw_bismuth", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bismuthinite$(br)Only used for Bismuth Bronze." - }, - { - "type": "patchouli:multiblock", - "name": "Bismuth", - "multiblock": - { - "mapping": { "0": "#forge:ores/bismuth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 90%$(br)Melts into: Bismuth$(br)Formula: Bi" - }, - { - "type": "patchouli:multiblock", - "name": "Sulfur", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 3%$(br)Formula: S" - }, - { - "type": "patchouli:multiblock", - "name": "Lead", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 7%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" - } - ] +{ + "name": "Bismuth (Surface)", + "icon": "gtceu:poor_raw_bismuth", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro, Shale, Claystone, Limestone, Conglomerate, Dolomite, Chert, Chalk$(br2)Indicator: Bismuthinite$(br)Only used for Bismuth Bronze." + }, + { + "type": "patchouli:multiblock", + "name": "Bismuth", + "multiblock": + { + "mapping": { "0": "#forge:ores/bismuth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 90%$(br)Melts into: Bismuth$(br)Formula: Bi" + }, + { + "type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 3%$(br)Formula: S" + }, + { + "type": "patchouli:multiblock", + "name": "Lead", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 7%$(br)Smelts into: Lead$(br)Formula: Pb$(br)Hazardous: Yes" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_cassiterite.json index ddf64ea6f..1578a4734 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_cassiterite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_cassiterite.json @@ -1,34 +1,34 @@ -{ - "name": "Cassiterite (Surface)", - "icon": "gtceu:poor_raw_cassiterite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 135$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Cassiterite" - }, - { - "type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 60%$(br)Melts into: Tin$(br)Formula: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Tin", - "multiblock": - { - "mapping": { "0": "#forge:ores/tin" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Melts into: Tin$(br)Formula: Sn" - } - ] +{ + "name": "Cassiterite (Surface)", + "icon": "gtceu:poor_raw_cassiterite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 135$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Granite, Diorite, Gabbro$(br2)Indicator: Cassiterite" + }, + { + "type": "patchouli:multiblock", + "name": "Cassiterite", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 60%$(br)Melts into: Tin$(br)Formula: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Tin", + "multiblock": + { + "mapping": { "0": "#forge:ores/tin" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Melts into: Tin$(br)Formula: Sn" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_copper.json index 04e937638..b1b80768a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_copper.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_copper.json @@ -1,60 +1,60 @@ -{ - "name": "Chalcopyrite & Realgar", - "icon": "gtceu:raw_chalcopyrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 30 - 210$(br)Size: 50$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Native Copper, Cassiterite, Realgar" - }, - { - "type": "patchouli:multiblock", - "name": "Chalcopyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcopyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 55%$(br)Melts into: Copper$(br)Formula: CuFeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Zeolite", - "multiblock": - { - "mapping": { "0": "#forge:ores/zeolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Aluminium, Oxygen$(br)Formula: NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂" - }, - { - "type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Tin$(br)Formula: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Realgar", - "multiblock": - { - "mapping": { "0": "#forge:ores/realgar" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 15%$(br)Source of: Arsenic$(br)Formula: As₄S₄$(br)Hazardous: Yes" - }, - { - "type": "patchouli:text", - "text": "If you're having trouble finding Realgar, another source of Arsenic is $(l:tfg_ores/normal_garnierite)Cobaltite$(), although it will require an $(thing)Electric Blast Furnace$() to process." - } - ] +{ + "name": "Chalcopyrite & Realgar", + "icon": "gtceu:raw_chalcopyrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 30 - 210$(br)Size: 50$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite$(br2)Indicator: Native Copper, Cassiterite, Realgar" + }, + { + "type": "patchouli:multiblock", + "name": "Chalcopyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcopyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 55%$(br)Melts into: Copper$(br)Formula: CuFeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Zeolite", + "multiblock": + { + "mapping": { "0": "#forge:ores/zeolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Aluminium, Oxygen$(br)Formula: NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂" + }, + { + "type": "patchouli:multiblock", + "name": "Cassiterite", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Tin$(br)Formula: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Realgar", + "multiblock": + { + "mapping": { "0": "#forge:ores/realgar" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 15%$(br)Source of: Arsenic$(br)Formula: As₄S₄$(br)Hazardous: Yes" + }, + { + "type": "patchouli:text", + "text": "If you're having trouble finding Realgar, another source of Arsenic is $(l:tfg_ores/normal_garnierite)Cobaltite$(), although it will require an $(thing)Electric Blast Furnace$() to process." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_kaolin.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_kaolin.json index bd6ae1a67..fd09d1448 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_kaolin.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_kaolin.json @@ -1,53 +1,53 @@ -{ - "name": "Kaolin Clay", - "icon": "tfc:kaolin_clay", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "anchor": "kaolinite", - "text": "Kaolin Clay is required to make $(l:mechanics/fire_clay)Fire Clay$(). It can be found spawning at high altitudes in Plateaus, Old Mountains, Rolling Hills, and Highlands, at a $(l:the_world/climate#temperature)temperature$() of at least 18°C, with a $(l:the_world/climate#rainfall)rainfall$() of at least 300mm. The $(thing)Blood Lily$() flower grows on Kaolin clay." - }, - { - "type": "tfc:multimultiblock", - "text": "Generally, go $(thing)South East$() to increase temperature and humidity.", - "multiblocks": [ - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:kaolin_clay_grass" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:red_kaolin_clay" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:white_kaolin_clay" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:pink_kaolin_clay" - } - } - ] - }, - { - "type": "patchouli:spotlight", - "item": "tfc:powder/kaolinite", - "anchor": "powder", - "text": "Only $(thing)20%$() of Kaolin Clay will turn into $(thing)Kaolinite Powder$(), so it's recommended to bake it on-site using $(l:getting_started/pit_kiln)Pit Kilns$() to save inventory space.$(br2)Bring home around 20 $(thing)Blocks$() of Kaolin Clay as well, for $(l:mechanics/glassworking_applications)Glassworking$() later." - } - ] +{ + "name": "Kaolin Clay", + "icon": "tfc:kaolin_clay", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "anchor": "kaolinite", + "text": "Kaolin Clay is required to make $(l:mechanics/fire_clay)Fire Clay$(). It can be found spawning at high altitudes in Plateaus, Old Mountains, Rolling Hills, and Highlands, at a $(l:the_world/climate#temperature)temperature$() of at least 18°C, with a $(l:the_world/climate#rainfall)rainfall$() of at least 300mm. The $(thing)Blood Lily$() flower grows on Kaolin clay." + }, + { + "type": "tfc:multimultiblock", + "text": "Generally, go $(thing)South East$() to increase temperature and humidity.", + "multiblocks": [ + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:kaolin_clay_grass" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:red_kaolin_clay" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:white_kaolin_clay" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:pink_kaolin_clay" + } + } + ] + }, + { + "type": "patchouli:spotlight", + "item": "tfc:powder/kaolinite", + "anchor": "powder", + "text": "Only $(thing)20%$() of Kaolin Clay will turn into $(thing)Kaolinite Powder$(), so it's recommended to bake it on-site using $(l:getting_started/pit_kiln)Pit Kilns$() to save inventory space.$(br2)Bring home around 20 $(thing)Blocks$() of Kaolin Clay as well, for $(l:mechanics/glassworking_applications)Glassworking$() later." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_sphalerite.json index a888a26ad..dd3306166 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_sphalerite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_sphalerite.json @@ -1,45 +1,45 @@ -{ - "name": "Sphalerite & Sulfur", - "icon": "gtceu:poor_raw_sphalerite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 145$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Sphalerite" - }, - { - "type": "patchouli:multiblock", - "name": "Sphalerite", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 40%$(br)Melts into: Zinc$(br)Formula: ZnS" - }, - { - "type": "patchouli:multiblock", - "name": "Sulfur", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 55%$(br)Formula: S" - }, - { - "type": "patchouli:multiblock", - "name": "Pyrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" - } - ] +{ + "name": "Sphalerite & Sulfur", + "icon": "gtceu:poor_raw_sphalerite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 145$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Rhyolite, Basalt, Andesite, Dacite, Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Sphalerite" + }, + { + "type": "patchouli:multiblock", + "name": "Sphalerite", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 40%$(br)Melts into: Zinc$(br)Formula: ZnS" + }, + { + "type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 55%$(br)Formula: S" + }, + { + "type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 5%$(br)Melts into: Cast Iron$(br)Formula: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_tetrahedrite.json index 6565685d5..2b7cbd0e3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_tetrahedrite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/surface_tetrahedrite.json @@ -1,45 +1,45 @@ -{ - "name": "Tetrahedrite (Surface)", - "icon": "gtceu:poor_raw_tetrahedrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Tetrahedrite, Native Copper" - }, - { - "type": "patchouli:multiblock", - "name": "Tetrahedrite", - "multiblock": - { - "mapping": { "0": "#forge:ores/tetrahedrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 60%$(br)Melts into: Copper$(br)Formula: Cu₃SbS₃Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Native Copper", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Stibnite", - "multiblock": - { - "mapping": { "0": "#forge:ores/stibnite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Percentage: 20%$(br)Smelts into: Antimony$(br)Formula: Sb₂S₃" - } - ] +{ + "name": "Tetrahedrite (Surface)", + "icon": "gtceu:poor_raw_tetrahedrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Rarity: 140$(br)Density: 0.25$(br)Type: Cluster Vein$(br)Y: 60 - 210$(br)Size: 50$(br2)Stone types: Quartzite, Slate, Phyllite, Schist, Gneiss, Marble$(br2)Indicator: Tetrahedrite, Native Copper" + }, + { + "type": "patchouli:multiblock", + "name": "Tetrahedrite", + "multiblock": + { + "mapping": { "0": "#forge:ores/tetrahedrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 60%$(br)Melts into: Copper$(br)Formula: Cu₃SbS₃Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Native Copper", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Melts into: Copper$(br)Formula: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Stibnite", + "multiblock": + { + "mapping": { "0": "#forge:ores/stibnite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Percentage: 20%$(br)Smelts into: Antimony$(br)Formula: Sb₂S₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/mechanical_power.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/basic_automation.json similarity index 80% rename from kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/mechanical_power.json rename to kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/basic_automation.json index 400a802de..9f5453e86 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/mechanical_power.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/basic_automation.json @@ -1,39 +1,39 @@ -{ - "name": "Basic Automation", - "category": "tfc:mechanics", - "icon": "gtceu:coke_oven", - "pages": - [ - { - "type": "patchouli:text", - "title": "Basic Automation", - "text": "Tired of making charcoal in huge pits? Once you've got $(l:mechanics/bloomery)Wrought Iron$(), you'll be able to make your first GregTech multiblock, the $(item)Coke Oven$().$(br)It will turn logs into $(thing)charcoal$() automatically, as well as upgrade any $(thing)Coal$() into $(thing)Coke$() which burns twice as long in a $(l:mechanics/charcoal_forge)Forge$().$(br)All recipes output $(thing)Creosote$(), which can be used as a lamp fuel and is required for $(l:mechanics/pumps)Create$()." - }, - { - "type": "patchouli:spotlight", - "title": "Coke Oven", - "item": "gtceu:coke_oven,gtceu:coke_oven_bricks,gtceu:coke_oven_hatch", - "text": "Use JEI for a multiblock preview by looking at the $(thing)Coke Oven$() and pressing $(item)$(k:jei.showUses)$(). You can click individual blocks to see what's valid there.$(br2)Note that the center is hollow, and up to 5 $(thing)Coke Oven Hatches$() can be placed anywhere instead of bricks." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:tin_small_item_pipe", - "title": "Item Pipes", - "text": "Hatches will automatically pull items into them and push fluids and items out, so you can put $(l:mechanics/crankshaft#crates)Crates$(), $(l:mechanics/crankshaft#drums)Drums$(), and $(l:mechanics/barrels)Barrels$() right up against them, but if you'd like to have more control, you'll want to use GregTech's pipes.$(br2)$(item)Item Pipes$() will not pull from any inventory they're attached to, so you'll want to use a $(thing)Chute$() or $(thing)Hopper$() to pull from the inventory and push into the pipe." - }, - { - "type": "patchouli:text", - "text": "Different tiers of pipes will move different amounts of items, but the cheapest to start with is the $(item)Small Tin Item Pipe$().$(br2)Item pipes move items instantly, prioritizing closest inventories first. You can make pipes one-way by $(thing)Sneak-Right-Clicking$() them with a $(thing)Wrench$() and en empty offhand.$(br2)You can also control how items move with $(thing)Item Filters$(), $(thing)Item Tag Filters$(), and $(thing)Restricted Item Pipes$()." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:wood_normal_fluid_pipe,gtceu:bronze_normal_fluid_pipe", - "title": "Fluid Pipes", - "text": "$(item)Fluid Pipes$() unsurprisingly are for moving fluids. Unlike item pipes, fluid pipes do not move fluids instantly, and will \"slosh\" back and forth, so it's a good idea to make them all one-way by $(thing)Sneak-Right-Clicking$() with a $(thing)Wrench$() and an empty offhand." - }, - { - "type": "patchouli:text", - "text": "Different kinds of pipes can hold different things. $(thing)Wooden pipes$() can't hold gases, for example, and will burn if you try to put something hot in them. Other metal pipes like $(thing)Bronze$() can handle some hot things like Steam and Lava, but not acids.$(br2)Hold shift over a fluid pipe to see what it can handle." - } - ] +{ + "name": "Basic Automation", + "category": "tfc:tfg_tips", + "icon": "gtceu:coke_oven", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "title": "Basic Automation", + "text": "Tired of making charcoal in huge pits? Once you've got $(l:mechanics/bloomery)Wrought Iron$(), you'll be able to make your first GregTech multiblock, the $(item)Coke Oven$().$(br)It will turn logs into $(thing)charcoal$() automatically, as well as upgrade any $(thing)Coal$() into $(thing)Coke$() which burns twice as long in a $(l:mechanics/charcoal_forge)Forge$().$(br)All recipes output $(thing)Creosote$(), which can be used as a lamp fuel and is required for $(l:tfg_tips/create)Create$()." + }, + { + "type": "patchouli:spotlight", + "title": "Coke Oven", + "item": "gtceu:coke_oven,gtceu:coke_oven_bricks,gtceu:coke_oven_hatch", + "text": "Use JEI for a multiblock preview by looking at the $(thing)Coke Oven$() and pressing $(item)$(k:jei.showUses)$(). You can click individual blocks to see what's valid there.$(br2)Note that the center is hollow, and up to 5 $(thing)Coke Oven Hatches$() can be placed anywhere instead of bricks." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:tin_small_item_pipe", + "title": "Item Pipes", + "text": "Hatches will automatically pull items into them and push fluids and items out, so you can put $(l:tfg_tips/inventory_management#crates)Crates$(), $(l:tfg_tips/inventory_management#drums)Drums$(), and $(l:mechanics/barrels)Barrels$() right up against them, but if you'd like to have more control, you'll want to use GregTech's pipes.$(br2)$(item)Item Pipes$() will not pull from any inventory they're attached to, so you'll want to use a $(thing)Chute$() or $(thing)Hopper$() to pull from the inventory and push into the pipe." + }, + { + "type": "patchouli:text", + "text": "Different tiers of pipes will move different amounts of items, but the cheapest to start with is the $(item)Small Tin Item Pipe$().$(br2)Item pipes move items instantly, prioritizing closest inventories first. You can make pipes one-way by $(thing)Sneak-Right-Clicking$() them with a $(thing)Wrench$() and en empty offhand.$(br2)You can also control how items move with $(thing)Item Filters$(), $(thing)Item Tag Filters$(), and $(thing)Restricted Item Pipes$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:wood_normal_fluid_pipe,gtceu:bronze_normal_fluid_pipe", + "title": "Fluid Pipes", + "text": "$(item)Fluid Pipes$() unsurprisingly are for moving fluids. Unlike item pipes, fluid pipes do not move fluids instantly, and will \"slosh\" back and forth, so it's a good idea to make them all one-way by $(thing)Sneak-Right-Clicking$() with a $(thing)Wrench$() and an empty offhand." + }, + { + "type": "patchouli:text", + "text": "Different kinds of pipes can hold different things. $(thing)Wooden pipes$() can't hold gases, for example, and will burn if you try to put something hot in them. Other metal pipes like $(thing)Bronze$() can handle some hot things like Steam and Lava, but not acids.$(br2)Hold shift over a fluid pipe to see what it can handle." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json index 4ae439d58..bc3a89ef9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json @@ -28,7 +28,7 @@ { "type": "patchouli:spotlight", "title": "Automation", - "item": "create:mechanical_pump", + "item": "greate:steel_mechanical_pump", "text": "You'll need lots of $(item)Steel$() for the $(thing)Steam$() and $(thing)LV$() ages. Lots of steel. The $(thing)Electric Blast Furnace$() is far off, so maybe think about optimizing your steel production." }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/pumps.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/create.json similarity index 84% rename from kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/pumps.json rename to kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/create.json index 5f42159f2..3c79158d9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/pumps.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/create.json @@ -1,40 +1,40 @@ -{ - "name": "Getting Started With Create", - "category": "tfc:mechanics", - "icon": "create:cogwheel", - "pages": - [ - { - "type": "patchouli:text", - "title": "Getting Started With Create", - "text": "In TerraFirmaGreg, TFC's own mechanical power system has been replaced with $(thing)Create$().$(br2)You can make a few Create things once you have Wrought Iron, but you can only really get started once you have access to $(l:mechanics/steel)Steel$() and $(thing)Steam Machines$().$(br2)First, you will need a source of $(thing)Mechanical Power$(), either Water Wheels, Windmills, or a Steam Engine. Of these, $(thing)Water Wheels$() are the easiest to start with, just put them in a river!$(br)" - }, - { - "type": "patchouli:crafting", - "recipe": "create:crafting/kinetics/water_wheel", - "recipe2": "create:crafting/kinetics/large_water_wheel" - }, - { - "type": "tfc:sealed_barrel_recipe", - "recipe": "tfg:barrel/treated_wood_planks", - "text": "To move mechanical power around, you will need $(thing)Cogwheels$().$(br)To make these, first put some $(l:mechanics/mechanical_power)Creosote$() and any $(thing)Wooden Planks$() in a $(l:mechanics/barrels)Sealed Barrel$().$(br)This will give you $(thing)Creosote-Treated Wood Planks$()." - }, - { - "type": "patchouli:spotlight", - "title": "Treated Wood Pulp", - "item": "gtceu:hp_steam_macerator,gtceu:treated_wood_dust", - "text": "Next, put those treated planks in a $(thing)Steam Macerator$(). This will produce $(thing)Treated Wood Pulp$()." - }, - { - "type": "patchouli:spotlight", - "title": "Treated Wood Plank", - "item": "gtceu:hp_steam_compressor,gtceu:treated_wood_plate", - "text": "Lastly, putting the pulp into a $(thing)Steam Compressor$() will produce a $(thing)Treated Wood Plank$().$(br2)You can then use these to craft $(item)Cogwheels$()!" - }, - { - "type": "patchouli:crafting", - "recipe": "tfg:create/shapeless/cogwheel", - "recipe2": "tfg:create/shaped/large_cogwheel" - } - ] +{ + "name": "Getting Started With Create", + "category": "tfc:tfg_tips", + "icon": "create:cogwheel", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "title": "Getting Started With Create", + "text": "In TerraFirmaGreg, TFC's own mechanical power system has been replaced with $(thing)Create$().$(br2)You can make a few Create things once you have Wrought Iron, but you can only really get started once you have access to $(l:mechanics/steel)Steel$() and $(thing)Steam Machines$().$(br2)First, you will need a source of $(thing)Mechanical Power$(), either Water Wheels, Windmills, or a Steam Engine. Of these, $(thing)Water Wheels$() are the easiest to start with, just put them in a river!$(br)" + }, + { + "type": "patchouli:crafting", + "recipe": "create:crafting/kinetics/water_wheel", + "recipe2": "create:crafting/kinetics/large_water_wheel" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfg:barrel/treated_wood_planks", + "text": "To move mechanical power around, you will need $(thing)Cogwheels$().$(br)To make these, first put some $(l:tfg_tips/basic_automation)Creosote$() and any $(thing)Wooden Planks$() in a $(l:mechanics/barrels)Sealed Barrel$().$(br)This will give you $(thing)Creosote-Treated Wood Planks$()." + }, + { + "type": "patchouli:spotlight", + "title": "Treated Wood Pulp", + "item": "gtceu:hp_steam_macerator,gtceu:treated_wood_dust", + "text": "Next, put those treated planks in a $(thing)Steam Macerator$(). This will produce $(thing)Treated Wood Pulp$()." + }, + { + "type": "patchouli:spotlight", + "title": "Treated Wood Plank", + "item": "gtceu:hp_steam_compressor,gtceu:treated_wood_plate", + "text": "Lastly, putting the pulp into a $(thing)Steam Compressor$() will produce a $(thing)Treated Wood Plank$().$(br2)You can then use these to craft $(item)Cogwheels$()!" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shapeless/cogwheel", + "recipe2": "tfg:create/shaped/large_cogwheel" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json index de92fcfc6..32f6e83d8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json @@ -1,48 +1,48 @@ -{ - "name": "Frequently Asked Questions", - "icon": "minecraft:spyglass", - "category": "tfc:tfg_tips", - "read_by_default": true, - "priority": true, - "pages": - [ - { - "type": "patchouli:text", - "title": "FAQs", - "text": "Stuck on something? Try looking through this book first and in the quests, but if you're still stumped, you can ask on our $(l:https://discord.com/invite/AEaCzCTUwQ)Discord$() or $(l:https://www.reddit.com/r/TerraFirmaGreg)Subreddit$()!" - }, - { - "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)Why did my boat sink?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make yeast starter?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make pineapple fiber?$()$(li)$(l:tfg_tips/faqs#jam)How do I make jam?$()$(li)$(l:tfg_tips/faqs#resin)How do I make Sticky Resin?$()$(li)$(l:tfg_tips/faqs#chunks)How do I force-load a chunk or increase my limit?$()" - }, - { - "type": "patchouli:text", - "anchor": "boats", - "text": "$(italic)Why did my boat sink?$()$(br2)Build your boat on land, then push it or use a $(item)Lead$() to launch it. If it's already sunk, too bad, make another one." - }, - { - "type": "patchouli:text", - "anchor": "dried_fruit", - "text": "$(italic)How do I make yeast starter or pineapple fiber?$()$(br2)Make sure you dry the fruit first using a $(item)Drying Mat$(). Then follow the rest of the steps for $(l:firmalife/bread)bread$() or $(l:firmalife/berry_bushes)pineapple leather$()." - }, - { - "type": "patchouli:text", - "anchor": "jam", - "text": "$(italic)How do I make jam?$()$(br2)It's easiest with a $(l:firmalife/oven_appliances#vat)Vat$(). Follow the steps in that section, but you don't need to make a $(thing)Jarring Station$() or $(thing)Lids$() unless you want to automate it. Just right-click the Vat of $(thing)Fruity Fluid$() with an empty jar, then right-click it again to take it out, and it should be full of jam and sealed.$(br2)Make sure you $(bold)close the lid$() on the Vat with $(item)$(k:sneak)$() + $(item)$(k:use)$()!" - }, - { - "type": "patchouli:text", - "anchor": "chunks", - "text": "$(italic)How do I force-load a chunk?$()$(br2)Open your map with $(item)$(k:gui.xaero_open_map)$(), then right-click the chunk > $(thing)Claim Selected$(). Right-click a claimed chunk again > $(thing)Forceload Selected$().$(br2)To increase the number of forceloaded chunks, press $(item)$(k:gui.xaero_pac_key_open_menu)$(), then go to the player settings and increase the number of bonus chunk forceloads." - }, - { - "type": "patchouli:text", - "anchor": "resin", - "text": "$(italic)How do I make sticky resin?$()$(br2)First, grow some $(thing)Kapok$() trees and make some $(thing)Tree Taps$(). Place a tree tap on the main trunk of each kapok tree (more taps on a tree just splits the output). Right-click each tree tap with an empty $(thing)Wooden Bucket$(), then wait for the correct season (Feb-Oct, excluding July). When the bucket is full, $(item)$(k:use)$() it with an $(thing)empty hand$(). You can automate this with a $(l:mechanics/pumps)Mechanical Pump$() on the bucket, if you'd like." - }, - { - "type": "patchouli:text", - "text": "It's quickest to cook your latex in a $(l:firmalife/oven_appliances#vat)Vat$(). Combine your latex with $(item)Sulfur$() dust in the vat (put the GregTech one in a Quern to get the TFC one), add heat, and $(bold)close the lid$() on the Vat with $(item)$(k:sneak)$() + $(item)$(k:use)$().$(br2)You can automate this later with the $(thing)LV Centrifuge$()." - } - ] +{ + "name": "Frequently Asked Questions", + "icon": "minecraft:spyglass", + "category": "tfc:tfg_tips", + "read_by_default": true, + "priority": true, + "pages": + [ + { + "type": "patchouli:text", + "title": "FAQs", + "text": "Stuck on something? Try looking through this book first and in the quests, but if you're still stumped, you can ask on our $(l:https://discord.com/invite/AEaCzCTUwQ)Discord$() or $(l:https://www.reddit.com/r/TerraFirmaGreg)Subreddit$()!" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfg_tips/faqs#boats)Why did my boat sink?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make yeast starter?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make pineapple fiber?$()$(li)$(l:tfg_tips/faqs#jam)How do I make jam?$()$(li)$(l:tfg_tips/faqs#resin)How do I make Sticky Resin?$()$(li)$(l:tfg_tips/faqs#chunks)How do I force-load a chunk or increase my limit?$()" + }, + { + "type": "patchouli:text", + "anchor": "boats", + "text": "$(italic)Why did my boat sink?$()$(br2)Build your boat on land, then push it or use a $(item)Lead$() to launch it. If it's already sunk, too bad, make another one." + }, + { + "type": "patchouli:text", + "anchor": "dried_fruit", + "text": "$(italic)How do I make yeast starter or pineapple fiber?$()$(br2)Make sure you dry the fruit first using a $(item)Drying Mat$(). Then follow the rest of the steps for $(l:firmalife/bread)bread$() or $(l:firmalife/berry_bushes)pineapple leather$()." + }, + { + "type": "patchouli:text", + "anchor": "jam", + "text": "$(italic)How do I make jam?$()$(br2)It's easiest with a $(l:firmalife/oven_appliances#vat)Vat$(). Follow the steps in that section, but you don't need to make a $(thing)Jarring Station$() or $(thing)Lids$() unless you want to automate it. Just right-click the Vat of $(thing)Fruity Fluid$() with an empty jar, then right-click it again to take it out, and it should be full of jam and sealed.$(br2)Make sure you $(bold)close the lid$() on the Vat with $(item)$(k:sneak)$() + $(item)$(k:use)$()!" + }, + { + "type": "patchouli:text", + "anchor": "chunks", + "text": "$(italic)How do I force-load a chunk?$()$(br2)Open your map with $(item)$(k:gui.xaero_open_map)$(), then right-click the chunk > $(thing)Claim Selected$(). Right-click a claimed chunk again > $(thing)Forceload Selected$().$(br2)To increase the number of forceloaded chunks, press $(item)$(k:gui.xaero_pac_key_open_menu)$(), then go to the player settings and increase the number of bonus chunk forceloads." + }, + { + "type": "patchouli:text", + "anchor": "resin", + "text": "$(italic)How do I make sticky resin?$()$(br2)First, grow some $(thing)Kapok$() trees and make some $(thing)Tree Taps$(). Place a tree tap on the main trunk of each kapok tree (more taps on a tree just splits the output). Right-click each tree tap with an empty $(thing)Wooden Bucket$(), then wait for the correct season (Feb-Oct, excluding July). When the bucket is full, $(item)$(k:use)$() it with an $(thing)empty hand$(). You can automate this with a $(l:mechanics/pumps)Mechanical Pump$() on the bucket, if you'd like." + }, + { + "type": "patchouli:text", + "text": "It's quickest to cook your latex in a $(l:firmalife/oven_appliances#vat)Vat$(). Combine your latex with $(item)Sulfur$() dust in the vat (put the GregTech one in a Quern to get the TFC one), add heat, and $(bold)close the lid$() on the Vat with $(item)$(k:sneak)$() + $(item)$(k:use)$().$(br2)You can automate this later with the $(thing)LV Centrifuge$()." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/infinite_resources.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/infinite_resources.json index b2824f969..5a5c8177e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/infinite_resources.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/infinite_resources.json @@ -1,55 +1,55 @@ -{ - "name": "Infinite Resources?!", - "icon": "minecraft:lava_bucket", - "category": "tfc:tfg_tips", - "read_by_default": true, - "pages": - [ - { - "type": "patchouli:text", - "text": "Most of the raw resources you'll need are non-renewable and will require you to mine for them, but a few of them are infinitely renewable once you get to $(thing)LV$() and $(thing)MV$().$(br2)A lot of these methods are pretty slow, however, so it's up to you whether it's worth setting these up or just digging up another ore vein." - }, - { - "type": "patchouli:spotlight", - "title": "Fluids", - "item": "create:hose_pulley", - "text": "$(thing)Water$(), $(thing)Sea Water$(), and $(thing)Lava$() are all renewable through a $(item)Hose Pulley$() and a single source block of fluid. You can pull out of the hose pulley with a $(l:mechanics/pumps)Mechanical Pump$()." - }, - { - "type": "patchouli:text", - "text": "$(item)Sea Water$() can be centrifuged for Water and $(thing)Salt$(), which can be electrolyzed into $(thing)Chlorine$() and $(thing)Sodium$().$(br2)$(item)Lava$() can be centrifuged into $(thing)Gold Nuggets$(), $(thing)Tantalite$(), $(thing)Sapphire$(), $(thing)Quicklime$(), and $(thing)Silicon Dioxide$().$(br2)Lava can also be used as $(item)infinite, free fuel$() for your steam boilers!" - }, - { - "type": "patchouli:spotlight", - "title": "Stone Dusts", - "item": { "tag": "tfg:stone_dusts" }, - "text": "The other source of infinite resources is through $(thing)Stone Dusts$(). You can obtain infinite raw rock through a $(item)Rock Crusher$(), and then macerate it into different dusts.$(br2)These stone dusts can then be centrifuged into different resources (though most require $(thing)MV$()). Most of them give Silicon Dioxide and Oxygen, so only other resources will be listed. " - }, - { - "type": "patchouli:text", - "title": "Sedimentary", - "text": "$(thing)Shale$(): Sodium, Metal Mixture$(br)$(thing)Claystone$(): Aluminium, Hematite$(br)$(thing)Limestone$(): Calcium, Metal Mixture$(br)$(thing)Conglomerate$(): Tricalcium Phosphate, Hematite$(br)$(thing)Dolomite$(): Magnesium, Calcium, Metal Mixture$(br)$(thing)Chert$(): Metal Mixture$(br)$(thing)Chalk$(): Calcium, Carbon, Metal Mixture" - }, - { - "type": "patchouli:text", - "title": "Metamorphic", - "text": "$(thing)Quartzite$(): Nothing$(br)$(thing)Slate$(): Metal Mixture$(br)$(thing)Phyllite$(): Calcium Chloride$(br)$(thing)Schist$(): Mica (Fluorine), Talc (Magnesium), Graphite, Metal Mixture$(br)$(thing)Gneiss$(): Biotite (Fluorine)$(br)$(thing)Marble$(): Magnesium, Calcite" - }, - { - "type": "patchouli:text", - "title": "Igneous Intrusive", - "text": "$(thing)Granite$(): Calcite, Flint$(br)$(thing)Gabbro$(): Titanium, Iron, Metal Mixture$(br)$(thing)Diorite$(): Clay, Aluminium, Sulfur, Sodium, Lithium" - }, - { - "type": "patchouli:text", - "title": "Igneous Extrusive", - "text": "$(thing)Rhyolite$(): Metal Mixture$(br)$(thing)Basalt$(): Olivine, Calcite, Flint, Dark Ashes$(br)$(thing)Andesite$(): Asbestos, Saltpeter$(br)$(thing)Dacite$(): Sodium, Calcium, Aluminium, Metal Mixture" - }, - { - "type": "patchouli:spotlight", - "title": "Dimensional Terrariums", - "item": "gtceu:nether_dome,gtceu:end_dome", - "text": "Later on, you'll be able to use the $(item)Netherarium$() and $(item)Enderarium$() to make $(thing)Redstone$(), $(thing)Nether Quartz$(), and $(thing)Ender Pearls$() renewable." - } - ] +{ + "name": "Infinite Resources?!", + "icon": "minecraft:lava_bucket", + "category": "tfc:tfg_tips", + "read_by_default": true, + "pages": + [ + { + "type": "patchouli:text", + "text": "Most of the raw resources you'll need are non-renewable and will require you to mine for them, but a few of them are infinitely renewable once you get to $(thing)LV$() and $(thing)MV$().$(br2)A lot of these methods are pretty slow, however, so it's up to you whether it's worth setting these up or just digging up another ore vein." + }, + { + "type": "patchouli:spotlight", + "title": "Fluids", + "item": "create:hose_pulley", + "text": "$(thing)Water$(), $(thing)Sea Water$(), and $(thing)Lava$() are all renewable through a $(item)Hose Pulley$() and a single source block of fluid. You can pull out of the hose pulley with a $(l:mechanics/pumps)Mechanical Pump$()." + }, + { + "type": "patchouli:text", + "text": "$(item)Sea Water$() can be centrifuged for Water and $(thing)Salt$(), which can be electrolyzed into $(thing)Chlorine$() and $(thing)Sodium$().$(br2)$(item)Lava$() can be centrifuged into $(thing)Gold Nuggets$(), $(thing)Tantalite$(), $(thing)Sapphire$(), $(thing)Quicklime$(), and $(thing)Silicon Dioxide$().$(br2)Lava can also be used as $(item)infinite, free fuel$() for your steam boilers!" + }, + { + "type": "patchouli:spotlight", + "title": "Stone Dusts", + "item": { "tag": "tfg:stone_dusts" }, + "text": "The other source of infinite resources is through $(thing)Stone Dusts$(). You can obtain infinite raw rock through a $(item)Rock Crusher$(), and then macerate it into different dusts.$(br2)These stone dusts can then be centrifuged into different resources (though most require $(thing)MV$()). Most of them give Silicon Dioxide and Oxygen, so only other resources will be listed. " + }, + { + "type": "patchouli:text", + "title": "Sedimentary", + "text": "$(thing)Shale$(): Sodium, Metal Mixture$(br)$(thing)Claystone$(): Aluminium, Hematite$(br)$(thing)Limestone$(): Calcium, Metal Mixture$(br)$(thing)Conglomerate$(): Tricalcium Phosphate, Hematite$(br)$(thing)Dolomite$(): Magnesium, Calcium, Metal Mixture$(br)$(thing)Chert$(): Metal Mixture$(br)$(thing)Chalk$(): Calcium, Carbon, Metal Mixture" + }, + { + "type": "patchouli:text", + "title": "Metamorphic", + "text": "$(thing)Quartzite$(): Nothing$(br)$(thing)Slate$(): Metal Mixture$(br)$(thing)Phyllite$(): Calcium Chloride$(br)$(thing)Schist$(): Mica (Fluorine), Talc (Magnesium), Graphite, Metal Mixture$(br)$(thing)Gneiss$(): Biotite (Fluorine)$(br)$(thing)Marble$(): Magnesium, Calcite" + }, + { + "type": "patchouli:text", + "title": "Igneous Intrusive", + "text": "$(thing)Granite$(): Calcite, Flint$(br)$(thing)Gabbro$(): Titanium, Iron, Metal Mixture$(br)$(thing)Diorite$(): Clay, Aluminium, Sulfur, Sodium, Lithium" + }, + { + "type": "patchouli:text", + "title": "Igneous Extrusive", + "text": "$(thing)Rhyolite$(): Metal Mixture$(br)$(thing)Basalt$(): Olivine, Calcite, Flint, Dark Ashes$(br)$(thing)Andesite$(): Asbestos, Saltpeter$(br)$(thing)Dacite$(): Sodium, Calcium, Aluminium, Metal Mixture" + }, + { + "type": "patchouli:spotlight", + "title": "Dimensional Terrariums", + "item": "gtceu:nether_dome,gtceu:end_dome", + "text": "Later on, you'll be able to use the $(item)Netherarium$() and $(item)Enderarium$() to make $(thing)Redstone$(), $(thing)Nether Quartz$(), and $(thing)Ender Pearls$() renewable." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crankshaft.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json similarity index 96% rename from kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crankshaft.json rename to kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json index 8a80603f2..f36962f92 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crankshaft.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json @@ -1,52 +1,52 @@ -{ - "name": "Inventory Management", - "category": "tfc:mechanics", - "icon": "minecraft:chest", - "pages": - [ - { - "type": "patchouli:text", - "title": "Inventory Management", - "text": "So you've got a few $(l:getting_started/pottery#vessel)Vessels$() and you've made a few $(item)Wooden Chests$(), but you still have more items than you know what to do with. What's next?$(br2)A $(thing)Backpack$() can double your on-person inventory at base level, and further backpack upgrades increase it even more!" - }, - { - "type": "patchouli:crafting", - "recipe": "tfg:sophisticated_backpacks/shaped/backpack", - "text": "Backpacks can carry multiple heavy items without encumbering you, as well as big items like stacks of logs.$(br2)You can even upgrade it with a $(thing)Crafting Upgrade$() to have a Crafting Table with you everywhere." - }, - { - "type": "patchouli:text", - "title": "Crates", - "anchor": "crates", - "text": "For storage, GregTech has $(item)Crates$() which can hold all the bigger items a backpack can, and different tiers can hold more and more items.$(br2)Crates can also have $(thing)Item Filters$() and $(thing)Item Tag Filters$() put on them if you'd like to make a basic sorting system.$(br2)$(thing)Item Pipes$() don't pull by themselves though, so you'll need a $(thing)Chute$() or $(thing)Hopper$() to push into them." - }, - { - "type": "patchouli:crafting", - "recipe": "gtceu:shaped/wooden_crate", - "recipe2": "gtceu:shaped/bronze_crate" - }, - { - "type": "patchouli:text", - "title": "Drums", - "anchor": "drums", - "text": "For storing fluids, GregTech has $(item)Drums$(). These can hold a large amount of a single fluid type, and different tiers hold more, just like with crates.$(br2)Unlike crates, drums will retain their fluid when broken, making them ideal for moving fluids around.$(br2)Drums can automatically push their fluid out of their bottom face by right-clicking them with a $(thing)Screwdriver$()." - }, - { - "type": "patchouli:crafting", - "recipe": "gtceu:shaped/bronze_drum", - "text": "Place the drum in a crafting grid to clear its contents." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:lv_super_chest,gtceu:lv_super_tank", - "title": "Super Storage", - "text": "Are you producing an item on an industrial scale? GregTech's $(thing)Super Chests$() and $(thing)Super Tanks$() can hold a silly amount of a single item type, and can even void any overflow." - }, - { - "type": "patchouli:spotlight", - "title": "Applied Energistics 2", - "item": "ae2:drive", - "text": "Available at the end of $(thing)HV$(), AE2 can provide everything you'd ever want for storage and logistics." - } - ] +{ + "name": "Inventory Management", + "category": "tfc:tfg_tips", + "icon": "minecraft:chest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "title": "Inventory Management", + "text": "So you've got a few $(l:getting_started/pottery#vessel)Vessels$() and you've made a few $(item)Wooden Chests$(), but you still have more items than you know what to do with. What's next?$(br2)A $(thing)Backpack$() can double your on-person inventory at base level, and further backpack upgrades increase it even more!" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:sophisticated_backpacks/shaped/backpack", + "text": "Backpacks can carry multiple heavy items without encumbering you, as well as big items like stacks of logs.$(br2)You can even upgrade it with a $(thing)Crafting Upgrade$() to have a Crafting Table with you everywhere." + }, + { + "type": "patchouli:text", + "title": "Crates", + "anchor": "crates", + "text": "For storage, GregTech has $(item)Crates$() which can hold all the bigger items a backpack can, and different tiers can hold more and more items.$(br2)Crates can also have $(thing)Item Filters$() and $(thing)Item Tag Filters$() put on them if you'd like to make a basic sorting system.$(br2)$(thing)Item Pipes$() don't pull by themselves though, so you'll need a $(thing)Chute$() or $(thing)Hopper$() to push into them." + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/wooden_crate", + "recipe2": "gtceu:shaped/bronze_crate" + }, + { + "type": "patchouli:text", + "title": "Drums", + "anchor": "drums", + "text": "For storing fluids, GregTech has $(item)Drums$(). These can hold a large amount of a single fluid type, and different tiers hold more, just like with crates.$(br2)Unlike crates, drums will retain their fluid when broken, making them ideal for moving fluids around.$(br2)Drums can automatically push their fluid out of their bottom face by right-clicking them with a $(thing)Screwdriver$()." + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/bronze_drum", + "text": "Place the drum in a crafting grid to clear its contents." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_super_chest,gtceu:lv_super_tank", + "title": "Super Storage", + "text": "Are you producing an item on an industrial scale? GregTech's $(thing)Super Chests$() and $(thing)Super Tanks$() can hold a silly amount of a single item type, and can even void any overflow." + }, + { + "type": "patchouli:spotlight", + "title": "Applied Energistics 2", + "item": "ae2:drive", + "text": "Available at the end of $(thing)HV$(), AE2 can provide everything you'd ever want for storage and logistics." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/lv_machines.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/lv_machines.json index 0cf05df43..f8abd796a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/lv_machines.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/lv_machines.json @@ -1,79 +1,79 @@ -{ - "name": "Which LV machine first?", - "icon": "gtceu:lv_machine_hull", - "category": "tfc:tfg_tips", - "read_by_default": true, - "pages": - [ - { - "type": "patchouli:text", - "text": "So you've finally made a batch of colored steel and are ready to make your first step into $(thing)LV$(). The obvious first choice for an LV machine is a $(item)Steam Generator$(), but what about after that? There's so many options!$(br2)There's no simple answer to this, because it's subjective, but you should think of which part of progressing is the most painful and make the machine that helps the most with that.$(br)" - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:lv_mixer", - "title": "Mixer", - "text": "The $(item)Mixer$() makes colored steel much cheaper.$(br2)The kinetic mixer requires both SU and EU (and has a high stress impact and needs to run at 64 RPM), but runs twice as fast as the pure electric one.$(br)Whether that's worth the bother is up to you!$(br2)It also has a recipe to make $(thing)Glowstone$().$(br)" - }, - { - "type": "patchouli:spotlight", - "title": "Arc Furnace", - "item": "gtceu:lv_arc_furnace", - "text": "The $(item)Arc Furnace$() can turn your Colored Steel Dust from the mixer into ingots, Cast Iron directly into $(thing)Wrought Iron$(), Sand into $(thing)Glass$(), and Copper into $(thing)Annealed Copper$(). All of its recipes need $(thing)Oxygen$() though, so it's useless without an $(item)Electrolyzer$() or $(item)Centrifuge$()." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:lv_assembler", - "title": "Assembler", - "text": "The $(item)Assembler$() is a very expensive machine, but can make cheaper electronic components like $(thing)Vacuum Tubes$() and $(thing)Resistors$()." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:lv_bender", - "title": "Bender", - "text": "The $(item)Bender$() can make 1:1 $(thing)Plates$() out of a single ingot. Finally, no more gambling with the Mechanical Press!$(br2)It can also make $(thing)Thin Sheets$() for things like a $(l:tfg_tips/infinite_resources)Hose Pulley$()." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:lv_wiremill", - "title": "Wiremill", - "text": "The $(item)Wiremill$() halves the cost of $(thing)Wire$(). Not much else to say here, except that there's no such thing as too many copper wires or tin cables." - }, - { - "type": "patchouli:spotlight", - "title": "Chem Reactor/Solidifer", - "item": "gtceu:lv_chemical_reactor,gtceu:lv_fluid_solidifier", - "text": "The $(item)Chemical Reactor$() makes much cheaper $(thing)Rubber$() which the $(item)Fluid Solidifier$() can turn into cheaper $(thing)Rubber Sheets$(), and can also make cheaper $(thing)Rotors$().$(br2)The $(item)Extractor$() is also useful paired up with the Fluid Solidifier, and is a big upgrade over the steam one because it can make metal fluids." - }, - { - "type": "patchouli:spotlight", - "title": "Centrifuge", - "item": "gtceu:lv_centrifuge", - "text": "The $(item)Centrifuge$() makes $(thing)Sticky Resin$() directly from Kapok logs, and much cheaper $(thing)Raw Rubber$() as well. No more latex!" - }, - { - "type": "patchouli:spotlight", - "title": "Polarizer", - "item": "gtceu:lv_polarizer", - "text": "The $(item)Polarizer$() makes $(thing)Magnetic Rods$() basically for free. If you're short on redstone, this is a good first machine, and it's dirt cheap too." - }, - { - "type": "patchouli:spotlight", - "title": "Miner", - "item": "gtceu:lv_miner", - "text": "Put the $(item)Miner$() (or multiple!) down over an ore vein, bring along a boiler, steam generator, water, and fuel, and then just chunk load it and walk away. No need to ever go mining again!" - }, - { - "type": "patchouli:spotlight", - "title": "Chemical Bath", - "item": "gtceu:lv_chemical_bath", - "text": "The $(item)Chemical Bath$() makes cheaper paper. That's about it. And once you have an $(thing)Assembler$() you won't need paper any more anyway.$(br2)It can also automate most of the steps to make $(thing)Leather$() if you're tired of barrels." - }, - { - "type": "patchouli:spotlight", - "title": "Extruder", - "item": "gtceu:lv_extruder", - "text": "This is only here as a warning: do not make the $(item)Extruder$(). The only thing it can do is make tools and Thin Rubber Sheets (which the Bender can also do). All of the good extruder recipes are gated to $(thing)MV$() onwards." - } - ] -} +{ + "name": "Which LV machine first?", + "icon": "gtceu:lv_machine_hull", + "category": "tfc:tfg_tips", + "read_by_default": true, + "pages": + [ + { + "type": "patchouli:text", + "text": "So you've finally made a batch of colored steel and are ready to make your first step into $(thing)LV$(). The obvious first choice for an LV machine is a $(item)Steam Generator$(), but what about after that? There's so many options!$(br2)There's no simple answer to this, because it's subjective, but you should think of which part of progressing is the most painful and make the machine that helps the most with that.$(br)" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_mixer", + "title": "Mixer", + "text": "The $(item)Mixer$() makes colored steel much cheaper.$(br2)The kinetic mixer requires both SU and EU (and has a high stress impact and needs to run at 64 RPM), but runs twice as fast as the pure electric one.$(br)Whether that's worth the bother is up to you!$(br2)It also has a recipe to make $(thing)Glowstone$().$(br)" + }, + { + "type": "patchouli:spotlight", + "title": "Arc Furnace", + "item": "gtceu:lv_arc_furnace", + "text": "The $(item)Arc Furnace$() can turn your Colored Steel Dust from the mixer into ingots, Cast Iron directly into $(thing)Wrought Iron$(), Sand into $(thing)Glass$(), and Copper into $(thing)Annealed Copper$(). All of its recipes need $(thing)Oxygen$() though, so it's useless without an $(item)Electrolyzer$() or $(item)Centrifuge$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_assembler", + "title": "Assembler", + "text": "The $(item)Assembler$() is a very expensive machine, but can make cheaper electronic components like $(thing)Vacuum Tubes$() and $(thing)Resistors$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_bender", + "title": "Bender", + "text": "The $(item)Bender$() can make 1:1 $(thing)Plates$() out of a single ingot. Finally, no more gambling with the Mechanical Press!$(br2)It can also make $(thing)Thin Sheets$() for things like a $(l:tfg_tips/infinite_resources)Hose Pulley$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_wiremill", + "title": "Wiremill", + "text": "The $(item)Wiremill$() halves the cost of $(thing)Wire$(). Not much else to say here, except that there's no such thing as too many copper wires or tin cables." + }, + { + "type": "patchouli:spotlight", + "title": "Chem Reactor/Solidifer", + "item": "gtceu:lv_chemical_reactor,gtceu:lv_fluid_solidifier", + "text": "The $(item)Chemical Reactor$() makes much cheaper $(thing)Rubber$() which the $(item)Fluid Solidifier$() can turn into cheaper $(thing)Rubber Sheets$(), and can also make cheaper $(thing)Rotors$().$(br2)The $(item)Extractor$() is also useful paired up with the Fluid Solidifier, and is a big upgrade over the steam one because it can make metal fluids." + }, + { + "type": "patchouli:spotlight", + "title": "Centrifuge", + "item": "gtceu:lv_centrifuge", + "text": "The $(item)Centrifuge$() makes $(thing)Sticky Resin$() directly from Kapok logs, and much cheaper $(thing)Raw Rubber$() as well. No more latex!" + }, + { + "type": "patchouli:spotlight", + "title": "Polarizer", + "item": "gtceu:lv_polarizer", + "text": "The $(item)Polarizer$() makes $(thing)Magnetic Rods$() basically for free. If you're short on redstone, this is a good first machine, and it's dirt cheap too." + }, + { + "type": "patchouli:spotlight", + "title": "Miner", + "item": "gtceu:lv_miner", + "text": "Put the $(item)Miner$() (or multiple!) down over an ore vein, bring along a boiler, steam generator, water, and fuel, and then just chunk load it and walk away. No need to ever go mining again!" + }, + { + "type": "patchouli:spotlight", + "title": "Chemical Bath", + "item": "gtceu:lv_chemical_bath", + "text": "The $(item)Chemical Bath$() makes cheaper paper. That's about it. And once you have an $(thing)Assembler$() you won't need paper any more anyway.$(br2)It can also automate most of the steps to make $(thing)Leather$() if you're tired of barrels." + }, + { + "type": "patchouli:spotlight", + "title": "Extruder", + "item": "gtceu:lv_extruder", + "text": "This is only here as a warning: do not make the $(item)Extruder$(). The only thing it can do is make tools and Thin Rubber Sheets (which the Bender can also do). All of the good extruder recipes are gated to $(thing)MV$() onwards." + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/the_world/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/the_world/ores_and_minerals.json deleted file mode 100644 index 2afa99fe9..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/the_world/ores_and_minerals.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Ores and Minerals", - "category": "tfc:the_world", - "icon": "tfc:ore/normal_hematite", - "pages": [ - { - "type": "patchouli:text", - "text": "This page is here to override the default TFC ores and minerals page.$(br2)Information about ores can be found in the $(l:tfg_ores)Ores in TFG$() category." - } - ], - "read_by_default": true, - "sortnum": 1 -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg_ores.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg_ores.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg_ores.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg_tips.json similarity index 99% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg_tips.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg_tips.json index 429f59727..a26cbdd34 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/categories/tfg_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/categories/tfg_tips.json @@ -3,4 +3,4 @@ "description": "Informazioni su cose in TerraFirmaGreg che differiscono da TFC base e GTCEu.", "icon": "gtceu:basic_electronic_circuit", "sortnum": 200 -} +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/firmalife/stainless_steel.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/firmalife/stainless_steel.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/firmalife/stainless_steel.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/firmalife/stainless_steel.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/bloomery.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/bloomery.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/bloomery.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/crankshaft.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/crankshaft.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/crankshaft.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/crankshaft.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/fire_clay.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/fire_clay.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/fire_clay.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/fire_clay.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/glassworking.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/glassworking.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/glassworking.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/glassworking.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/glassworking_applications.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/glassworking_applications.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/glassworking_applications.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/glassworking_applications.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/mechanical_power.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/mechanical_power.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/mechanical_power.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/mechanical_power.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/pumps.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/pumps.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/mechanics/pumps.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/mechanics/pumps.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_garnet_amethyst.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_garnet_amethyst.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_garnet_amethyst.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_garnet_amethyst.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_garnet_opal.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_garnet_opal.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_garnet_opal.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_garnet_opal.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_gold.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_gold.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_gold.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_hematite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_hematite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_hematite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_limonite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_limonite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_limonite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_magnetite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_magnetite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_magnetite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_molybdenum.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_molybdenum.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_molybdenum.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_molybdenum.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_naquadah.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_naquadah.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_naquadah.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_naquadah.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_pitchblende.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_pitchblende.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_pitchblende.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_pitchblende.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_sapphire.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_sapphire.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_sapphire.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_sapphire.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_scheelite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_scheelite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_scheelite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_scheelite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_sheldonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_sheldonite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_sheldonite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_sheldonite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_topaz.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_topaz.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/deep_topaz.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/deep_topaz.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/hazards.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/hazards.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/hazards.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/index.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/index.json similarity index 99% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/index.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/index.json index 9f6ce29a9..f66c39d8c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/index.json @@ -39,5 +39,5 @@ "text": "Wulfenite: $(l:tfg_ores/deep_molybdenum)40%$()$(br)Yellow Garnet: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Yellow Limonite: $(l:tfg_ores/normal_limonite)50%$(), $(l:tfg_ores/normal_hematite)30%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/deep_limonite)15%$(), $(l:tfg_ores/deep_hematite)15%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Zeolite: $(l:tfg_ores/surface_copper)15%$()" } ] -} - +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_apatite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_apatite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_apatite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_apatite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_basaltic_sands.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_basaltic_sands.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_basaltic_sands.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_basaltic_sands.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_bauxite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_bauxite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_bauxite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_bauxite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_beryllium.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_beryllium.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_beryllium.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_beryllium.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_bismuth.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_bismuth.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_bismuth.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_cassiterite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_cassiterite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_cassiterite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_coal.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_coal.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_coal.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_coal.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_copper.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_copper.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_copper.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_garnet_tin.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_garnet_tin.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_garnet_tin.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_garnet_tin.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_garnierite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_garnierite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_garnierite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_garnierite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_gold.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_gold.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_gold.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_graphite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_graphite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_graphite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_graphite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_hematite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_hematite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_hematite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_lapis.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_lapis.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_lapis.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_lapis.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_limonite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_limonite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_limonite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_lubricant.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_lubricant.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_lubricant.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_lubricant.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_magnetite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_magnetite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_magnetite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_manganese.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_manganese.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_manganese.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_manganese.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_mica.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_mica.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_mica.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_mica.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_monazite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_monazite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_monazite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_monazite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_oilsands.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_oilsands.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_oilsands.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_oilsands.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_olivine.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_olivine.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_olivine.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_olivine.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_quartz.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_quartz.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_quartz.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_quartz.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_redstone.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_redstone.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_redstone.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_redstone.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_salt.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_salt.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_salt.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_salt.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_saltpeter.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_saltpeter.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_saltpeter.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_saltpeter.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_silver.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_silver.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_silver.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_silver.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_sphalerite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_sphalerite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_sphalerite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_spodumene.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_spodumene.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_spodumene.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_spodumene.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_sulfur.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_sulfur.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_sulfur.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_sulfur.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_tetrahedrite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/normal_tetrahedrite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/normal_tetrahedrite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/ore_basics.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/ore_basics.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/ore_basics.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_bismuth.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_bismuth.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_bismuth.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_cassiterite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_cassiterite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_cassiterite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_copper.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_copper.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_copper.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_kaolin.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_kaolin.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_kaolin.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_kaolin.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_sphalerite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_sphalerite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_sphalerite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_tetrahedrite.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_ores/surface_tetrahedrite.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_ores/surface_tetrahedrite.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/blast_furnace_tips.json similarity index 98% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/blast_furnace_tips.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/blast_furnace_tips.json index 14c9a807a..d320c6ec4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/blast_furnace_tips.json @@ -33,7 +33,7 @@ { "type": "patchouli:spotlight", "title": "Automation", - "item": "create:mechanical_pump", + "item": "greate:steel_mechanical_pump", "text": "You'll need lots of $(item)Steel$() for the $(thing)Steam$() and $(thing)LV$() ages. Lots of steel. The $(thing)Electric Blast Furnace$() is far off, so maybe think about optimizing your steel production." }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/faqs.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/faqs.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/faqs.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/infinite_resources.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/infinite_resources.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/infinite_resources.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/infinite_resources.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/lv_machines.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/lv_machines.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/it-it/entries/tfg_tips/lv_machines.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/tfg_tips/lv_machines.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/the_world/ores_and_minerals.json similarity index 100% rename from kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/ores_and_minerals.json rename to kubejs/assets/tfc/patchouli_books/field_guide/it_it/entries/the_world/ores_and_minerals.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_ores.json index afef390ca..ce50cbef0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_ores.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_ores.json @@ -1,6 +1,6 @@ -{ - "name": "Руды в TFG", - "description": "TFG использует систему генерации руд из TFC с одним отличием - в одной жиле присутствуют несколько видов минералов. В этой категории указаны все виды жил и где их искать.$(br2)Жилы называются в честь руды, которой в них больше всего, однако всего руд будет от 3 до 5.$(br2)Дополнительная информация: $(l:the_world/geology)Геология$(), $(l:getting_started/finding_ores)Индикаторы$()", - "icon": "gtceu:raw_pyrite", - "sortnum": 60 +{ + "name": "Руды в TFG", + "description": "TFG использует систему генерации руд из TFC с одним отличием - в одной жиле присутствуют несколько видов минералов. В этой категории указаны все виды жил и где их искать.$(br2)Жилы называются в честь руды, которой в них больше всего, однако всего руд будет от 3 до 5.$(br2)Дополнительная информация: $(l:the_world/geology)Геология$(), $(l:getting_started/finding_ores)Индикаторы$()", + "icon": "gtceu:raw_pyrite", + "sortnum": 60 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/stainless_steel.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/stainless_steel.json index 365bc6739..8bc328e78 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/stainless_steel.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/stainless_steel.json @@ -1,14 +1,14 @@ -{ - "name": "Нержавеющая сталь", - "icon": "firmalife:metal/ingot/stainless_steel", - "category": "tfc:firmalife", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:spotlight", - "item": "gtceu:stainless_steel_ingot", - "title": "Нержавеющая сталь", - "text": "Эта страница не используется.$(br2)Нержавеющая сталь - Грегтеховский материал $(thing)HV$(), поэтому в примитивной эре он не создаётся.$(br)Теплицу из нержавеющей стали так же сделать невозможно, приносим свои извинения!" - } - ] +{ + "name": "Нержавеющая сталь", + "icon": "firmalife:metal/ingot/stainless_steel", + "category": "tfc:firmalife", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "item": "gtceu:stainless_steel_ingot", + "title": "Нержавеющая сталь", + "text": "Эта страница не используется.$(br2)Нержавеющая сталь - Грегтеховский материал $(thing)HV$(), поэтому в примитивной эре он не создаётся.$(br)Теплицу из нержавеющей стали так же сделать невозможно, приносим свои извинения!" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/introduction.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/introduction.json index 0444e3176..42ceb48bb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/introduction.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/introduction.json @@ -1,178 +1,168 @@ { - "__comment__": "This file was automatically created by mcresources", - "name": "Введение", - "category": "tfc:getting_started", - "icon": "tfc:rock/loose/granite", - "pages": [ - { - "type": "patchouli:text", - "text": "В TerraFirmaCraft первые предметы, которые вы можете получить - это палки, ветки и рассыпанные камни. Их можно найти почти в любом климате, разбросанные по земле. $(item)$(k:key.use)$() или разбейте их, чтобы подобрать." - }, - { - "type": "patchouli:multiblock", - "multiblock": { - "pattern": [ - [ - "1 ", - " 2 4", - " 03 ", - " 4 ", - " 5" - ], - [ - "GGGGG", - "GGGGG", - "GGGGG", - "GGGGG", - "GGGGG" - ] - ], - "mapping": { - "G": "tfc:grass/sandy_loam", - "1": "tfc:rock/loose/granite[count=1]", - "2": "tfc:rock/loose/granite[count=2]", - "3": "tfc:rock/loose/granite[count=3]", - "4": "tfc:groundcover/stick", - "5": "tfc:wood/twig/ash" - } - }, - "name": "Пример", - "text": "Несколько обычных палок и камней.", - "enable_visualize": false - }, - { - "type": "patchouli:text", - "text": "Помимо сбора палок и веток на земле, палки также можно получить, разбивая листву кулаком. Как только у вас будет достаточно камней и палок, вы готовы начать $(thing)высекание$(). Высекание - это процесс, при котором два камня сталкиваются вместе, чтобы сформировать определённую форму. Чтобы начать высекание, сначала возьмите как минимум два камня в руку, затем щелкните правой кнопкой мыши в воздухе, что откроет $(thing)интерфейс высекания$()." - }, - { - "type": "patchouli:image", - "images": [ - "tfc:textures/gui/book/gui/rock_knapping.png" - ], - "text": "Интерфейс высекания.", - "border": false - }, - { - "type": "patchouli:text", - "text": "Чтобы сделать определённый предмет, вы хотите убрать квадраты, пока не сформируете желаемый узор. Например, создайте лезвие ножа, соответствуя рецепту, показанному справа.$(br2)Как и в рецептах крафта, расположение желаемого узора не имеет значения для результата, и некоторые рецепты имеют несколько вариантов, которые действительны." - }, - { - "type": "tfc:rock_knapping_recipe", - "anchor": "knife", - "recipes": [ - "tfc:rock_knapping/knife_head_sedimentary", - "tfc:rock_knapping/knife_head_metamorphic", - "tfc:rock_knapping/knife_head_igneous_extrusive", - "tfc:rock_knapping/knife_head_igneous_intrusive" - ], - "text": "Лезвие ножа, изготовленное из нескольких разных типов камней." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/stone/knife_sedimentary", - "text": "Все головки каменных инструментов можно собрать с палкой или веткой, чтобы собрать их в инструмент.$(br2)Каменный нож можно использовать для сбора $(thing)Соломы$(), разбивая растения." - }, - { - "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfc:rock_knapping/axe_head_sedimentary", - "tfc:rock_knapping/axe_head_metamorphic", - "tfc:rock_knapping/axe_head_igneous_extrusive", - "tfc:rock_knapping/axe_head_igneous_intrusive" - ], - "text": "$(thing)Топоры$() можно использовать для срубания целых деревьев, включая бревна и листву. Однако саженцы и палки можно получить только в случае индивидуального разбивания листвы." - }, - { - "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfc:rock_knapping/shovel_head_sedimentary", - "tfc:rock_knapping/shovel_head_metamorphic", - "tfc:rock_knapping/shovel_head_igneous_extrusive", - "tfc:rock_knapping/shovel_head_igneous_intrusive" - ], - "text": "$(thing)Лопаты$() можно использовать для копания блоков типа почвы. Их также можно использовать для создания $(thing)Троп$() путём $(item)использования$() их на $(thing)Земле$() или $(thing)Траве$()." - }, - { - "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfc:rock_knapping/hoe_head_sedimentary", - "tfc:rock_knapping/hoe_head_metamorphic", - "tfc:rock_knapping/hoe_head_igneous_extrusive", - "tfc:rock_knapping/hoe_head_igneous_intrusive" - ], - "text": "$(thing)Мотыги$() - полезные инструменты для $(l:mechanics/crops)Фермерства$(), но их также можно использовать для срезания листвы и другого растительного материала." - }, - { - "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfc:rock_knapping/hammer_head_sedimentary", - "tfc:rock_knapping/hammer_head_metamorphic", - "tfc:rock_knapping/hammer_head_igneous_extrusive", - "tfc:rock_knapping/hammer_head_igneous_intrusive" - ], - "text": "$(thing)Молоты$() можно использовать как $(l:mechanics/damage_types)Дробящее$() оружие, но они более важные инструменты, используемые для $(l:getting_started/primitive_anvils)Ковки$()." - }, - { - "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfc:rock_knapping/javelin_head_sedimentary", - "tfc:rock_knapping/javelin_head_metamorphic", - "tfc:rock_knapping/javelin_head_igneous_extrusive", - "tfc:rock_knapping/javelin_head_igneous_intrusive" - ], - "text": "Наконец, $(thing)Дротик$() можно использовать как примитивное оружие, способное бросаться в цели или использоваться как $(l:mechanics/damage_types)Пронзающее$() оружие." - } - ], - "read_by_default": true, - "sortnum": 0, - "extra_recipe_mappings": { - "tfc:stone/knife_head/sedimentary": 5, - "tfc:stone/knife_head/metamorphic": 5, - "tfc:stone/knife_head/igneous_extrusive": 5, - "tfc:stone/knife_head/igneous_intrusive": 5, - "tfc:stone/knife/sedimentary": 5, - "tfc:stone/knife/metamorphic": 5, - "tfc:stone/knife/igneous_extrusive": 5, - "tfc:stone/knife/igneous_intrusive": 5, - "tfc:stone/axe_head/sedimentary": 7, - "tfc:stone/axe_head/metamorphic": 7, - "tfc:stone/axe_head/igneous_extrusive": 7, - "tfc:stone/axe_head/igneous_intrusive": 7, - "tfc:stone/axe/sedimentary": 7, - "tfc:stone/axe/metamorphic": 7, - "tfc:stone/axe/igneous_extrusive": 7, - "tfc:stone/axe/igneous_intrusive": 7, - "tfc:stone/shovel_head/sedimentary": 8, - "tfc:stone/shovel_head/metamorphic": 8, - "tfc:stone/shovel_head/igneous_extrusive": 8, - "tfc:stone/shovel_head/igneous_intrusive": 8, - "tfc:stone/shovel/sedimentary": 8, - "tfc:stone/shovel/metamorphic": 8, - "tfc:stone/shovel/igneous_extrusive": 8, - "tfc:stone/shovel/igneous_intrusive": 8, - "tfc:stone/hoe_head/sedimentary": 9, - "tfc:stone/hoe_head/metamorphic": 9, - "tfc:stone/hoe_head/igneous_extrusive": 9, - "tfc:stone/hoe_head/igneous_intrusive": 9, - "tfc:stone/hoe/sedimentary": 9, - "tfc:stone/hoe/metamorphic": 9, - "tfc:stone/hoe/igneous_extrusive": 9, - "tfc:stone/hoe/igneous_intrusive": 9, - "tfc:stone/hammer_head/sedimentary": 10, - "tfc:stone/hammer_head/metamorphic": 10, - "tfc:stone/hammer_head/igneous_extrusive": 10, - "tfc:stone/hammer_head/igneous_intrusive": 10, - "tfc:stone/hammer/sedimentary": 10, - "tfc:stone/hammer/metamorphic": 10, - "tfc:stone/hammer/igneous_extrusive": 10, - "tfc:stone/hammer/igneous_intrusive": 10, - "tfc:stone/javelin_head/sedimentary": 11, - "tfc:stone/javelin_head/metamorphic": 11, - "tfc:stone/javelin_head/igneous_extrusive": 11, - "tfc:stone/javelin_head/igneous_intrusive": 11, - "tfc:stone/javelin/sedimentary": 11, - "tfc:stone/javelin/metamorphic": 11, - "tfc:stone/javelin/igneous_extrusive": 11, - "tfc:stone/javelin/igneous_intrusive": 11 - } + "__comment__": "This file was automatically created by mcresources", + "name": "Введение", + "category": "tfc:getting_started", + "icon": "tfc:rock/loose/granite", + "pages": [ + { + "type": "patchouli:text", + "text": "В TerraFirmaCraft первые предметы, которые вы можете получить - это палки, ветки и рассыпанные камни. Их можно найти почти в любом климате, разбросанные по земле. $(item)$(k:key.use)$() или разбейте их, чтобы подобрать." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "1 ", + " 2 4", + " 03 ", + " 4 ", + " 5" + ], + [ + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG" + ] + ], + "mapping": { + "G": "tfc:grass/sandy_loam", + "1": "tfc:rock/loose/granite[count=1]", + "2": "tfc:rock/loose/granite[count=2]", + "3": "tfc:rock/loose/granite[count=3]", + "4": "tfc:groundcover/stick", + "5": "tfc:wood/twig/ash" + } + }, + "name": "Пример", + "text": "Несколько обычных палок и камней.", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "Помимо сбора палок и веток на земле, палки также можно получить, разбивая листву кулаком. Как только у вас будет достаточно камней и палок, вы готовы начать $(thing)высекание$(). Высекание - это процесс, при котором два камня сталкиваются вместе, чтобы сформировать определённую форму. Чтобы начать высекание, сначала возьмите как минимум два камня в руку, затем щелкните правой кнопкой мыши в воздухе, что откроет $(thing)интерфейс высекания$()." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/rock_knapping.png" + ], + "text": "Интерфейс высекания.", + "border": false + }, + { + "type": "patchouli:text", + "text": "Чтобы сделать определённый предмет, вы хотите убрать квадраты, пока не сформируете желаемый узор. Например, создайте лезвие ножа, соответствуя рецепту, показанному справа.$(br2)Как и в рецептах крафта, расположение желаемого узора не имеет значения для результата, и некоторые рецепты имеют несколько вариантов, которые действительны." + }, + { + "type": "tfc:rock_knapping_recipe", + "anchor": "knife", + "recipes": [ + "tfg:rock_knapping/stone_knife_head", + "tfg:rock_knapping/stone_knife_head_1", + "tfg:rock_knapping/stone_knife_head_2", + "tfg:rock_knapping/stone_knife_head_3" + ], + "text": "Лезвие ножа, изготовленное из нескольких разных типов камней." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/stone/knife_sedimentary", + "text": "Все головки каменных инструментов можно собрать с палкой или веткой, чтобы собрать их в инструмент.$(br2)Каменный нож можно использовать для сбора $(thing)Соломы$(), разбивая растения." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_axe_head" + ], + "text": "$(thing)Топоры$() можно использовать для срубания целых деревьев, включая бревна и листву. Однако саженцы и палки можно получить только в случае индивидуального разбивания листвы." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_shovel_head" + ], + "text": "$(thing)Лопаты$() можно использовать для копания блоков типа почвы. Их также можно использовать для создания $(thing)Троп$() путём $(item)использования$() их на $(thing)Земле$() или $(thing)Траве$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head", + "tfg:rock_knapping/stone_hoe_head_1", + "tfg:rock_knapping/stone_hoe_head_2" + ], + "text": "$(thing)Мотыги$() - полезные инструменты для $(l:mechanics/crops)Фермерства$(), но их также можно использовать для срезания листвы и другого растительного материала." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hammer_head" + ], + "text": "$(thing)Молоты$() можно использовать как $(l:mechanics/damage_types)Дробящее$() оружие, но они более важные инструменты, используемые для $(l:getting_started/primitive_anvils)Ковки$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfc:rock_knapping/javelin_head_sedimentary", + "tfc:rock_knapping/javelin_head_metamorphic", + "tfc:rock_knapping/javelin_head_igneous_extrusive", + "tfc:rock_knapping/javelin_head_igneous_intrusive" + ], + "text": "Наконец, $(thing)Дротик$() можно использовать как примитивное оружие, способное бросаться в цели или использоваться как $(l:mechanics/damage_types)Пронзающее$() оружие." + } + ], + "read_by_default": true, + "sortnum": 0, + "extra_recipe_mappings": { + "tfc:stone/knife_head/sedimentary": 5, + "tfc:stone/knife_head/metamorphic": 5, + "tfc:stone/knife_head/igneous_extrusive": 5, + "tfc:stone/knife_head/igneous_intrusive": 5, + "tfc:stone/knife/sedimentary": 5, + "tfc:stone/knife/metamorphic": 5, + "tfc:stone/knife/igneous_extrusive": 5, + "tfc:stone/knife/igneous_intrusive": 5, + "tfc:stone/axe_head/sedimentary": 7, + "tfc:stone/axe_head/metamorphic": 7, + "tfc:stone/axe_head/igneous_extrusive": 7, + "tfc:stone/axe_head/igneous_intrusive": 7, + "tfc:stone/axe/sedimentary": 7, + "tfc:stone/axe/metamorphic": 7, + "tfc:stone/axe/igneous_extrusive": 7, + "tfc:stone/axe/igneous_intrusive": 7, + "tfc:stone/shovel_head/sedimentary": 8, + "tfc:stone/shovel_head/metamorphic": 8, + "tfc:stone/shovel_head/igneous_extrusive": 8, + "tfc:stone/shovel_head/igneous_intrusive": 8, + "tfc:stone/shovel/sedimentary": 8, + "tfc:stone/shovel/metamorphic": 8, + "tfc:stone/shovel/igneous_extrusive": 8, + "tfc:stone/shovel/igneous_intrusive": 8, + "tfc:stone/hoe_head/sedimentary": 9, + "tfc:stone/hoe_head/metamorphic": 9, + "tfc:stone/hoe_head/igneous_extrusive": 9, + "tfc:stone/hoe_head/igneous_intrusive": 9, + "tfc:stone/hoe/sedimentary": 9, + "tfc:stone/hoe/metamorphic": 9, + "tfc:stone/hoe/igneous_extrusive": 9, + "tfc:stone/hoe/igneous_intrusive": 9, + "tfc:stone/hammer_head/sedimentary": 10, + "tfc:stone/hammer_head/metamorphic": 10, + "tfc:stone/hammer_head/igneous_extrusive": 10, + "tfc:stone/hammer_head/igneous_intrusive": 10, + "tfc:stone/hammer/sedimentary": 10, + "tfc:stone/hammer/metamorphic": 10, + "tfc:stone/hammer/igneous_extrusive": 10, + "tfc:stone/hammer/igneous_intrusive": 10, + "tfc:stone/javelin_head/sedimentary": 11, + "tfc:stone/javelin_head/metamorphic": 11, + "tfc:stone/javelin_head/igneous_extrusive": 11, + "tfc:stone/javelin_head/igneous_intrusive": 11, + "tfc:stone/javelin/sedimentary": 11, + "tfc:stone/javelin/metamorphic": 11, + "tfc:stone/javelin/igneous_extrusive": 11, + "tfc:stone/javelin/igneous_intrusive": 11 + } } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_amethyst.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_amethyst.json index e71f1619a..b954c9e0b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_amethyst.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_amethyst.json @@ -1,56 +1,56 @@ -{ - "name": "Аметист и гранат (Глубокие)", - "icon": "minecraft:amethyst_shard", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 230$(br)Плотность: 0.25$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br)Высота: 8$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Цветущий аметист" - }, - { - "type": "patchouli:multiblock", - "name": "Аметист", - "multiblock": - { - "mapping": { "0": "#forge:ores/amethyst" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 65%$(br)Содержит: Железо$(br)Формула: (SiO₂)₄Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Опал", - "multiblock": - { - "mapping": { "0": "#forge:ores/opal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Формула: (SiO₂)" - }, - { - "type": "patchouli:multiblock", - "name": "Красный гранат", - "multiblock": - { - "mapping": { "0": "#forge:ores/red_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Содержит: Пироп, Альмандин, Спасерит" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый гранат", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Андрадит, Гроссуляр, Уваровит" - } - ] +{ + "name": "Аметист и гранат (Глубокие)", + "icon": "minecraft:amethyst_shard", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 230$(br)Плотность: 0.25$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br)Высота: 8$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Цветущий аметист" + }, + { + "type": "patchouli:multiblock", + "name": "Аметист", + "multiblock": + { + "mapping": { "0": "#forge:ores/amethyst" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 65%$(br)Содержит: Железо$(br)Формула: (SiO₂)₄Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Опал", + "multiblock": + { + "mapping": { "0": "#forge:ores/opal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Формула: (SiO₂)" + }, + { + "type": "patchouli:multiblock", + "name": "Красный гранат", + "multiblock": + { + "mapping": { "0": "#forge:ores/red_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Содержит: Пироп, Альмандин, Спасерит" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый гранат", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Андрадит, Гроссуляр, Уваровит" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_opal.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_opal.json index ed9362a87..c771655f1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_opal.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_garnet_opal.json @@ -1,56 +1,56 @@ -{ - "name": "Опал и гранат (Глубокие)", - "icon": "gtceu:opal_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 62$(br)Размер: 26$(br)Высота: 6$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикатор: Цветущий аметист" - }, - { - "type": "patchouli:multiblock", - "name": "Опал", - "multiblock": - { - "mapping": { "0": "#forge:ores/opal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 55%$(br)Формула: (SiO₂)" - }, - { - "type": "patchouli:multiblock", - "name": "Аметист", - "multiblock": - { - "mapping": { "0": "#forge:ores/amethyst" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Железо$(br)Формула: (SiO₂)₄Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Красный гранат", - "multiblock": - { - "mapping": { "0": "#forge:ores/red_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Содержит: Пироп, Альмандин, Спасерит" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый гранат", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_garnet" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Андрадит, Гроссуляр, Уваровит" - } - ] +{ + "name": "Опал и гранат (Глубокие)", + "icon": "gtceu:opal_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 62$(br)Размер: 26$(br)Высота: 6$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикатор: Цветущий аметист" + }, + { + "type": "patchouli:multiblock", + "name": "Опал", + "multiblock": + { + "mapping": { "0": "#forge:ores/opal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 55%$(br)Формула: (SiO₂)" + }, + { + "type": "patchouli:multiblock", + "name": "Аметист", + "multiblock": + { + "mapping": { "0": "#forge:ores/amethyst" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Железо$(br)Формула: (SiO₂)₄Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Красный гранат", + "multiblock": + { + "mapping": { "0": "#forge:ores/red_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Содержит: Пироп, Альмандин, Спасерит" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый гранат", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_garnet" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Андрадит, Гроссуляр, Уваровит" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_gold.json index 100ba3024..07398acbe 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_gold.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_gold.json @@ -1,56 +1,56 @@ -{ - "name": "Золото (Глубокое)", - "icon": "gtceu:rich_raw_gold", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 260$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 32$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Лимонит, Гематит, Самородное золото" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 75%$(br)Плавится в: Золото$(br)Формула: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - } - ] +{ + "name": "Золото (Глубокое)", + "icon": "gtceu:rich_raw_gold", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 260$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 32$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Лимонит, Гематит, Самородное золото" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 75%$(br)Плавится в: Золото$(br)Формула: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_hematite.json index 1528c7b17..3de1a829d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_hematite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_hematite.json @@ -1,67 +1,67 @@ -{ - "name": "Гематит, Гётит, Рубин (Глубокие)", - "icon": "gtceu:rich_raw_hematite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Гематит, Лимонит, Самородное Золото" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Золото$(br)Формула: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Рубин", - "multiblock": - { - "mapping": { "0": "#forge:ores/ruby" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Хром, Алюминий$(br)Формула: CrAl₂O₃" - } - ] +{ + "name": "Гематит, Гётит, Рубин (Глубокие)", + "icon": "gtceu:rich_raw_hematite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Гематит, Лимонит, Самородное Золото" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Золото$(br)Формула: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Рубин", + "multiblock": + { + "mapping": { "0": "#forge:ores/ruby" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Хром, Алюминий$(br)Формула: CrAl₂O₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_limonite.json index 14eb28684..4984a3363 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_limonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_limonite.json @@ -1,56 +1,56 @@ -{ - "name": "Гётит и Малахит (Глубокие)", - "icon": "gtceu:rich_raw_goethite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 240$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 32$(br2)Виды камней: Мрамор, Известняк$(br2)Индикаторы: Лимонит, Гематит, Малахит" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Малахит", - "multiblock": - { - "mapping": { "0": "#forge:ores/malachite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: Cu₂CH₂O₅" - } - ] +{ + "name": "Гётит и Малахит (Глубокие)", + "icon": "gtceu:rich_raw_goethite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 240$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 32$(br2)Виды камней: Мрамор, Известняк$(br2)Индикаторы: Лимонит, Гематит, Малахит" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Малахит", + "multiblock": + { + "mapping": { "0": "#forge:ores/malachite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: Cu₂CH₂O₅" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_magnetite.json index d4f0a1051..7eea039df 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_magnetite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_magnetite.json @@ -1,67 +1,67 @@ -{ - "name": "Хромит и Магнетит (Глубокие)", - "icon": "gtceu:rich_raw_chromite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 205$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 340$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Магнетит, Самородное золото, Хромит, Сапфир" - }, - { - "type": "patchouli:multiblock", - "name": "Хромит", - "multiblock": - { - "mapping": { "0": "#forge:ores/chromite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 60%$(br)Содержит: Хром$(br)Формула: FeCr₂O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Магнетит", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: Fe₃O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Ванадий магнетит", - "multiblock": - { - "mapping": { "0": "#forge:ores/vanadium_magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Железо, Ванадий$(br)Формула: (Fe₃O₄)V" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Золото$(br)Формула: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Сапфир", - "multiblock": - { - "mapping": { "0": "#forge:ores/sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" - } - ] +{ + "name": "Хромит и Магнетит (Глубокие)", + "icon": "gtceu:rich_raw_chromite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 205$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 30$(br)Размер: 340$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Магнетит, Самородное золото, Хромит, Сапфир" + }, + { + "type": "patchouli:multiblock", + "name": "Хромит", + "multiblock": + { + "mapping": { "0": "#forge:ores/chromite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 60%$(br)Содержит: Хром$(br)Формула: FeCr₂O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Магнетит", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: Fe₃O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Ванадий магнетит", + "multiblock": + { + "mapping": { "0": "#forge:ores/vanadium_magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Железо, Ванадий$(br)Формула: (Fe₃O₄)V" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Золото$(br)Формула: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Сапфир", + "multiblock": + { + "mapping": { "0": "#forge:ores/sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_molybdenum.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_molybdenum.json index 88fb60bce..c5a1351dd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_molybdenum.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_molybdenum.json @@ -1,56 +1,56 @@ -{ - "name": "Вульфенит & Молибденит (Глубокие)", - "icon": "gtceu:rich_raw_wulfenite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 245$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 10$(br)Размер: 26$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикатор: Вульфенит, Молибденит, Молибден, Повеллит" - }, - { - "type": "patchouli:multiblock", - "name": "Вульфенит", - "multiblock": - { - "mapping": { "0": "#forge:ores/wulfenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Содержит: Свинец, Молибден$(br)Формула: PbMoO₄$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Молибденит", - "multiblock": - { - "mapping": { "0": "#forge:ores/molybdenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Молибден$(br)Формула: MoS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Молибден", - "multiblock": - { - "mapping": { "0": "#forge:ores/molybdenum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Молибден$(br)Формула: Mo" - }, - { - "type": "patchouli:multiblock", - "name": "Повеллит", - "multiblock": - { - "mapping": { "0": "#forge:ores/powellite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Молибден$(br)Формула: CaMoO₄" - } - ] +{ + "name": "Вульфенит & Молибденит (Глубокие)", + "icon": "gtceu:rich_raw_wulfenite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 245$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 10$(br)Размер: 26$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикатор: Вульфенит, Молибденит, Молибден, Повеллит" + }, + { + "type": "patchouli:multiblock", + "name": "Вульфенит", + "multiblock": + { + "mapping": { "0": "#forge:ores/wulfenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Содержит: Свинец, Молибден$(br)Формула: PbMoO₄$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Молибденит", + "multiblock": + { + "mapping": { "0": "#forge:ores/molybdenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Молибден$(br)Формула: MoS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Молибден", + "multiblock": + { + "mapping": { "0": "#forge:ores/molybdenum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Молибден$(br)Формула: Mo" + }, + { + "type": "patchouli:multiblock", + "name": "Повеллит", + "multiblock": + { + "mapping": { "0": "#forge:ores/powellite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Молибден$(br)Формула: CaMoO₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_naquadah.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_naquadah.json index 07569ae7f..4df310d4c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_naquadah.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_naquadah.json @@ -1,34 +1,34 @@ -{ - "name": "Наквада и Плутоний (Глубокие)", - "icon": "gtceu:rich_raw_naquadah", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 310$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -64 - -20$(br)Размер: 32$(br2)Виды камней: Кварцит, Сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Наквада, Плутоний" - }, - { - "type": "patchouli:multiblock", - "name": "Наквада", - "multiblock": - { - "mapping": { "0": "#forge:ores/naquadah" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 75%$(br)Содержит: Наквада$(br)Формула: Nq" - }, - { - "type": "patchouli:multiblock", - "name": "Плутоний", - "multiblock": - { - "mapping": { "0": "#forge:ores/plutonium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Плутоний$(br)Формула: Pu²³⁹$(br)Ядовит: Да" - } - ] +{ + "name": "Наквада и Плутоний (Глубокие)", + "icon": "gtceu:rich_raw_naquadah", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 310$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -64 - -20$(br)Размер: 32$(br2)Виды камней: Кварцит, Сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Наквада, Плутоний" + }, + { + "type": "patchouli:multiblock", + "name": "Наквада", + "multiblock": + { + "mapping": { "0": "#forge:ores/naquadah" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 75%$(br)Содержит: Наквада$(br)Формула: Nq" + }, + { + "type": "patchouli:multiblock", + "name": "Плутоний", + "multiblock": + { + "mapping": { "0": "#forge:ores/plutonium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Плутоний$(br)Формула: Pu²³⁹$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_pitchblende.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_pitchblende.json index de407a102..37824d8db 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_pitchblende.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_pitchblende.json @@ -1,34 +1,34 @@ -{ - "name": "Уранинит и Уранит (Глубокие)", - "icon": "gtceu:rich_raw_uraninite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 220$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - -20$(br)Размер: 24$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Уранит, Уранинит$(br2)Ядерного реактора нет, но есть другие применения." - }, - { - "type": "patchouli:multiblock", - "name": "Уранинит", - "multiblock": - { - "mapping": { "0": "#forge:ores/uraninite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Содержит: Уран$(br)Формула: UO₂$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Уранит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pitchblende" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Содержит: Уран$(br)Формула: (UO₂)₃ThPb$(br)Ядовит: Да" - } - ] +{ + "name": "Уранинит и Уранит (Глубокие)", + "icon": "gtceu:rich_raw_uraninite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 220$(br)Плотность: 0.45$(br)Вид: кластерная жила$(br)Y-уровень: -64 - -20$(br)Размер: 24$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Уранит, Уранинит$(br2)Ядерного реактора нет, но есть другие применения." + }, + { + "type": "patchouli:multiblock", + "name": "Уранинит", + "multiblock": + { + "mapping": { "0": "#forge:ores/uraninite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Содержит: Уран$(br)Формула: UO₂$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Уранит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pitchblende" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Содержит: Уран$(br)Формула: (UO₂)₃ThPb$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sapphire.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sapphire.json index 4191dc818..f0e8f4fad 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sapphire.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sapphire.json @@ -1,58 +1,58 @@ -{ - "name": "Сапфир и Альмандин (Глубокие)", - "icon": "gtceu:sapphire_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 180$(br)Плотность: 0.35$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br)Высота: 8$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Альмандин, Пироп, Сапфир, Зелёный сапфир$(br2)Если вы ищите $(thing)Алюминий$(), то лучше выбрать жилу $(l:tfg_ores/normal_bauxite)Боксита$().$(br)" - }, - { - "type": "patchouli:multiblock", - "name": "Альмандин", - "anchor": "almandine", - "multiblock": - { - "mapping": { "0": "#forge:ores/almandine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Алюминий, Железо$(br)Формула: Al₂Fe₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Пироп", - "anchor": "pyrope", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrope" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Алюминий, Магний$(br)Формула: Al₂Mg₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Сапфир", - "multiblock": - { - "mapping": { "0": "#forge:ores/sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Зелёный сапфир", - "multiblock": - { - "mapping": { "0": "#forge:ores/green_sapphire" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" - } - ] -} +{ + "name": "Сапфир и Альмандин (Глубокие)", + "icon": "gtceu:sapphire_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 180$(br)Плотность: 0.35$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br)Высота: 8$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Альмандин, Пироп, Сапфир, Зелёный сапфир$(br2)Если вы ищите $(thing)Алюминий$(), то лучше выбрать жилу $(l:tfg_ores/normal_bauxite)Боксита$().$(br)" + }, + { + "type": "patchouli:multiblock", + "name": "Альмандин", + "anchor": "almandine", + "multiblock": + { + "mapping": { "0": "#forge:ores/almandine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Алюминий, Железо$(br)Формула: Al₂Fe₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Пироп", + "anchor": "pyrope", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrope" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Алюминий, Магний$(br)Формула: Al₂Mg₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Сапфир", + "multiblock": + { + "mapping": { "0": "#forge:ores/sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Зелёный сапфир", + "multiblock": + { + "mapping": { "0": "#forge:ores/green_sapphire" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_scheelite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_scheelite.json index 79d55d4c8..56d550692 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_scheelite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_scheelite.json @@ -1,45 +1,45 @@ -{ - "name": "Шеелит и Вольфрамат (Глубокие)", - "icon": "gtceu:rich_raw_scheelite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 0$(br)Высота: 28$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Шеелит, Вольфрамат, Литий" - }, - { - "type": "patchouli:multiblock", - "name": "Шеелит", - "multiblock": - { - "mapping": { "0": "#forge:ores/scheelite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 45%$(br)Содержит: Вольфрам$(br)Формула: Ca(WO₃)O" - }, - { - "type": "patchouli:multiblock", - "name": "Вольфрамат", - "multiblock": - { - "mapping": { "0": "#forge:ores/tungstate" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Вольфрам, Литий$(br)Формула: Li₂(WO₃)O" - }, - { - "type": "patchouli:multiblock", - "name": "Литий", - "multiblock": - { - "mapping": { "0": "#forge:ores/lithium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Литий$(br)Формула: Li" - } - ] +{ + "name": "Шеелит и Вольфрамат (Глубокие)", + "icon": "gtceu:rich_raw_scheelite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 220$(br)Плотность: 0.35$(br)Вид: кластерная жила$(br)Y-уровень: -64 - 0$(br)Высота: 28$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Шеелит, Вольфрамат, Литий" + }, + { + "type": "patchouli:multiblock", + "name": "Шеелит", + "multiblock": + { + "mapping": { "0": "#forge:ores/scheelite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 45%$(br)Содержит: Вольфрам$(br)Формула: Ca(WO₃)O" + }, + { + "type": "patchouli:multiblock", + "name": "Вольфрамат", + "multiblock": + { + "mapping": { "0": "#forge:ores/tungstate" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Вольфрам, Литий$(br)Формула: Li₂(WO₃)O" + }, + { + "type": "patchouli:multiblock", + "name": "Литий", + "multiblock": + { + "mapping": { "0": "#forge:ores/lithium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Литий$(br)Формула: Li" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sheldonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sheldonite.json index 4ea3f91f2..74aad59ef 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sheldonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_sheldonite.json @@ -1,56 +1,56 @@ -{ - "name": "Шелдонит и Борнит (Глубокие)", - "icon": "gtceu:rich_raw_platinum", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 300$(br)Плотность: 0.3$(br)Вид: Кластерная жила$(br)Y-уровень: -64 - 0$(br)Размер: 30$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Борнит, Шелдонит, Платина, Палладий" - }, - { - "type": "patchouli:multiblock", - "name": "Шелдонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/cooperite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Платина, Никель, Палладий$(br)Формула: Pt₃NiSPd" - }, - { - "type": "patchouli:multiblock", - "name": "Платина", - "multiblock": - { - "mapping": { "0": "#forge:ores/platinum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Платина$(br)Формула: Pt" - }, - { - "type": "patchouli:multiblock", - "name": "Палладий", - "multiblock": - { - "mapping": { "0": "#forge:ores/palladium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Палладий$(br)Формула: Pt" - }, - { - "type": "patchouli:multiblock", - "name": "Борнит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bornite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Плавится в: Медь$(br)Формула: Cu₅FeS₄" - } - ] +{ + "name": "Шелдонит и Борнит (Глубокие)", + "icon": "gtceu:rich_raw_platinum", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 300$(br)Плотность: 0.3$(br)Вид: Кластерная жила$(br)Y-уровень: -64 - 0$(br)Размер: 30$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Борнит, Шелдонит, Платина, Палладий" + }, + { + "type": "patchouli:multiblock", + "name": "Шелдонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/cooperite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Платина, Никель, Палладий$(br)Формула: Pt₃NiSPd" + }, + { + "type": "patchouli:multiblock", + "name": "Платина", + "multiblock": + { + "mapping": { "0": "#forge:ores/platinum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Платина$(br)Формула: Pt" + }, + { + "type": "patchouli:multiblock", + "name": "Палладий", + "multiblock": + { + "mapping": { "0": "#forge:ores/palladium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Палладий$(br)Формула: Pt" + }, + { + "type": "patchouli:multiblock", + "name": "Борнит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bornite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Плавится в: Медь$(br)Формула: Cu₅FeS₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_topaz.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_topaz.json index ebddc1cdd..575e88e68 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_topaz.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/deep_topaz.json @@ -1,56 +1,56 @@ -{ - "name": "Топаз и Халькозин (Глубокие)", - "icon": "gtceu:topaz_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 260$(br)Плотность: 0.3$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Топаз, Синий топаз, Халькозин, Борнит" - }, - { - "type": "patchouli:multiblock", - "name": "Топаз", - "multiblock": - { - "mapping": { "0": "#forge:ores/topaz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Алюминий, Фтор$(br)Формула: Al₂SiFH₂" - }, - { - "type": "patchouli:multiblock", - "name": "Синий топаз", - "multiblock": - { - "mapping": { "0": "#forge:ores/blue_topaz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Алюминий, Фтор$(br)Формула: Al₂SiF₂H₂O₆" - }, - { - "type": "patchouli:multiblock", - "name": "Халькозин", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcocite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Медь$(br)Формула: Cu₂S" - }, - { - "type": "patchouli:multiblock", - "name": "Борнит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bornite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Медь$(br)Формула: Cu₅FeS₄" - } - ] +{ + "name": "Топаз и Халькозин (Глубокие)", + "icon": "gtceu:topaz_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 260$(br)Плотность: 0.3$(br)Вид: дискообразная жила$(br)Y-уровень: -64 - 26$(br)Размер: 28$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Топаз, Синий топаз, Халькозин, Борнит" + }, + { + "type": "patchouli:multiblock", + "name": "Топаз", + "multiblock": + { + "mapping": { "0": "#forge:ores/topaz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Алюминий, Фтор$(br)Формула: Al₂SiFH₂" + }, + { + "type": "patchouli:multiblock", + "name": "Синий топаз", + "multiblock": + { + "mapping": { "0": "#forge:ores/blue_topaz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Алюминий, Фтор$(br)Формула: Al₂SiF₂H₂O₆" + }, + { + "type": "patchouli:multiblock", + "name": "Халькозин", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcocite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Медь$(br)Формула: Cu₂S" + }, + { + "type": "patchouli:multiblock", + "name": "Борнит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bornite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Медь$(br)Формула: Cu₅FeS₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json index 579104755..bd2b5c60c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json @@ -36,12 +36,12 @@ "title": "Родниковая вода", "item": "tfc:bucket/spring_water", "text": "Нахождение в $(thing)Родниковой воде$() усиливает естественную $(thing)Регенерацию$()." - }, - { - "type": "patchouli:spotlight", - "title": "Выдержанный алкоголь", - "text": "$(thing)Выдержанные (Aged)$() версии алкоголя дают эффекты ванильных зелий.$(br2)Переносить же его можно в $(l:getting_started/pottery#jug)Кувшине$() или $(l:waterflasks/recipes)Фляге$().", - "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:spotlight", + "title": "Выдержанный алкоголь", + "text": "$(thing)Выдержанные (Aged)$() версии алкоголя дают эффекты ванильных зелий.$(br2)Переносить же его можно в $(l:getting_started/pottery#jug)Кувшине$() или $(l:waterflasks/recipes)Фляге$().", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_apatite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_apatite.json index fc572cfa8..85c036697 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_apatite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_apatite.json @@ -1,45 +1,45 @@ -{ - "name": "Апатит и Пирохлор", - "icon": "gtceu:raw_apatite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 220$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 34$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Апатит, Трикальцийфосфат, Пирохлор" - }, - { - "type": "patchouli:multiblock", - "name": "Апатит", - "multiblock": - { - "mapping": { "0": "#forge:ores/apatite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Содержит: Кальций, Фосфор$(br)Формула: Ca₅(PO₄)₃Cl" - }, - { - "type": "patchouli:multiblock", - "name": "Трикальцийфосфат", - "multiblock": - { - "mapping": { "0": "#forge:ores/tricalcium_phosphate" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Кальций, Фосфор$(br)Формула: Ca₃(PO₄)₂" - }, - { - "type": "patchouli:multiblock", - "name": "Пирохлор", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrochlore" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Ниобий$(br)Формула: Ca₂Nb₂O₇" - } - ] +{ + "name": "Апатит и Пирохлор", + "icon": "gtceu:raw_apatite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 220$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 34$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Апатит, Трикальцийфосфат, Пирохлор" + }, + { + "type": "patchouli:multiblock", + "name": "Апатит", + "multiblock": + { + "mapping": { "0": "#forge:ores/apatite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Содержит: Кальций, Фосфор$(br)Формула: Ca₅(PO₄)₃Cl" + }, + { + "type": "patchouli:multiblock", + "name": "Трикальцийфосфат", + "multiblock": + { + "mapping": { "0": "#forge:ores/tricalcium_phosphate" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Кальций, Фосфор$(br)Формула: Ca₃(PO₄)₂" + }, + { + "type": "patchouli:multiblock", + "name": "Пирохлор", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrochlore" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Ниобий$(br)Формула: Ca₂Nb₂O₇" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_basaltic_sands.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_basaltic_sands.json index 414662ce1..50cff68c4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_basaltic_sands.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_basaltic_sands.json @@ -1,56 +1,56 @@ -{ - "name": "Минеральные пески", - "icon": "gtceu:raw_basaltic_mineral_sand", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 160$(br)Плотность: 0.3$(br)Вид: дискообразная жила$(br)Y-уровень: -32 - 60$(br)Размер: 48$(br)Высота: 9$(br2)Виды камней: Гранит, Базальт$(br2)Индикаторы: Базальтовый и Гранитовый минеральные пески, Смектическая глина, Гипс" - }, - { - "type": "patchouli:multiblock", - "name": "Базальтовый минеральный песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/basaltic_mineral_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)" - }, - { - "type": "patchouli:multiblock", - "name": "Гранитовый минеральный песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/granitic_mineral_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))" - }, - { - "type": "patchouli:multiblock", - "name": "Смектическая глина", - "multiblock": - { - "mapping": { "0": "#forge:ores/fullers_earth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: MgSi₄H(H₂O)₄O₁₁" - }, - { - "type": "patchouli:multiblock", - "name": "Гипс", - "multiblock": - { - "mapping": { "0": "#forge:ores/gypsum" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Используется для: Алебастр (можно покрасить) и его кирпичи$(br)Формула: CaS(H₂O)₂O₄" - } - ] +{ + "name": "Минеральные пески", + "icon": "gtceu:raw_basaltic_mineral_sand", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 160$(br)Плотность: 0.3$(br)Вид: дискообразная жила$(br)Y-уровень: -32 - 60$(br)Размер: 48$(br)Высота: 9$(br2)Виды камней: Гранит, Базальт$(br2)Индикаторы: Базальтовый и Гранитовый минеральные пески, Смектическая глина, Гипс" + }, + { + "type": "patchouli:multiblock", + "name": "Базальтовый минеральный песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/basaltic_mineral_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)" + }, + { + "type": "patchouli:multiblock", + "name": "Гранитовый минеральный песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/granitic_mineral_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))" + }, + { + "type": "patchouli:multiblock", + "name": "Смектическая глина", + "multiblock": + { + "mapping": { "0": "#forge:ores/fullers_earth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: MgSi₄H(H₂O)₄O₁₁" + }, + { + "type": "patchouli:multiblock", + "name": "Гипс", + "multiblock": + { + "mapping": { "0": "#forge:ores/gypsum" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Используется для: Алебастр (можно покрасить) и его кирпичи$(br)Формула: CaS(H₂O)₂O₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bauxite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bauxite.json index 969a32404..4e51742a0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bauxite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bauxite.json @@ -1,45 +1,45 @@ -{ - "name": "Боксит и Ильменит", - "icon": "gtceu:raw_bauxite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 185$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Боксит, Ильменит, Алюминий" - }, - { - "type": "patchouli:multiblock", - "name": "Боксит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bauxite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 45%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Алюминий", - "multiblock": - { - "mapping": { "0": "#forge:ores/aluminium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Алюминий$(br)Формула: Al" - }, - { - "type": "patchouli:multiblock", - "name": "Ильменит", - "multiblock": - { - "mapping": { "0": "#forge:ores/ilmenite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Титан$(br)Формула: FeTiO₃" - } - ] +{ + "name": "Боксит и Ильменит", + "icon": "gtceu:raw_bauxite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 185$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Боксит, Ильменит, Алюминий" + }, + { + "type": "patchouli:multiblock", + "name": "Боксит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bauxite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 45%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Алюминий", + "multiblock": + { + "mapping": { "0": "#forge:ores/aluminium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Алюминий$(br)Формула: Al" + }, + { + "type": "patchouli:multiblock", + "name": "Ильменит", + "multiblock": + { + "mapping": { "0": "#forge:ores/ilmenite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Титан$(br)Формула: FeTiO₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_beryllium.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_beryllium.json index 949efc831..940b7f58b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_beryllium.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_beryllium.json @@ -1,45 +1,45 @@ -{ - "name": "Изумруд и Бериллий", - "icon": "minecraft:emerald", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 180$(br)Плотность: 0.35$(br)Вид: трубчатая жила$(br)Y-уровень: -32 - 50$(br)Высота: 60$(br)Радиус: 10$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Бериллий, Изумруд, Торий" - }, - { - "type": "patchouli:multiblock", - "name": "Бериллий", - "multiblock": - { - "mapping": { "0": "#forge:ores/beryllium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Используется для: Эндер-жемчуг$(br)Формула: Be$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Изумруд", - "multiblock": - { - "mapping": { "0": "#forge:ores/emerald" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Используется для: компоненты уровня MV, Предметные фильтры (Тэг)$(br)Формула: Be₃Al₂Si₆O₁₈" - }, - { - "type": "patchouli:multiblock", - "name": "Торий", - "multiblock": - { - "mapping": { "0": "#forge:ores/thorium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Бесполезен!$(br)Формула: Th" - } - ] +{ + "name": "Изумруд и Бериллий", + "icon": "minecraft:emerald", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 180$(br)Плотность: 0.35$(br)Вид: трубчатая жила$(br)Y-уровень: -32 - 50$(br)Высота: 60$(br)Радиус: 10$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Бериллий, Изумруд, Торий" + }, + { + "type": "patchouli:multiblock", + "name": "Бериллий", + "multiblock": + { + "mapping": { "0": "#forge:ores/beryllium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Используется для: Эндер-жемчуг$(br)Формула: Be$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Изумруд", + "multiblock": + { + "mapping": { "0": "#forge:ores/emerald" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Используется для: компоненты уровня MV, Предметные фильтры (Тэг)$(br)Формула: Be₃Al₂Si₆O₁₈" + }, + { + "type": "patchouli:multiblock", + "name": "Торий", + "multiblock": + { + "mapping": { "0": "#forge:ores/thorium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Бесполезен!$(br)Формула: Th" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bismuth.json index d0902c695..f68c4ac40 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bismuth.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_bismuth.json @@ -1,45 +1,45 @@ -{ - "name": "Висмут (Обычный)", - "icon": "gtceu:raw_bismuth", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Висмутин" - }, - { - "type": "patchouli:multiblock", - "name": "Висмут", - "multiblock": - { - "mapping": { "0": "#forge:ores/bismuth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 80%$(br)Плавится в: Висмут$(br)Формула: Bi" - }, - { - "type": "patchouli:multiblock", - "name": "Сера", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 9%$(br)Формула: S" - }, - { - "type": "patchouli:multiblock", - "name": "Свинец", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 11%$(br)Плавится в: свинец$(br)Формула: Pb$(br)Ядовит: Да" - } - ] +{ + "name": "Висмут (Обычный)", + "icon": "gtceu:raw_bismuth", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Висмутин" + }, + { + "type": "patchouli:multiblock", + "name": "Висмут", + "multiblock": + { + "mapping": { "0": "#forge:ores/bismuth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 80%$(br)Плавится в: Висмут$(br)Формула: Bi" + }, + { + "type": "patchouli:multiblock", + "name": "Сера", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 9%$(br)Формула: S" + }, + { + "type": "patchouli:multiblock", + "name": "Свинец", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 11%$(br)Плавится в: свинец$(br)Формула: Pb$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_cassiterite.json index 52b95d0eb..841862935 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_cassiterite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_cassiterite.json @@ -1,34 +1,34 @@ -{ - "name": "Касситерит (Обычный)", - "icon": "gtceu:raw_cassiterite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикатор: Касситерит" - }, - { - "type": "patchouli:multiblock", - "name": "Касситерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Плавится в: Олово$(br)Формула: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Олово", - "multiblock": - { - "mapping": { "0": "#forge:ores/tin" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 60%$(br)Плавится в: Олово$(br)Формула: Sn" - } - ] +{ + "name": "Касситерит (Обычный)", + "icon": "gtceu:raw_cassiterite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикатор: Касситерит" + }, + { + "type": "patchouli:multiblock", + "name": "Касситерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Плавится в: Олово$(br)Формула: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Олово", + "multiblock": + { + "mapping": { "0": "#forge:ores/tin" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 60%$(br)Плавится в: Олово$(br)Формула: Sn" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_coal.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_coal.json index eec8c9566..f93cd6414 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_coal.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_coal.json @@ -1,23 +1,23 @@ -{ - "name": "Уголь", - "icon": "minecraft:coal", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 215$(br)Плотность: 0.55$(br)Вид: кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 60$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Уголь" - }, - { - "type": "patchouli:multiblock", - "name": "Уголь", - "multiblock": - { - "mapping": { "0": "#forge:ores/coal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 100%$(br)Используется для: топливо, ректификация$(br)Формула: C" - } - ] +{ + "name": "Уголь", + "icon": "minecraft:coal", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 215$(br)Плотность: 0.55$(br)Вид: кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 60$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Уголь" + }, + { + "type": "patchouli:multiblock", + "name": "Уголь", + "multiblock": + { + "mapping": { "0": "#forge:ores/coal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 100%$(br)Используется для: топливо, ректификация$(br)Формула: C" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_copper.json index 42631e1ea..e3937613b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_copper.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_copper.json @@ -1,56 +1,56 @@ -{ - "name": "Медь и Халькопирит", - "icon": "minecraft:raw_copper", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикатор: Самородная медь" - }, - { - "type": "patchouli:multiblock", - "name": "Медь", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 65%$(br)Плавится в: Медь$(br)Формула: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Халькопирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcopyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: CuFeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Железо", - "multiblock": - { - "mapping": { "0": "#forge:ores/iron" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Плавится в: Железо$(br)Формула: FeS₂" - } - ] +{ + "name": "Медь и Халькопирит", + "icon": "minecraft:raw_copper", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикатор: Самородная медь" + }, + { + "type": "patchouli:multiblock", + "name": "Медь", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 65%$(br)Плавится в: Медь$(br)Формула: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Халькопирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcopyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: CuFeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Железо", + "multiblock": + { + "mapping": { "0": "#forge:ores/iron" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Плавится в: Железо$(br)Формула: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnet_tin.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnet_tin.json index e78fef19f..d2f11db9e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnet_tin.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnet_tin.json @@ -1,56 +1,56 @@ -{ - "name": "Гранатовый и Касситеритовый песок", - "icon": "gtceu:raw_garnet_sand", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 360$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 64$(br)Размер: 40$(br2)Виды камней: Все$(br2)Индикаторы: Касситерит" - }, - { - "type": "patchouli:multiblock", - "name": "Касситеритовый песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Плавится в: Олово$(br)Формула: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гранатовый песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/garnet_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит" - }, - { - "type": "patchouli:multiblock", - "name": "Асбест", - "multiblock": - { - "mapping": { "0": "#forge:ores/asbestos" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: Mg₃Si₂H₄O₉$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Диатомовый пелит", - "multiblock": - { - "mapping": { "0": "#forge:ores/diatomite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Железо, Алюминий$(br)Формула: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" - } - ] +{ + "name": "Гранатовый и Касситеритовый песок", + "icon": "gtceu:raw_garnet_sand", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 360$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 64$(br)Размер: 40$(br2)Виды камней: Все$(br2)Индикаторы: Касситерит" + }, + { + "type": "patchouli:multiblock", + "name": "Касситеритовый песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Плавится в: Олово$(br)Формула: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гранатовый песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/garnet_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит" + }, + { + "type": "patchouli:multiblock", + "name": "Асбест", + "multiblock": + { + "mapping": { "0": "#forge:ores/asbestos" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: Mg₃Si₂H₄O₉$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Диатомовый пелит", + "multiblock": + { + "mapping": { "0": "#forge:ores/diatomite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Железо, Алюминий$(br)Формула: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnierite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnierite.json index e23d07a08..25815f4f6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnierite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_garnierite.json @@ -1,67 +1,67 @@ -{ - "name": "Гарниерит и Кобальтит", - "icon": "gtceu:raw_garnierite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 140$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Габбро$(br2)Индикатор: Гарниерит" - }, - { - "type": "patchouli:multiblock", - "name": "Гарниерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/garnierite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Плавится в: Никель$(br)Формула: NiO" - }, - { - "type": "patchouli:multiblock", - "name": "Никель", - "multiblock": - { - "mapping": { "0": "#forge:ores/nickel" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Плавится в: Никель$(br)Формула: Ni" - }, - { - "type": "patchouli:multiblock", - "name": "Кобальтит", - "multiblock": - { - "mapping": { "0": "#forge:ores/cobaltite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Кобальт, Мышьяк$(br)Формула: CoAsS$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Пентландит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pentlandite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Никель$(br)Формула: Ni₉S₈" - }, - { - "type": "patchouli:multiblock", - "name": "Кобальт", - "multiblock": - { - "mapping": { "0": "#forge:ores/cobalt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Кобальт$(br)Формула: Co" - } - ] +{ + "name": "Гарниерит и Кобальтит", + "icon": "gtceu:raw_garnierite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 140$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Габбро$(br2)Индикатор: Гарниерит" + }, + { + "type": "patchouli:multiblock", + "name": "Гарниерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/garnierite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Плавится в: Никель$(br)Формула: NiO" + }, + { + "type": "patchouli:multiblock", + "name": "Никель", + "multiblock": + { + "mapping": { "0": "#forge:ores/nickel" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Плавится в: Никель$(br)Формула: Ni" + }, + { + "type": "patchouli:multiblock", + "name": "Кобальтит", + "multiblock": + { + "mapping": { "0": "#forge:ores/cobaltite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Кобальт, Мышьяк$(br)Формула: CoAsS$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Пентландит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pentlandite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Никель$(br)Формула: Ni₉S₈" + }, + { + "type": "patchouli:multiblock", + "name": "Кобальт", + "multiblock": + { + "mapping": { "0": "#forge:ores/cobalt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Кобальт$(br)Формула: Co" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_gold.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_gold.json index ae179076e..cf1b76476 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_gold.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_gold.json @@ -1,56 +1,56 @@ -{ - "name": "Золото, Лимонит и Гематит (обычные)", - "icon": "minecraft:raw_gold", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: дискообразная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br)Высота: 12$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Лимонит, Гематит, Самородное золото" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 55%$(br)Плавится в: Золото$(br)Формула: Au" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - } - ] +{ + "name": "Золото, Лимонит и Гематит (обычные)", + "icon": "minecraft:raw_gold", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: дискообразная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br)Высота: 12$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Лимонит, Гематит, Самородное золото" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 55%$(br)Плавится в: Золото$(br)Формула: Au" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_graphite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_graphite.json index e9aa2b975..8c61c3e35 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_graphite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_graphite.json @@ -1,45 +1,45 @@ -{ - "name": "Графит и Алмаз", - "icon": "minecraft:diamond", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 175$(br)Плотность: 0.35$(br)Вид: трубчатая жила$(br)Y-уровень: -64 - 100$(br)Высота: 60$(br)Радиус: 12$(br2)Виды камней: Габбро$(br2)Индикатор: Алмаз, Графит, Уголь$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!" - }, - { - "type": "patchouli:multiblock", - "name": "Графит", - "multiblock": - { - "mapping": { "0": "#forge:ores/graphite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 45%$(br)Используется для: $(l:mechanics/fire_clay)Огнеупорная глина$(), Графен$(br)Формула: C" - }, - { - "type": "patchouli:multiblock", - "name": "Алмаз", - "multiblock": - { - "mapping": { "0": "#forge:ores/diamond" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Используется для: Измельчители, предметы из AE2$(br)Формула: C" - }, - { - "type": "patchouli:multiblock", - "name": "Уголь", - "multiblock": - { - "mapping": { "0": "#forge:ores/coal" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Используется для: топливо, ректификация$(br)Формула: C" - } - ] +{ + "name": "Графит и Алмаз", + "icon": "minecraft:diamond", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 175$(br)Плотность: 0.35$(br)Вид: трубчатая жила$(br)Y-уровень: -64 - 100$(br)Высота: 60$(br)Радиус: 12$(br2)Виды камней: Габбро$(br2)Индикатор: Алмаз, Графит, Уголь$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!" + }, + { + "type": "patchouli:multiblock", + "name": "Графит", + "multiblock": + { + "mapping": { "0": "#forge:ores/graphite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 45%$(br)Используется для: $(l:mechanics/fire_clay)Огнеупорная глина$(), Графен$(br)Формула: C" + }, + { + "type": "patchouli:multiblock", + "name": "Алмаз", + "multiblock": + { + "mapping": { "0": "#forge:ores/diamond" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Используется для: Измельчители, предметы из AE2$(br)Формула: C" + }, + { + "type": "patchouli:multiblock", + "name": "Уголь", + "multiblock": + { + "mapping": { "0": "#forge:ores/coal" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Используется для: топливо, ректификация$(br)Формула: C" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_hematite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_hematite.json index 381a39ca2..0676b0e18 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_hematite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_hematite.json @@ -1,56 +1,56 @@ -{ - "name": "Гематит и Лимонит (обычные)", - "icon": "gtceu:raw_hematite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 210$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Гематит, Лимонит, Самородное золото" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Золото$(br)Формула: Au" - } - ] +{ + "name": "Гематит и Лимонит (обычные)", + "icon": "gtceu:raw_hematite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 210$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Гематит, Лимонит, Самородное золото" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Золото$(br)Формула: Au" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lapis.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lapis.json index bcab0100c..288980526 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lapis.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lapis.json @@ -1,56 +1,56 @@ -{ - "name": "Лазурит, Лазурит 2 и Содалит", - "icon": "minecraft:lapis_lazuli", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -60 - 10$(br)Размер: 50$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Лазурит, Содалит, Лазурит 2, Кальцит" - }, - { - "type": "patchouli:multiblock", - "name": "Лазурит", - "multiblock": - { - "mapping": { "0": "#forge:ores/lazurite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Алюминий, Кальций, Натрий$(br)Формула: Al₆Si₆Ca₈Na₈" - }, - { - "type": "patchouli:multiblock", - "name": "Содалит", - "multiblock": - { - "mapping": { "0": "#forge:ores/sodalite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Алюминий, Натрий$(br)Формула: Al₃Si₃Na₄Cl" - }, - { - "type": "patchouli:multiblock", - "name": "Кальцит", - "multiblock": - { - "mapping": { "0": "#forge:ores/calcite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Кальций$(br)Формула: CaCO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Лазурит 2", - "multiblock": - { - "mapping": { "0": "#forge:ores/lapis" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Лазурит, Содалит, Пирит, Кальцит" - } - ] +{ + "name": "Лазурит, Лазурит 2 и Содалит", + "icon": "minecraft:lapis_lazuli", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -60 - 10$(br)Размер: 50$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Лазурит, Содалит, Лазурит 2, Кальцит" + }, + { + "type": "patchouli:multiblock", + "name": "Лазурит", + "multiblock": + { + "mapping": { "0": "#forge:ores/lazurite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Алюминий, Кальций, Натрий$(br)Формула: Al₆Si₆Ca₈Na₈" + }, + { + "type": "patchouli:multiblock", + "name": "Содалит", + "multiblock": + { + "mapping": { "0": "#forge:ores/sodalite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Алюминий, Натрий$(br)Формула: Al₃Si₃Na₄Cl" + }, + { + "type": "patchouli:multiblock", + "name": "Кальцит", + "multiblock": + { + "mapping": { "0": "#forge:ores/calcite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Кальций$(br)Формула: CaCO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Лазурит 2", + "multiblock": + { + "mapping": { "0": "#forge:ores/lapis" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Лазурит, Содалит, Пирит, Кальцит" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_limonite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_limonite.json index db051a9f5..3744897f2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_limonite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_limonite.json @@ -1,56 +1,56 @@ -{ - "name": "Лимонит (обычный)", - "icon": "gtceu:raw_yellow_limonite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 190$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Мрамор, Известняк$(br2)Индикаторы: Лимонит, Гематит, Малахит" - }, - { - "type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/yellow_limonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": - { - "mapping": { "0": "#forge:ores/goethite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": - { - "mapping": { "0": "#forge:ores/hematite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Малахит", - "multiblock": - { - "mapping": { "0": "#forge:ores/malachite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Медь$(br)Формула: Cu₂CH₂O₅" - } - ] +{ + "name": "Лимонит (обычный)", + "icon": "gtceu:raw_yellow_limonite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 190$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Мрамор, Известняк$(br2)Индикаторы: Лимонит, Гематит, Малахит" + }, + { + "type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/yellow_limonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": + { + "mapping": { "0": "#forge:ores/goethite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Железо$(br)Формула: FeHO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": + { + "mapping": { "0": "#forge:ores/hematite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Железо$(br)Формула: Fe₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Малахит", + "multiblock": + { + "mapping": { "0": "#forge:ores/malachite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Медь$(br)Формула: Cu₂CH₂O₅" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lubricant.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lubricant.json index 259c8984c..4cd500921 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lubricant.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_lubricant.json @@ -1,67 +1,67 @@ -{ - "name": "Мыльный камень, Тальк и Трона", - "icon": "gtceu:raw_soapstone", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 190$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 56$(br)Размер: 36$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Мыльный камень, Тальк, Глауконитовый песок, Пентландит, Трона" - }, - { - "type": "patchouli:multiblock", - "name": "Мыльный камень", - "multiblock": - { - "mapping": { "0": "#forge:ores/soapstone" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Магний$(br)Формула: Mg₃Si₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Тальк", - "multiblock": - { - "mapping": { "0": "#forge:ores/talc" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Магний$(br)Формула: Mg₃Si₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Глауконитовый песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/glauconite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Магний, Алюминий$(br)Формула: KMg₂Al₄H₂O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Пентландит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pentlandite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Никель$(br)Формула: Ni₉S₈" - }, - { - "type": "patchouli:multiblock", - "name": "Трона", - "multiblock": - { - "mapping": { "0": "#forge:ores/trona" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Формула: Na₃C₂H(H₂O)₂O₆" - } - ] +{ + "name": "Мыльный камень, Тальк и Трона", + "icon": "gtceu:raw_soapstone", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 190$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 56$(br)Размер: 36$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Мыльный камень, Тальк, Глауконитовый песок, Пентландит, Трона" + }, + { + "type": "patchouli:multiblock", + "name": "Мыльный камень", + "multiblock": + { + "mapping": { "0": "#forge:ores/soapstone" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Магний$(br)Формула: Mg₃Si₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Тальк", + "multiblock": + { + "mapping": { "0": "#forge:ores/talc" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Магний$(br)Формула: Mg₃Si₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Глауконитовый песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/glauconite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Магний, Алюминий$(br)Формула: KMg₂Al₄H₂O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Пентландит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pentlandite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Никель$(br)Формула: Ni₉S₈" + }, + { + "type": "patchouli:multiblock", + "name": "Трона", + "multiblock": + { + "mapping": { "0": "#forge:ores/trona" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Формула: Na₃C₂H(H₂O)₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_magnetite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_magnetite.json index 47d0f64a5..210063e07 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_magnetite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_magnetite.json @@ -1,45 +1,45 @@ -{ - "name": "Магнетит и Ванадий (обычные)", - "icon": "gtceu:raw_magnetite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 200$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Магнетит, Самородное золото" - }, - { - "type": "patchouli:multiblock", - "name": "Магнетит", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 65%$(br)Плавится в: Железо$(br)Формула: Fe₃O₄" - }, - { - "type": "patchouli:multiblock", - "name": "Ванадий магнетит", - "multiblock": - { - "mapping": { "0": "#forge:ores/vanadium_magnetite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Железо, Ванадий$(br)Формула: (Fe₃O₄)V" - }, - { - "type": "patchouli:multiblock", - "name": "Золото", - "multiblock": - { - "mapping": { "0": "#forge:ores/gold" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Плавится в: Золото$(br)Формула: Au" - } - ] +{ + "name": "Магнетит и Ванадий (обычные)", + "icon": "gtceu:raw_magnetite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 200$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Магнетит, Самородное золото" + }, + { + "type": "patchouli:multiblock", + "name": "Магнетит", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 65%$(br)Плавится в: Железо$(br)Формула: Fe₃O₄" + }, + { + "type": "patchouli:multiblock", + "name": "Ванадий магнетит", + "multiblock": + { + "mapping": { "0": "#forge:ores/vanadium_magnetite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Железо, Ванадий$(br)Формула: (Fe₃O₄)V" + }, + { + "type": "patchouli:multiblock", + "name": "Золото", + "multiblock": + { + "mapping": { "0": "#forge:ores/gold" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Плавится в: Золото$(br)Формула: Au" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_manganese.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_manganese.json index c1779c3ec..eb5554372 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_manganese.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_manganese.json @@ -1,56 +1,56 @@ -{ - "name": "Марганец и Тантал", - "icon": "gtceu:raw_grossular", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 195$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Гроссуляр, Спасерит, Пиролюзит, Танталит" - }, - { - "type": "patchouli:multiblock", - "name": "Гроссуляр", - "multiblock": - { - "mapping": { "0": "#forge:ores/grossular" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Кальций, Алюминий$(br)Формула: Ca₃Al₂Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Спасерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/spessartine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Марганец, Алюминий$(br)Формула: Al₂Mn₃Si₃O₁₂" - }, - { - "type": "patchouli:multiblock", - "name": "Пиролюзит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrolusite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Марганец$(br)Формула: MnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Танталит", - "multiblock": - { - "mapping": { "0": "#forge:ores/tantalite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Содержит: Марганец, Тантал$(br)Формула: MnTa₂O₆" - } - ] +{ + "name": "Марганец и Тантал", + "icon": "gtceu:raw_grossular", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 195$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Гроссуляр, Спасерит, Пиролюзит, Танталит" + }, + { + "type": "patchouli:multiblock", + "name": "Гроссуляр", + "multiblock": + { + "mapping": { "0": "#forge:ores/grossular" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Кальций, Алюминий$(br)Формула: Ca₃Al₂Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Спасерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/spessartine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Марганец, Алюминий$(br)Формула: Al₂Mn₃Si₃O₁₂" + }, + { + "type": "patchouli:multiblock", + "name": "Пиролюзит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrolusite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Марганец$(br)Формула: MnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Танталит", + "multiblock": + { + "mapping": { "0": "#forge:ores/tantalite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Содержит: Марганец, Тантал$(br)Формула: MnTa₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_mica.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_mica.json index ed75e48fd..8647c55fd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_mica.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_mica.json @@ -1,56 +1,56 @@ -{ - "name": "Ционит, Слюда и Боксит", - "icon": "gtceu:raw_mica", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 190$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 36$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Ционит, Слюда, Боксит, Поллуцит" - }, - { - "type": "patchouli:multiblock", - "name": "Ционит", - "multiblock": - { - "mapping": { "0": "#forge:ores/kyanite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Алюминий$(br)Формула: Al₂SiO₅" - }, - { - "type": "patchouli:multiblock", - "name": "Слюда", - "multiblock": - { - "mapping": { "0": "#forge:ores/mica" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Калий, Алюминий, Фтор$(br)Формула: KAl₃Si₃F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Боксит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bauxite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Поллуцит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pollucite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Cs₂Al₂Si₄(H₂O)₂O₁₂" - } - ] +{ + "name": "Ционит, Слюда и Боксит", + "icon": "gtceu:raw_mica", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 190$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 36$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Ционит, Слюда, Боксит, Поллуцит" + }, + { + "type": "patchouli:multiblock", + "name": "Ционит", + "multiblock": + { + "mapping": { "0": "#forge:ores/kyanite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Алюминий$(br)Формула: Al₂SiO₅" + }, + { + "type": "patchouli:multiblock", + "name": "Слюда", + "multiblock": + { + "mapping": { "0": "#forge:ores/mica" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Калий, Алюминий, Фтор$(br)Формула: KAl₃Si₃F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Боксит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bauxite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Алюминий$(br)Формула: Al₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Поллуцит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pollucite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Алюминий$(br)Формула: Cs₂Al₂Si₄(H₂O)₂O₁₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_monazite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_monazite.json index 9ea6bea27..72c3a4c3b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_monazite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_monazite.json @@ -1,45 +1,45 @@ -{ - "name": "Бастнезит и Монацит", - "icon": "gtceu:monazite_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 185$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 50$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Бастнезит, Монацит, Неодим" - }, - { - "type": "patchouli:multiblock", - "name": "Бастнезит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bastnasite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Содержит: Церий, Фтор$(br)Формула: CeCFO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Монацит", - "multiblock": - { - "mapping": { "0": "#forge:ores/monazite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Фосфор, Редкая земля$(br)Формула: ?(PO₄)" - }, - { - "type": "patchouli:multiblock", - "name": "Неодим", - "multiblock": - { - "mapping": { "0": "#forge:ores/neodymium" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Формула: Nd" - } - ] +{ + "name": "Бастнезит и Монацит", + "icon": "gtceu:monazite_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 185$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 50$(br)Размер: 40$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикаторы: Бастнезит, Монацит, Неодим" + }, + { + "type": "patchouli:multiblock", + "name": "Бастнезит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bastnasite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Содержит: Церий, Фтор$(br)Формула: CeCFO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Монацит", + "multiblock": + { + "mapping": { "0": "#forge:ores/monazite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Фосфор, Редкая земля$(br)Формула: ?(PO₄)" + }, + { + "type": "patchouli:multiblock", + "name": "Неодим", + "multiblock": + { + "mapping": { "0": "#forge:ores/neodymium" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Формула: Nd" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_oilsands.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_oilsands.json index a06b2d8ae..8a7584c04 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_oilsands.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_oilsands.json @@ -1,23 +1,23 @@ -{ - "name": "Нефтеносный песок", - "icon": "gtceu:raw_oilsands", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 185$(br)Плотность: 0.20$(br)Вид: Кластерная жила$(br)Y-уровень: 0 - 70$(br)Размер: 55$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Нефтеносный песок$(br2)Ранний доступ к нефти и её продуктам." - }, - { - "type": "patchouli:multiblock", - "name": "Нефтеносный песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/oilsands" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 100%" - } - ] +{ + "name": "Нефтеносный песок", + "icon": "gtceu:raw_oilsands", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 185$(br)Плотность: 0.20$(br)Вид: Кластерная жила$(br)Y-уровень: 0 - 70$(br)Размер: 55$(br2)Виды камней: Сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикаторы: Нефтеносный песок$(br2)Ранний доступ к нефти и её продуктам." + }, + { + "type": "patchouli:multiblock", + "name": "Нефтеносный песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/oilsands" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 100%" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_olivine.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_olivine.json index 823766048..6515b4eee 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_olivine.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_olivine.json @@ -1,56 +1,56 @@ -{ - "name": "Бентонит и Оливин", - "icon": "gtceu:olivine_gem", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 180$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 30$(br)Размер: 26$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Бентонит, Магнезит, Оливин, Глауконитовый песок" - }, - { - "type": "patchouli:multiblock", - "name": "Бентонит", - "multiblock": - { - "mapping": { "0": "#forge:ores/bentonite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Магний$(br)Формула: NaMg₆Si₁₂H₄(H₂O)₅O₃₆" - }, - { - "type": "patchouli:multiblock", - "name": "Магнезит", - "multiblock": - { - "mapping": { "0": "#forge:ores/magnesite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: MgCO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Оливин", - "multiblock": - { - "mapping": { "0": "#forge:ores/olivine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: Mg₂Fe(SiO₂)₂" - }, - { - "type": "patchouli:multiblock", - "name": "Глауконитовый песок", - "multiblock": - { - "mapping": { "0": "#forge:ores/glauconite_sand" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Магний, Алюминий$(br)Формула: KMg₂Al₄H₂O₁₂" - } - ] +{ + "name": "Бентонит и Оливин", + "icon": "gtceu:olivine_gem", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 180$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: -40 - 30$(br)Размер: 26$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Гранит, Диорит, Габбро$(br2)Индикаторы: Бентонит, Магнезит, Оливин, Глауконитовый песок" + }, + { + "type": "patchouli:multiblock", + "name": "Бентонит", + "multiblock": + { + "mapping": { "0": "#forge:ores/bentonite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Магний$(br)Формула: NaMg₆Si₁₂H₄(H₂O)₅O₃₆" + }, + { + "type": "patchouli:multiblock", + "name": "Магнезит", + "multiblock": + { + "mapping": { "0": "#forge:ores/magnesite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: MgCO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Оливин", + "multiblock": + { + "mapping": { "0": "#forge:ores/olivine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Магний$(br)Формула: Mg₂Fe(SiO₂)₂" + }, + { + "type": "patchouli:multiblock", + "name": "Глауконитовый песок", + "multiblock": + { + "mapping": { "0": "#forge:ores/glauconite_sand" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Магний, Алюминий$(br)Формула: KMg₂Al₄H₂O₁₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_quartz.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_quartz.json index 467e45de2..b1a2c8594 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_quartz.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_quartz.json @@ -1,56 +1,56 @@ -{ - "name": "Кварцы", - "icon": "minecraft:quartz", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 150$(br)Плотность: 0.3$(br)Виды: кластерная жила$(br)Y-уровень: -32 - 100$(br)Размер: 40$(br2)Виды камней: Сланец, Кварцит, Аспидный сланец, Гнейс$(br2)Индикатор: Цветущий истинный кварц" - }, - { - "type": "patchouli:multiblock", - "name": "Кварцит", - "multiblock": - { - "mapping": { "0": "#forge:ores/quartzite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 45%$(br)Формула: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Истинный кварц", - "multiblock": - { - "mapping": { "0": "#forge:ores/certus_quartz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Используется для: рецепты Applied Energistics 2$(br)Формула: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Незер-кварц", - "multiblock": - { - "mapping": { "0": "#forge:ores/nether_quartz" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 10%$(br)Используется для: рецепты Applied Energistics 2$(br)Формула: SiO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Барит", - "multiblock": - { - "mapping": { "0": "#forge:ores/barite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Барий$(br)Формула: BaSO₂" - } - ] +{ + "name": "Кварцы", + "icon": "minecraft:quartz", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 150$(br)Плотность: 0.3$(br)Виды: кластерная жила$(br)Y-уровень: -32 - 100$(br)Размер: 40$(br2)Виды камней: Сланец, Кварцит, Аспидный сланец, Гнейс$(br2)Индикатор: Цветущий истинный кварц" + }, + { + "type": "patchouli:multiblock", + "name": "Кварцит", + "multiblock": + { + "mapping": { "0": "#forge:ores/quartzite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 45%$(br)Формула: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Истинный кварц", + "multiblock": + { + "mapping": { "0": "#forge:ores/certus_quartz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Используется для: рецепты Applied Energistics 2$(br)Формула: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Незер-кварц", + "multiblock": + { + "mapping": { "0": "#forge:ores/nether_quartz" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 10%$(br)Используется для: рецепты Applied Energistics 2$(br)Формула: SiO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Барит", + "multiblock": + { + "mapping": { "0": "#forge:ores/barite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Барий$(br)Формула: BaSO₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_redstone.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_redstone.json index 17c5c85d6..8eb603ae5 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_redstone.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_redstone.json @@ -1,45 +1,45 @@ -{ - "name": "Редстоун, Киноварь и Рубин", - "icon": "minecraft:redstone", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 160$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 100$(br)Размер: 40$(br2)Виды камней: Гранит$(br2)Индикаторы: Редстоун, Рубин, Киноварь$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!" - }, - { - "type": "patchouli:multiblock", - "name": "Редстоун", - "multiblock": - { - "mapping": { "0": "#forge:ores/redstone" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 45%$(br)Плавится в: Редстоун$(br)Формула: Si(FeS₂)₅(CrAl₂O₃)Hg₃" - }, - { - "type": "patchouli:multiblock", - "name": "Рубин", - "multiblock": - { - "mapping": { "0": "#forge:ores/ruby" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Алюминий, Хром$(br)Формула: CrAl₂O₃" - }, - { - "type": "patchouli:multiblock", - "name": "Киноварь", - "multiblock": - { - "mapping": { "0": "#forge:ores/cinnabar" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Ртуть$(br)Формула: HgS$(br)Ядовит: Да" - } - ] +{ + "name": "Редстоун, Киноварь и Рубин", + "icon": "minecraft:redstone", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 160$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 100$(br)Размер: 40$(br2)Виды камней: Гранит$(br2)Индикаторы: Редстоун, Рубин, Киноварь$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!" + }, + { + "type": "patchouli:multiblock", + "name": "Редстоун", + "multiblock": + { + "mapping": { "0": "#forge:ores/redstone" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 45%$(br)Плавится в: Редстоун$(br)Формула: Si(FeS₂)₅(CrAl₂O₃)Hg₃" + }, + { + "type": "patchouli:multiblock", + "name": "Рубин", + "multiblock": + { + "mapping": { "0": "#forge:ores/ruby" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Алюминий, Хром$(br)Формула: CrAl₂O₃" + }, + { + "type": "patchouli:multiblock", + "name": "Киноварь", + "multiblock": + { + "mapping": { "0": "#forge:ores/cinnabar" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Ртуть$(br)Формула: HgS$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_salt.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_salt.json index 658ff956a..99e9d7eb7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_salt.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_salt.json @@ -1,56 +1,56 @@ -{ - "name": "Соли и Бура", - "icon": "tfc:powder/salt", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 175$(br)Плотность: 0.4$(br)Вид: дискообразная жила$(br)Y-уровень: 30 - 70$(br)Размер: 40$(br)Высота: 4$(br2)Виды камней: Сланец, Аргиллит, Известняк$(br2)Индикаторы: Самосадочная соль, Каменная соль, Лепидолит, Бура" - }, - { - "type": "patchouli:multiblock", - "name": "Каменная соль", - "multiblock": - { - "mapping": { "0": "#forge:ores/rock_salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Содержит: Калий, Хлор$(br)Формула: KCl" - }, - { - "type": "patchouli:multiblock", - "name": "Соль", - "multiblock": - { - "mapping": { "0": "#forge:ores/salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Натрий, Хлор$(br)Формула: NaCl" - }, - { - "type": "patchouli:multiblock", - "name": "Лепидолит", - "multiblock": - { - "mapping": { "0": "#forge:ores/lepidolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Калий, Литий, Алюминий, Фтор$(br)Формула: KLi₃Al₄F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Бура", - "multiblock": - { - "mapping": { "0": "#forge:ores/borax" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Бор$(br)Формула: Na₂B₄(H₂O)₁₀O₇" - } - ] +{ + "name": "Соли и Бура", + "icon": "tfc:powder/salt", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 175$(br)Плотность: 0.4$(br)Вид: дискообразная жила$(br)Y-уровень: 30 - 70$(br)Размер: 40$(br)Высота: 4$(br2)Виды камней: Сланец, Аргиллит, Известняк$(br2)Индикаторы: Самосадочная соль, Каменная соль, Лепидолит, Бура" + }, + { + "type": "patchouli:multiblock", + "name": "Каменная соль", + "multiblock": + { + "mapping": { "0": "#forge:ores/rock_salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Содержит: Калий, Хлор$(br)Формула: KCl" + }, + { + "type": "patchouli:multiblock", + "name": "Соль", + "multiblock": + { + "mapping": { "0": "#forge:ores/salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Натрий, Хлор$(br)Формула: NaCl" + }, + { + "type": "patchouli:multiblock", + "name": "Лепидолит", + "multiblock": + { + "mapping": { "0": "#forge:ores/lepidolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Калий, Литий, Алюминий, Фтор$(br)Формула: KLi₃Al₄F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Бура", + "multiblock": + { + "mapping": { "0": "#forge:ores/borax" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Бор$(br)Формула: Na₂B₄(H₂O)₁₀O₇" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_saltpeter.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_saltpeter.json index ba7773571..0bf0aea02 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_saltpeter.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_saltpeter.json @@ -1,56 +1,56 @@ -{ - "name": "Селитра и Электротин", - "icon": "gtceu:raw_saltpeter", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 210$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Селитра, Диатомовый пелит, Электротин, Алунит" - }, - { - "type": "patchouli:multiblock", - "name": "Селитра", - "multiblock": - { - "mapping": { "0": "#forge:ores/saltpeter" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Калий$(br)Формула: KNO₃" - }, - { - "type": "patchouli:multiblock", - "name": "Диатомовый пелит", - "multiblock": - { - "mapping": { "0": "#forge:ores/diatomite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Железо, Алюминий$(br)Формула: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" - }, - { - "type": "patchouli:multiblock", - "name": "Электротин", - "multiblock": - { - "mapping": { "0": "#forge:ores/electrotine" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Содержит: Золото, Серебро, Редстоун$(br)Формула: (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)" - }, - { - "type": "patchouli:multiblock", - "name": "Алунит", - "multiblock": - { - "mapping": { "0": "#forge:ores/alunite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Калий, Алюминий$(br)Формула: KAl₃Si₂H₆O₁₄" - } - ] +{ + "name": "Селитра и Электротин", + "icon": "gtceu:raw_saltpeter", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 210$(br)Плотность: 0.3$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 60$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Селитра, Диатомовый пелит, Электротин, Алунит" + }, + { + "type": "patchouli:multiblock", + "name": "Селитра", + "multiblock": + { + "mapping": { "0": "#forge:ores/saltpeter" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Калий$(br)Формула: KNO₃" + }, + { + "type": "patchouli:multiblock", + "name": "Диатомовый пелит", + "multiblock": + { + "mapping": { "0": "#forge:ores/diatomite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Железо, Алюминий$(br)Формула: (SiO₂)₈(Fe₂O₃)(Al₂O₃)" + }, + { + "type": "patchouli:multiblock", + "name": "Электротин", + "multiblock": + { + "mapping": { "0": "#forge:ores/electrotine" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Содержит: Золото, Серебро, Редстоун$(br)Формула: (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)" + }, + { + "type": "patchouli:multiblock", + "name": "Алунит", + "multiblock": + { + "mapping": { "0": "#forge:ores/alunite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Калий, Алюминий$(br)Формула: KAl₃Si₂H₆O₁₄" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_silver.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_silver.json index 053f20a3a..ac67488ee 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_silver.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_silver.json @@ -1,45 +1,45 @@ -{ - "name": "Серебро, Галена и Свинец", - "icon": "gtceu:raw_silver", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 160$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Гнейс$(br2)Индикатор: Самородное серебро" - }, - { - "type": "patchouli:multiblock", - "name": "Галена", - "multiblock": - { - "mapping": { "0": "#forge:ores/galena" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Плавится в: Свинец$(br)Формула: PbS$(br)Ядовит: Да" - }, - { - "type": "patchouli:multiblock", - "name": "Серебро", - "multiblock": - { - "mapping": { "0": "#forge:ores/silver" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Серебро$(br)Формула: Ag" - }, - { - "type": "patchouli:multiblock", - "name": "Свинец", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 55%$(br)Плавится в: Свинец$(br)Формула: Pb$(br)Ядовит: Да" - } - ] +{ + "name": "Серебро, Галена и Свинец", + "icon": "gtceu:raw_silver", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 160$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Гранит, Гнейс$(br2)Индикатор: Самородное серебро" + }, + { + "type": "patchouli:multiblock", + "name": "Галена", + "multiblock": + { + "mapping": { "0": "#forge:ores/galena" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Плавится в: Свинец$(br)Формула: PbS$(br)Ядовит: Да" + }, + { + "type": "patchouli:multiblock", + "name": "Серебро", + "multiblock": + { + "mapping": { "0": "#forge:ores/silver" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Серебро$(br)Формула: Ag" + }, + { + "type": "patchouli:multiblock", + "name": "Свинец", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 55%$(br)Плавится в: Свинец$(br)Формула: Pb$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sphalerite.json index 1b225ebdf..c443fd839 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sphalerite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sphalerite.json @@ -1,45 +1,45 @@ -{ - "name": "Сфалерит & Пирит (обычные)", - "icon": "gtceu:raw_sphalerite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Сфалерит" - }, - { - "type": "patchouli:multiblock", - "name": "Сфалерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Плавится в: Цинк$(br)Формула: ZnS" - }, - { - "type": "patchouli:multiblock", - "name": "Сера", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Формула: S" - }, - { - "type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: FeS₂" - } - ] +{ + "name": "Сфалерит & Пирит (обычные)", + "icon": "gtceu:raw_sphalerite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Сфалерит" + }, + { + "type": "patchouli:multiblock", + "name": "Сфалерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Плавится в: Цинк$(br)Формула: ZnS" + }, + { + "type": "patchouli:multiblock", + "name": "Сера", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Формула: S" + }, + { + "type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 25%$(br)Плавится в: Железо$(br)Формула: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_spodumene.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_spodumene.json index df7076ac2..13268eff6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_spodumene.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_spodumene.json @@ -1,56 +1,56 @@ -{ - "name": "Сподумен и Лепидолит", - "icon": "gtceu:raw_spodumene", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 180$(br)плотность: 0.375$(br)Вид: дискообразная жила$(br)Y-уровень: 20 - 60$(br)Размер: 35$(br)Высота: 6$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Самосадочная соль, Каменная соль, Лепидолит, Сподумен" - }, - { - "type": "patchouli:multiblock", - "name": "Каменная соль", - "multiblock": - { - "mapping": { "0": "#forge:ores/rock_salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Содержит: Калий, Хлор$(br)Формула: KCl" - }, - { - "type": "patchouli:multiblock", - "name": "Соль", - "multiblock": - { - "mapping": { "0": "#forge:ores/salt" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Содержит: Натрий, Хлор$(br)Формула: NaCl" - }, - { - "type": "patchouli:multiblock", - "name": "Лепидолит", - "multiblock": - { - "mapping": { "0": "#forge:ores/lepidolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Калий, Литий, Алюминий, Фтор$(br)Формула: KLi₃Al₄F₂O₁₀" - }, - { - "type": "patchouli:multiblock", - "name": "Сподумен", - "multiblock": - { - "mapping": { "0": "#forge:ores/spodumene" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Содержит: Литий, Алюминий$(br)Формула: LiAlSi₂O₆" - } - ] +{ + "name": "Сподумен и Лепидолит", + "icon": "gtceu:raw_spodumene", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 180$(br)плотность: 0.375$(br)Вид: дискообразная жила$(br)Y-уровень: 20 - 60$(br)Размер: 35$(br)Высота: 6$(br2)Виды камней: Гранит, Диорит, Габбро, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Самосадочная соль, Каменная соль, Лепидолит, Сподумен" + }, + { + "type": "patchouli:multiblock", + "name": "Каменная соль", + "multiblock": + { + "mapping": { "0": "#forge:ores/rock_salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Содержит: Калий, Хлор$(br)Формула: KCl" + }, + { + "type": "patchouli:multiblock", + "name": "Соль", + "multiblock": + { + "mapping": { "0": "#forge:ores/salt" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Содержит: Натрий, Хлор$(br)Формула: NaCl" + }, + { + "type": "patchouli:multiblock", + "name": "Лепидолит", + "multiblock": + { + "mapping": { "0": "#forge:ores/lepidolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Калий, Литий, Алюминий, Фтор$(br)Формула: KLi₃Al₄F₂O₁₀" + }, + { + "type": "patchouli:multiblock", + "name": "Сподумен", + "multiblock": + { + "mapping": { "0": "#forge:ores/spodumene" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Содержит: Литий, Алюминий$(br)Формула: LiAlSi₂O₆" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sulfur.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sulfur.json index 59aaac173..43d8f935a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sulfur.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_sulfur.json @@ -1,45 +1,45 @@ -{ - "name": "Сера и Пирит", - "icon": "gtceu:raw_sulfur", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 165$(br)Плотность: 0.2$(br)Вид: Кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 45$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Сера, Пирит, Сфалерит" - }, - { - "type": "patchouli:multiblock", - "name": "Сера", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Формула: S" - }, - { - "type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: FeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Сфалерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Плавится в: Цинк$(br)Формула: ZnS" - } - ] +{ + "name": "Сера и Пирит", + "icon": "gtceu:raw_sulfur", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 165$(br)Плотность: 0.2$(br)Вид: Кластерная жила$(br)Y-уровень: 0 - 210$(br)Размер: 45$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Сера, Пирит, Сфалерит" + }, + { + "type": "patchouli:multiblock", + "name": "Сера", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Формула: S" + }, + { + "type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 35%$(br)Плавится в: Железо$(br)Формула: FeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Сфалерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Плавится в: Цинк$(br)Формула: ZnS" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_tetrahedrite.json index 96e2f6eae..f275ede4a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_tetrahedrite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/normal_tetrahedrite.json @@ -1,45 +1,45 @@ -{ - "name": "Тетраэдрит (обычный)", - "icon": "gtceu:raw_tetrahedrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Тетраэдрит, Самородная медь" - }, - { - "type": "patchouli:multiblock", - "name": "Тетраэдрит", - "multiblock": - { - "mapping": { "0": "#forge:ores/tetrahedrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 50%$(br)Плавится в: Медь$(br)Формула: Cu₃SbS₃Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Самородная медь", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 30%$(br)Плавится в: Медь$(br)Формула: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Стибнит", - "multiblock": - { - "mapping": { "0": "#forge:ores/stibnite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Сурьма$(br)Формула: Sb₂S₃" - } - ] +{ + "name": "Тетраэдрит (обычный)", + "icon": "gtceu:raw_tetrahedrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 170$(br)Плотность: 0.4$(br)Вид: кластерная жила$(br)Y-уровень: -32 - 75$(br)Размер: 40$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Тетраэдрит, Самородная медь" + }, + { + "type": "patchouli:multiblock", + "name": "Тетраэдрит", + "multiblock": + { + "mapping": { "0": "#forge:ores/tetrahedrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 50%$(br)Плавится в: Медь$(br)Формула: Cu₃SbS₃Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Самородная медь", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 30%$(br)Плавится в: Медь$(br)Формула: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Стибнит", + "multiblock": + { + "mapping": { "0": "#forge:ores/stibnite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Сурьма$(br)Формула: Sb₂S₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json index 066d9b8ba..010a0a4c1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json @@ -24,36 +24,36 @@ "item": { "tag": "forge:tools/hammers" } - }, - { - "type": "patchouli:spotlight", - "title": "Шахтёрский молот", - "text": "Вопреки названию и внешнему виду, на самом деле это кирка с зоной добычи 3х3, и при добыче руды будет выпадать $(thing)Сырьё$(). Очень хорошо подходит для расчистки камня после добычи руды кувалдой!$(br2)Зажав $(thing)Шифт$(), зона добычи уменьшается до 1 блока.", - "item": { - "tag": "forge:tools/mining_hammers" - } - }, - { - "type": "patchouli:spotlight", - "title": "Примитивная обработка руды", - "anchor": "processing", - "item": "gtceu:copper_dust", - "text": "Чтобы руда давала ещё больше, дроблёную руду надо скрафтить с $(thing)Кувалдой$(). Так она превратится в $(thing)Грязную кучку пыли$().$(br2)Дальше остаётся просто бросить её в воду и подождать пару секунд, либо же нажать ПКМ по $(thing)Котлу$() с водой." - }, - { - "type": "patchouli:crafting", - "title": "Грязная кучка пыли", - "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper" - }, - { - "type": "patchouli:spotlight", - "title": "Паровой век", - "text": "Дойдя до $(thing)Паровых машин$(), вы можете добывать руду $(thing)Шахтёрским молотом$(), а сырьё класть в $(thing)Паровой кузнечный молот$() или $(thing)Паровой измельчитель$(). Это даст сравнимое количество руды как если бы вы добывали её кувалдой.", - "item": "gtceu:hp_steam_forge_hammer,gtceu:hp_steam_macerator" - }, - { + }, + { + "type": "patchouli:spotlight", + "title": "Шахтёрский молот", + "text": "Вопреки названию и внешнему виду, на самом деле это кирка с зоной добычи 3х3, и при добыче руды будет выпадать $(thing)Сырьё$(). Очень хорошо подходит для расчистки камня после добычи руды кувалдой!$(br2)Зажав $(thing)Шифт$(), зона добычи уменьшается до 1 блока.", + "item": { + "tag": "forge:tools/mining_hammers" + } + }, + { + "type": "patchouli:spotlight", + "title": "Примитивная обработка руды", + "anchor": "processing", + "item": "gtceu:copper_dust", + "text": "Чтобы руда давала ещё больше, дроблёную руду надо скрафтить с $(thing)Кувалдой$(). Так она превратится в $(thing)Грязную кучку пыли$().$(br2)Дальше остаётся просто бросить её в воду и подождать пару секунд, либо же нажать ПКМ по $(thing)Котлу$() с водой." + }, + { + "type": "patchouli:crafting", + "title": "Грязная кучка пыли", + "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper" + }, + { + "type": "patchouli:spotlight", + "title": "Паровой век", + "text": "Дойдя до $(thing)Паровых машин$(), вы можете добывать руду $(thing)Шахтёрским молотом$(), а сырьё класть в $(thing)Паровой кузнечный молот$() или $(thing)Паровой измельчитель$(). Это даст сравнимое количество руды как если бы вы добывали её кувалдой.", + "item": "gtceu:hp_steam_forge_hammer,gtceu:hp_steam_macerator" + }, + { "type": "patchouli:text", - "text": "Когда вы дойдёте до эры LV, в квестах есть информация о более детальной обработке руд. Важно! $(thing)Измельчитель$() даёт только предметы из первого слота до эры $(thing)HV$()!$(br2)Потенциально неактуальная генерация руд в виде таблицы: $(l:https://docs.google.com/spreadsheets/d/1P3Baz4y5vgJ3XrCoNs4l3BXGPiFEPlW7i4taPEWpTB4/edit?usp=sharing)Spreadsheet$()" + "text": "Когда вы дойдёте до эры LV, в квестах есть информация о более детальной обработке руд. Важно! $(thing)Измельчитель$() даёт только предметы из первого слота до эры $(thing)HV$()!$(br2)Потенциально неактуальная генерация руд в виде таблицы: $(l:https://docs.google.com/spreadsheets/d/1P3Baz4y5vgJ3XrCoNs4l3BXGPiFEPlW7i4taPEWpTB4/edit?usp=sharing)Spreadsheet$()" } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_bismuth.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_bismuth.json index 1e09a35f6..a0d51aa70 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_bismuth.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_bismuth.json @@ -1,45 +1,45 @@ -{ - "name": "Висмут (Поверхностный)", - "icon": "gtceu:poor_raw_bismuth", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро, Шиферный сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Висмутин" - }, - { - "type": "patchouli:multiblock", - "name": "Висмут", - "multiblock": - { - "mapping": { "0": "#forge:ores/bismuth" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 90%$(br)Плавится в: Висмут$(br)Формула: Bi" - }, - { - "type": "patchouli:multiblock", - "name": "Сера", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 3%$(br)Формула: S" - }, - { - "type": "patchouli:multiblock", - "name": "Свинец", - "multiblock": - { - "mapping": { "0": "#forge:ores/lead" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 7%$(br)Плавится в: Свинец$(br)Формула: Pb$(br)Ядовит: Да" - } - ] +{ + "name": "Висмут (Поверхностный)", + "icon": "gtceu:poor_raw_bismuth", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро, Шиферный сланец, Аргиллит, Известняк, Конгломерат, Доломит, Кремнистый сланец, Мел$(br2)Индикатор: Висмутин" + }, + { + "type": "patchouli:multiblock", + "name": "Висмут", + "multiblock": + { + "mapping": { "0": "#forge:ores/bismuth" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 90%$(br)Плавится в: Висмут$(br)Формула: Bi" + }, + { + "type": "patchouli:multiblock", + "name": "Сера", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 3%$(br)Формула: S" + }, + { + "type": "patchouli:multiblock", + "name": "Свинец", + "multiblock": + { + "mapping": { "0": "#forge:ores/lead" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 7%$(br)Плавится в: Свинец$(br)Формула: Pb$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_cassiterite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_cassiterite.json index 2a0df16a5..45d934084 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_cassiterite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_cassiterite.json @@ -1,34 +1,34 @@ -{ - "name": "Касситерит (Поверхностный)", - "icon": "gtceu:poor_raw_cassiterite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 135$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикатор: Касситерит" - }, - { - "type": "patchouli:multiblock", - "name": "Касситерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 60%$(br)Плавится в: Олово$(br)Формула: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Олово", - "multiblock": - { - "mapping": { "0": "#forge:ores/tin" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Плавится в: Олово$(br)Формула: Sn" - } - ] +{ + "name": "Касситерит (Поверхностный)", + "icon": "gtceu:poor_raw_cassiterite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 135$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Гранит, Диорит, Габбро$(br2)Индикатор: Касситерит" + }, + { + "type": "patchouli:multiblock", + "name": "Касситерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 60%$(br)Плавится в: Олово$(br)Формула: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Олово", + "multiblock": + { + "mapping": { "0": "#forge:ores/tin" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Плавится в: Олово$(br)Формула: Sn" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_copper.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_copper.json index d99510ecf..39d89c3c7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_copper.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_copper.json @@ -1,56 +1,56 @@ -{ - "name": "Халькопирит и Реальгар", - "icon": "gtceu:raw_chalcopyrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 30 - 210$(br)Размер: 50$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Самородная медь, Касситерит, Реальгар$(br2)Не получается найти это? $(l:tfg_ores/normal_garnierite)Кобальтит$() служит альтернативным источником мышьяка, однако для этого понадобится $(thing)Электрическая доменная печь$()" - }, - { - "type": "patchouli:multiblock", - "name": "Халькопирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/chalcopyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 55%$(br)Плавится в: Медь$(br)Формула: CuFeS₂" - }, - { - "type": "patchouli:multiblock", - "name": "Цеолит", - "multiblock": - { - "mapping": { "0": "#forge:ores/zeolite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Алюминий, Кислород$(br)Формула: NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂" - }, - { - "type": "patchouli:multiblock", - "name": "Касситерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/cassiterite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Олово$(br)Формула: SnO₂" - }, - { - "type": "patchouli:multiblock", - "name": "Реальгар", - "multiblock": - { - "mapping": { "0": "#forge:ores/realgar" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 15%$(br)Содержит: Мышьяк$(br)Формула: As₄S₄$(br)Ядовит: Да" - }, - ] +{ + "name": "Халькопирит и Реальгар", + "icon": "gtceu:raw_chalcopyrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 30 - 210$(br)Размер: 50$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит$(br2)Индикаторы: Самородная медь, Касситерит, Реальгар$(br2)Не получается найти это? $(l:tfg_ores/normal_garnierite)Кобальтит$() служит альтернативным источником мышьяка, однако для этого понадобится $(thing)Электрическая доменная печь$()" + }, + { + "type": "patchouli:multiblock", + "name": "Халькопирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/chalcopyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 55%$(br)Плавится в: Медь$(br)Формула: CuFeS₂" + }, + { + "type": "patchouli:multiblock", + "name": "Цеолит", + "multiblock": + { + "mapping": { "0": "#forge:ores/zeolite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Алюминий, Кислород$(br)Формула: NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂" + }, + { + "type": "patchouli:multiblock", + "name": "Касситерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/cassiterite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Олово$(br)Формула: SnO₂" + }, + { + "type": "patchouli:multiblock", + "name": "Реальгар", + "multiblock": + { + "mapping": { "0": "#forge:ores/realgar" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 15%$(br)Содержит: Мышьяк$(br)Формула: As₄S₄$(br)Ядовит: Да" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_kaolin.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_kaolin.json index 1f16aad1a..54ee02944 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_kaolin.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_kaolin.json @@ -1,53 +1,53 @@ -{ - "name": "Каолинитовая глина", - "icon": "tfc:kaolin_clay", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "anchor": "kaolinite", - "text": "Каолинит - это мягкий $(thing)минерал$(), который используется в создании $(l:mechanics/fire_clay)Огнеупорной глины$(). Его можно найти на больших высотах на плато, древних горах и в высокогорьях, при $(l:the_world/climate#temperature)температуре$() не менее 18°C и $(l:the_world/climate#rainfall)осадках$() не менее 300 мм. Цветок $(thing)кровавой лилии$() растёт неподалёку от каолиновой глины." - }, - { - "type": "tfc:multimultiblock", - "text": "В большинстве случаев, надо идти на $(thing)Юго-восток$() для увеличения температуры и осадков.", - "multiblocks": [ - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:kaolin_clay_grass" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:red_kaolin_clay" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:white_kaolin_clay" - } - }, - { - "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], - "mapping": { - "X": "tfc:plant/blood_lily", - "Y": "tfc:pink_kaolin_clay" - } - } - ] - }, - { - "type": "patchouli:spotlight", - "item": "tfc:powder/kaolinite", - "anchor": "powder", - "text": "Лишь $(thing)20%$() от глины превратятся в $(thing)Каолинитовый порошок$(), поэтому разжечь несколько $(l:getting_started/pit_kiln)Земляных печей$() - очень даже хорошая идея.$(br2)Так же следует взять с собой хотя бы 20 $(thing)Блоков$() каолинитовой глины для $(l:mechanics/glassworking_applications)Стеклоделия$()." - } - ] +{ + "name": "Каолинитовая глина", + "icon": "tfc:kaolin_clay", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "anchor": "kaolinite", + "text": "Каолинит - это мягкий $(thing)минерал$(), который используется в создании $(l:mechanics/fire_clay)Огнеупорной глины$(). Его можно найти на больших высотах на плато, древних горах и в высокогорьях, при $(l:the_world/climate#temperature)температуре$() не менее 18°C и $(l:the_world/climate#rainfall)осадках$() не менее 300 мм. Цветок $(thing)кровавой лилии$() растёт неподалёку от каолиновой глины." + }, + { + "type": "tfc:multimultiblock", + "text": "В большинстве случаев, надо идти на $(thing)Юго-восток$() для увеличения температуры и осадков.", + "multiblocks": [ + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:kaolin_clay_grass" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:red_kaolin_clay" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:white_kaolin_clay" + } + }, + { + "pattern": [ [ "X" ], [ "Y" ], [ "0" ] ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:pink_kaolin_clay" + } + } + ] + }, + { + "type": "patchouli:spotlight", + "item": "tfc:powder/kaolinite", + "anchor": "powder", + "text": "Лишь $(thing)20%$() от глины превратятся в $(thing)Каолинитовый порошок$(), поэтому разжечь несколько $(l:getting_started/pit_kiln)Земляных печей$() - очень даже хорошая идея.$(br2)Так же следует взять с собой хотя бы 20 $(thing)Блоков$() каолинитовой глины для $(l:mechanics/glassworking_applications)Стеклоделия$()." + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_sphalerite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_sphalerite.json index ebde8bf6f..0f4027c88 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_sphalerite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_sphalerite.json @@ -1,45 +1,45 @@ -{ - "name": "Сфалерит и Сера (поверхностные)", - "icon": "gtceu:poor_raw_sphalerite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 145$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Сфалерит" - }, - { - "type": "patchouli:multiblock", - "name": "Сфалерит", - "multiblock": - { - "mapping": { "0": "#forge:ores/sphalerite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 40%$(br)Плавится в: Цинк$(br)Формула: ZnS" - }, - { - "type": "patchouli:multiblock", - "name": "Сера", - "multiblock": - { - "mapping": { "0": "#forge:ores/sulfur" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 55%$(br)Формула: S" - }, - { - "type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": - { - "mapping": { "0": "#forge:ores/pyrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeS₂" - } - ] +{ + "name": "Сфалерит и Сера (поверхностные)", + "icon": "gtceu:poor_raw_sphalerite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 145$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Риолит, Базальт, Андезит, Дацит, Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикатор: Сфалерит" + }, + { + "type": "patchouli:multiblock", + "name": "Сфалерит", + "multiblock": + { + "mapping": { "0": "#forge:ores/sphalerite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 40%$(br)Плавится в: Цинк$(br)Формула: ZnS" + }, + { + "type": "patchouli:multiblock", + "name": "Сера", + "multiblock": + { + "mapping": { "0": "#forge:ores/sulfur" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 55%$(br)Формула: S" + }, + { + "type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": + { + "mapping": { "0": "#forge:ores/pyrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 5%$(br)Плавится в: Железо$(br)Формула: FeS₂" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_tetrahedrite.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_tetrahedrite.json index b749bc73a..1d3b3b4d0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_tetrahedrite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/surface_tetrahedrite.json @@ -1,45 +1,45 @@ -{ - "name": "Тетраэдрит (Поверхностный)", - "icon": "gtceu:poor_raw_tetrahedrite", - "category": "tfc:tfg_ores", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Тетраэдрит, Самородная медь" - }, - { - "type": "patchouli:multiblock", - "name": "Тетраэдрит", - "multiblock": - { - "mapping": { "0": "#forge:ores/tetrahedrite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 60%$(br)Плавится в: Медь$(br)Формула: Cu₃SbS₃Fe" - }, - { - "type": "patchouli:multiblock", - "name": "Самородная медь", - "multiblock": - { - "mapping": { "0": "#forge:ores/copper" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: Cu" - }, - { - "type": "patchouli:multiblock", - "name": "Стибнит", - "multiblock": - { - "mapping": { "0": "#forge:ores/stibnite" }, - "pattern": [[ "0" ], [ " " ]] - }, - "enable_visualize": false, - "text": "Процент руды: 20%$(br)Плавится в: Сурьма$(br)Формула: Sb₂S₃" - } - ] +{ + "name": "Тетраэдрит (Поверхностный)", + "icon": "gtceu:poor_raw_tetrahedrite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Редкость: 140$(br)Плотность: 0.25$(br)Вид: кластерная жила$(br)Y-уровень: 60 - 210$(br)Размер: 50$(br2)Виды камней: Кварцит, Шиферный сланец, Филлит, Аспидный сланец, Гнейс, Мрамор$(br2)Индикаторы: Тетраэдрит, Самородная медь" + }, + { + "type": "patchouli:multiblock", + "name": "Тетраэдрит", + "multiblock": + { + "mapping": { "0": "#forge:ores/tetrahedrite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 60%$(br)Плавится в: Медь$(br)Формула: Cu₃SbS₃Fe" + }, + { + "type": "patchouli:multiblock", + "name": "Самородная медь", + "multiblock": + { + "mapping": { "0": "#forge:ores/copper" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Медь$(br)Формула: Cu" + }, + { + "type": "patchouli:multiblock", + "name": "Стибнит", + "multiblock": + { + "mapping": { "0": "#forge:ores/stibnite" }, + "pattern": [[ "0" ], [ " " ]] + }, + "enable_visualize": false, + "text": "Процент руды: 20%$(br)Плавится в: Сурьма$(br)Формула: Sb₂S₃" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json index 8ab1472bd..3a53a082a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json @@ -3,4 +3,4 @@ "description": "Інформація про речі в TerraFirmaGreg, які відрізняються від базових TFC та GTCEu.", "icon": "gtceu:basic_electronic_circuit", "sortnum": 200 -} +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json new file mode 100644 index 000000000..398d07092 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json @@ -0,0 +1,168 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Вступ", + "category": "tfc:getting_started", + "icon": "tfc:rock/loose/granite", + "pages": [ + { + "type": "patchouli:text", + "text": "У TerraFirmaCraft першими ресурсами, для виготовлення інструменту, є палиці, гілки та камінці. Їх можна знайти майже в будь-якому біомі, розкиданими по землі. $(item)$(k:key.use)$() або клікни лівою кнопкою миші, щоб забрати їх в свій інвентар." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "1 ", + " 2 4", + " 03 ", + " 4 ", + " 5" + ], + [ + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG" + ] + ], + "mapping": { + "G": "tfc:grass/sandy_loam", + "1": "tfc:rock/loose/granite[count=1]", + "2": "tfc:rock/loose/granite[count=2]", + "3": "tfc:rock/loose/granite[count=3]", + "4": "tfc:groundcover/stick", + "5": "tfc:wood/twig/ash" + } + }, + "name": "Приклад", + "text": "Декілька звичайних палиць і каміння", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "Палиці ще можна отримати з листя. Розбий блок листя рукою та, з деяким шансом, ти отримаєш паличку. Коли у тебе є кілька каменів і палиць, ти готовий почати процес $(thing)обробки$(). Обробляти каміння треба камінням. У кам'яну добу інших варіантів нема. Щоб зробити удар, спочатку візьми у руку принаймні два каменя, а потім клацни правою кнопкою миші в повітрі. Це надасть доступ до інтерфейсу $(thing)обробки$()." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/rock_knapping.png" + ], + "text": "Інтерфейс обробки", + "border": false + }, + { + "type": "patchouli:text", + "text": "Для того, щоб отримати певний предмет, потрібно видаляти квадрати, доки не сформуєш потрібний візерунок. Наприклад, створи лезо ножа згідно наведеному рецепту праворуч.$(br2)Як і рецепти крафта, розташування потрібного візерунка не має значення для результату, і деякі рецепти мають кілька дійсних варіантів." + }, + { + "type": "tfc:rock_knapping_recipe", + "anchor": "knife", + "recipes": [ + "tfg:rock_knapping/stone_knife_head", + "tfg:rock_knapping/stone_knife_head_1", + "tfg:rock_knapping/stone_knife_head_2", + "tfg:rock_knapping/stone_knife_head_3" + ], + "text": "Лезо ножа, виготовлене з кількох різних видів гірських порід" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/stone/knife_sedimentary", + "text": "До леза або кам’яної головки інструменту треба додати палицю або гілку, щоб отримати готовий інструмент.$(br2)Кам'яний ніж можна використовувати для збору $(thing)соломи$(), просто зрізавши траву ножем." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_axe_head" + ], + "text": "$(thing)Сокира$() використовується для зрубування цілих дерев, включно колоди та листя. Однак саджанці і палиці випадуть лиш у випадку, якщо листя ламати окремо." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_shovel_head" + ], + "text": "$(thing)Лопату$() можна використати для викопування блоків ґрунтового типу. Використовується також для створення $(thing)стежки$() або $(item)доріжки$() на блоках $(thing)землі$() або $(thing)трави$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head", + "tfg:rock_knapping/stone_hoe_head_1", + "tfg:rock_knapping/stone_hoe_head_2" + ], + "text": "$(thing)Мотика$() є корисним інструментом для $(l:mechanics/crops)землеробства$(), але її також можна використати для зрізання листя та інших рослин." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hammer_head" + ], + "text": "$(thing)Молот$() можна використати як $(l:mechanics/damage_types)руйнівну$() зброю, але він більш потрібен для $(l:getting_started/primitive_anvils)ковальства$()." + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfc:rock_knapping/javelin_head_sedimentary", + "tfc:rock_knapping/javelin_head_metamorphic", + "tfc:rock_knapping/javelin_head_igneous_extrusive", + "tfc:rock_knapping/javelin_head_igneous_intrusive" + ], + "text": "Нарешті, $(thing)спис$(). Він використовується як примітивна зброя. Його можна кидати, а можна використовувати як зброю ближнього $(l:mechanics/damage_types)колольного$() бою." + } + ], + "read_by_default": true, + "sortnum": 0, + "extra_recipe_mappings": { + "tfc:stone/knife_head/sedimentary": 5, + "tfc:stone/knife_head/metamorphic": 5, + "tfc:stone/knife_head/igneous_extrusive": 5, + "tfc:stone/knife_head/igneous_intrusive": 5, + "tfc:stone/knife/sedimentary": 5, + "tfc:stone/knife/metamorphic": 5, + "tfc:stone/knife/igneous_extrusive": 5, + "tfc:stone/knife/igneous_intrusive": 5, + "tfc:stone/axe_head/sedimentary": 7, + "tfc:stone/axe_head/metamorphic": 7, + "tfc:stone/axe_head/igneous_extrusive": 7, + "tfc:stone/axe_head/igneous_intrusive": 7, + "tfc:stone/axe/sedimentary": 7, + "tfc:stone/axe/metamorphic": 7, + "tfc:stone/axe/igneous_extrusive": 7, + "tfc:stone/axe/igneous_intrusive": 7, + "tfc:stone/shovel_head/sedimentary": 8, + "tfc:stone/shovel_head/metamorphic": 8, + "tfc:stone/shovel_head/igneous_extrusive": 8, + "tfc:stone/shovel_head/igneous_intrusive": 8, + "tfc:stone/shovel/sedimentary": 8, + "tfc:stone/shovel/metamorphic": 8, + "tfc:stone/shovel/igneous_extrusive": 8, + "tfc:stone/shovel/igneous_intrusive": 8, + "tfc:stone/hoe_head/sedimentary": 9, + "tfc:stone/hoe_head/metamorphic": 9, + "tfc:stone/hoe_head/igneous_extrusive": 9, + "tfc:stone/hoe_head/igneous_intrusive": 9, + "tfc:stone/hoe/sedimentary": 9, + "tfc:stone/hoe/metamorphic": 9, + "tfc:stone/hoe/igneous_extrusive": 9, + "tfc:stone/hoe/igneous_intrusive": 9, + "tfc:stone/hammer_head/sedimentary": 10, + "tfc:stone/hammer_head/metamorphic": 10, + "tfc:stone/hammer_head/igneous_extrusive": 10, + "tfc:stone/hammer_head/igneous_intrusive": 10, + "tfc:stone/hammer/sedimentary": 10, + "tfc:stone/hammer/metamorphic": 10, + "tfc:stone/hammer/igneous_extrusive": 10, + "tfc:stone/hammer/igneous_intrusive": 10, + "tfc:stone/javelin_head/sedimentary": 11, + "tfc:stone/javelin_head/metamorphic": 11, + "tfc:stone/javelin_head/igneous_extrusive": 11, + "tfc:stone/javelin_head/igneous_intrusive": 11, + "tfc:stone/javelin/sedimentary": 11, + "tfc:stone/javelin/metamorphic": 11, + "tfc:stone/javelin/igneous_extrusive": 11, + "tfc:stone/javelin/igneous_intrusive": 11 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/index.json index e713a4c31..e99d50665 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/index.json @@ -39,5 +39,5 @@ "text": "Вульфеніт: $(l:tfg_ores/deep_molybdenum)40%$()$(br)Жовтий гранат: $(l:tfg_ores/deep_garnet_amethyst)5%$(), $(l:tfg_ores/deep_garnet_opal)5%$()$(br)Жовтий лімоніт: $(l:tfg_ores/normal_limonite)50%$(), $(l:tfg_ores/normal_hematite)30%$(), $(l:tfg_ores/normal_gold)20%$(), $(l:tfg_ores/deep_limonite)15%$(), $(l:tfg_ores/deep_hematite)15%$(), $(l:tfg_ores/deep_gold)5%$()$(br)Цеоліт: $(l:tfg_ores/surface_copper)15%$()" } ] -} - +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json index 40389b030..503524741 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json @@ -33,7 +33,7 @@ { "type": "patchouli:spotlight", "title": "Автоматизація", - "item": "create:mechanical_pump", + "item": "greate:steel_mechanical_pump", "text": "Вам знадобиться багато $(item)Сталі$() для епох $(thing)Пари$() та $(thing)LV$(). Багато сталі. До$(thing)Електричної Доменної печі$() ще далеко, тож, можливо, варто подумати про оптимізацію виробництва сталі." }, { diff --git a/kubejs/assets/tfc/textures/block/metal/smooth_pattern.png b/kubejs/assets/tfc/textures/block/metal/smooth_pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..7373340843f0de3bc7091b20d55fb6485194a9a7 GIT binary patch literal 1740 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_suXnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`avc7m0xRdD)WnkfqLBRj99T>Rz?`gLWTI!Tpb?&#my%yztcj!{)g`ec)m8}< zYr2Mpx<+Oph89-F=2k{V+6LxU1_ltNzWFJcX_auLCb|YDx`q}ZhGteK=2iwKC`waH z5>paO5(z3!Nw!MMFUn0Uu~o{Czj!NI&o16aTDC>xDq2o z8EH<321{~AVqSV`imj5q638?9pdtnmDf;N~1(ri9j_ed{z(PSTZXhPO=mZs`b_$5{ zIW;fER;ftI-fqXE^QRaX7*=|^IEH9U?45K_^soYtv#DA6xtk5qVkcP6gb51TZq3ZB z>FnL#!?a+^rr3@9-QWM+(Uh9K_8QmXHER_omRL8NEN`B{ zOP!Z{+(=WMCo9Bh7wg-b!3+GYetKoIZ(Ek&`<(GmozLd)-D+)nG{35N+^@Xz;m49% zHTf?;GVh-gD=c@4dhKDAem`^P0pZunp4v_Vt;>yPscE&Xq z1Ap#$^H(ah#Q0%ivzo>8s?~>LL=yz(PrrCi?|pa}yrHYpf?OZHNb zJ=Ry`C3fHR>t*HDPQnT+mmV|mKXqZ%A^W>&;R~;vF#rB~iOZ>KlZhu;;(t2(Y~bJh vZu#1&V!m%ppY<;_&S$VTUw7u&SN^V}A75Q!erd_Tz`)??>gTe~DWM4f%MfQ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/dripstone.png b/kubejs/assets/tfc/textures/gui/knapping/loose/dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fbb5b4cc558e3e3b0c0be6a79a26313274aa67 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7PI|gHhFJL5PTI)pWXR*P zS5`=rHK|db%^~E<6%(HW%N+Z@?2FTJPE_@Kv-`8^$2)qDKkqtQVZTnf_)(o*@7szQ z6D_~*+|+-EAwi&7QscYi7uQsS05;x+E1x$k$tlTOsTS$RaB}*zSB7(fcWZz6BfH}H zwp&M!#OvIZe10&;>|9S>SjUOY<~nDmU)8zpV8*zMd%ty?l*G5##;2jqnkEz7qyIV9 z8XfpQQ#x(yM7?9`hqhkyT;q1L+e={Djb5jFe@|I9ExlH_tL>Nbe&JT%rB98eO&Ay$ O7(8A5T-G@yGywpMUv7~A literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/blockstates/ash_pile.json b/kubejs/assets/tfg/blockstates/ash_pile.json new file mode 100644 index 000000000..abfd02eae --- /dev/null +++ b/kubejs/assets/tfg/blockstates/ash_pile.json @@ -0,0 +1,28 @@ +{ + "variants": { + "layers=1": { + "model": "tfg:block/ash_pile/ash_height2" + }, + "layers=2": { + "model": "tfg:block/ash_pile/ash_height4" + }, + "layers=3": { + "model": "tfg:block/ash_pile/ash_height6" + }, + "layers=4": { + "model": "tfg:block/ash_pile/ash_height8" + }, + "layers=5": { + "model": "tfg:block/ash_pile/ash_height10" + }, + "layers=6": { + "model": "tfg:block/ash_pile/ash_height12" + }, + "layers=7": { + "model": "tfg:block/ash_pile/ash_height14" + }, + "layers=8": { + "model": "tfg:block/ash_pile/ash_block" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_almandine_bud.json b/kubejs/assets/tfg/blockstates/buds/large_almandine_bud.json deleted file mode 100644 index c513b818f..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_almandine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_almandine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_almandine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_almandine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_almandine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_almandine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_almandine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_andradite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_andradite_bud.json deleted file mode 100644 index 9b7af4170..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_andradite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_andradite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_andradite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_andradite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_andradite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_andradite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_andradite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_apatite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_apatite_bud.json deleted file mode 100644 index 4f02ae0b0..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_apatite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_apatite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_apatite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_apatite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_apatite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_apatite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_apatite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_blue_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/large_blue_topaz_bud.json deleted file mode 100644 index 2ec1b83f5..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_blue_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_blue_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_blue_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_blue_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_blue_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_blue_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_blue_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_cinnabar_bud.json b/kubejs/assets/tfg/blockstates/buds/large_cinnabar_bud.json deleted file mode 100644 index 2c518f071..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_cinnabar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_cinnabar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_cinnabar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_cinnabar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_cinnabar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_cinnabar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_cinnabar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_diamond_bud.json b/kubejs/assets/tfg/blockstates/buds/large_diamond_bud.json deleted file mode 100644 index 19ece3339..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_diamond_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_diamond_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_diamond_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_diamond_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_diamond_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_diamond_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_diamond_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_emerald_bud.json b/kubejs/assets/tfg/blockstates/buds/large_emerald_bud.json deleted file mode 100644 index f7f487e19..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_emerald_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_emerald_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_emerald_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_emerald_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_emerald_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_emerald_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_emerald_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_green_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/large_green_sapphire_bud.json deleted file mode 100644 index 8382ff9ab..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_green_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_green_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_green_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_green_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_green_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_green_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_green_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_grossular_bud.json b/kubejs/assets/tfg/blockstates/buds/large_grossular_bud.json deleted file mode 100644 index 7dc899467..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_grossular_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_grossular_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_grossular_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_grossular_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_grossular_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_grossular_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_grossular_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_lapis_bud.json b/kubejs/assets/tfg/blockstates/buds/large_lapis_bud.json deleted file mode 100644 index 8ecdebbbc..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_lapis_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_lapis_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_lapis_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_lapis_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_lapis_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_lapis_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_lapis_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_lazurite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_lazurite_bud.json deleted file mode 100644 index 81f1994f4..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_lazurite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_lazurite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_lazurite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_lazurite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_lazurite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_lazurite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_lazurite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_monazite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_monazite_bud.json deleted file mode 100644 index 14962a386..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_monazite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_monazite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_monazite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_monazite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_monazite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_monazite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_monazite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_nether_quartz_bud.json b/kubejs/assets/tfg/blockstates/buds/large_nether_quartz_bud.json deleted file mode 100644 index 18b2e8dd5..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_nether_quartz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_nether_quartz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_nether_quartz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_nether_quartz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_nether_quartz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_nether_quartz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_nether_quartz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_olivine_bud.json b/kubejs/assets/tfg/blockstates/buds/large_olivine_bud.json deleted file mode 100644 index 1b75ee611..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_olivine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_olivine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_olivine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_olivine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_olivine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_olivine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_olivine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_opal_bud.json b/kubejs/assets/tfg/blockstates/buds/large_opal_bud.json deleted file mode 100644 index 63b490ebf..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_opal_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_opal_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_opal_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_opal_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_opal_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_opal_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_opal_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_pyrope_bud.json b/kubejs/assets/tfg/blockstates/buds/large_pyrope_bud.json deleted file mode 100644 index 2dbf16f92..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_pyrope_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_pyrope_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_pyrope_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_pyrope_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_pyrope_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_pyrope_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_pyrope_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_quartzite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_quartzite_bud.json deleted file mode 100644 index ad71ddaab..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_quartzite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_quartzite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_quartzite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_quartzite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_quartzite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_quartzite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_quartzite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_realgar_bud.json b/kubejs/assets/tfg/blockstates/buds/large_realgar_bud.json deleted file mode 100644 index 920e53af1..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_realgar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_realgar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_realgar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_realgar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_realgar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_realgar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_realgar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_red_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/large_red_garnet_bud.json deleted file mode 100644 index 3d42e6bb6..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_red_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_red_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_red_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_red_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_red_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_red_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_red_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_ruby_bud.json b/kubejs/assets/tfg/blockstates/buds/large_ruby_bud.json deleted file mode 100644 index a80a91061..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_ruby_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_ruby_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_ruby_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_ruby_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_ruby_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_ruby_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_ruby_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_rutile_bud.json b/kubejs/assets/tfg/blockstates/buds/large_rutile_bud.json deleted file mode 100644 index 70dd8056f..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_rutile_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_rutile_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_rutile_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_rutile_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_rutile_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_rutile_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_rutile_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/large_sapphire_bud.json deleted file mode 100644 index 2435e3e1c..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_sodalite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_sodalite_bud.json deleted file mode 100644 index 410078218..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_sodalite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_sodalite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_sodalite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_sodalite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_sodalite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_sodalite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_sodalite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_spessartine_bud.json b/kubejs/assets/tfg/blockstates/buds/large_spessartine_bud.json deleted file mode 100644 index 9464061da..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_spessartine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_spessartine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_spessartine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_spessartine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_spessartine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_spessartine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_spessartine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/large_topaz_bud.json deleted file mode 100644 index ac076b949..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_uvarovite_bud.json b/kubejs/assets/tfg/blockstates/buds/large_uvarovite_bud.json deleted file mode 100644 index 3a16a1f88..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_uvarovite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_uvarovite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_uvarovite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_uvarovite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_uvarovite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_uvarovite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_uvarovite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/large_yellow_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/large_yellow_garnet_bud.json deleted file mode 100644 index 993ad27e5..000000000 --- a/kubejs/assets/tfg/blockstates/buds/large_yellow_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/large_yellow_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/large_yellow_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/large_yellow_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/large_yellow_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/large_yellow_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/large_yellow_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_almandine_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_almandine_bud.json deleted file mode 100644 index dfb21955f..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_almandine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_almandine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_almandine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_almandine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_almandine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_almandine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_almandine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_andradite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_andradite_bud.json deleted file mode 100644 index a21cefacd..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_andradite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_andradite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_andradite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_andradite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_andradite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_andradite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_andradite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_apatite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_apatite_bud.json deleted file mode 100644 index 271a52d40..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_apatite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_apatite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_apatite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_apatite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_apatite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_apatite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_apatite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_blue_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_blue_topaz_bud.json deleted file mode 100644 index cb32655b1..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_blue_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_blue_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_blue_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_blue_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_blue_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_blue_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_blue_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_cinnabar_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_cinnabar_bud.json deleted file mode 100644 index f8078a3f4..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_cinnabar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_cinnabar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_cinnabar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_cinnabar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_cinnabar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_cinnabar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_cinnabar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_diamond_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_diamond_bud.json deleted file mode 100644 index 998cd543d..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_diamond_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_diamond_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_diamond_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_diamond_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_diamond_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_diamond_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_diamond_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_emerald_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_emerald_bud.json deleted file mode 100644 index 286bb9c25..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_emerald_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_emerald_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_emerald_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_emerald_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_emerald_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_emerald_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_emerald_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_green_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_green_sapphire_bud.json deleted file mode 100644 index b7167f02e..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_green_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_green_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_green_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_green_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_green_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_green_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_green_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_grossular_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_grossular_bud.json deleted file mode 100644 index caad8fed3..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_grossular_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_grossular_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_grossular_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_grossular_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_grossular_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_grossular_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_grossular_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_lapis_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_lapis_bud.json deleted file mode 100644 index a46784ba0..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_lapis_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_lapis_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_lapis_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_lapis_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_lapis_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_lapis_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_lapis_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_lazurite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_lazurite_bud.json deleted file mode 100644 index 741a78c89..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_lazurite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_lazurite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_lazurite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_lazurite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_lazurite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_lazurite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_lazurite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_monazite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_monazite_bud.json deleted file mode 100644 index 2aa98dfba..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_monazite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_monazite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_monazite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_monazite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_monazite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_monazite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_monazite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_nether_quartz_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_nether_quartz_bud.json deleted file mode 100644 index b79e8be3a..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_nether_quartz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_nether_quartz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_nether_quartz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_nether_quartz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_nether_quartz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_nether_quartz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_nether_quartz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_olivine_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_olivine_bud.json deleted file mode 100644 index 113d13f83..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_olivine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_olivine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_olivine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_olivine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_olivine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_olivine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_olivine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_opal_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_opal_bud.json deleted file mode 100644 index 8744eb69c..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_opal_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_opal_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_opal_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_opal_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_opal_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_opal_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_opal_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_pyrope_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_pyrope_bud.json deleted file mode 100644 index 3f0da7956..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_pyrope_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_pyrope_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_pyrope_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_pyrope_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_pyrope_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_pyrope_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_pyrope_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_quartzite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_quartzite_bud.json deleted file mode 100644 index ab08e2d77..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_quartzite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_quartzite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_quartzite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_quartzite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_quartzite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_quartzite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_quartzite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_realgar_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_realgar_bud.json deleted file mode 100644 index 8d21fab02..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_realgar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_realgar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_realgar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_realgar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_realgar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_realgar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_realgar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_red_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_red_garnet_bud.json deleted file mode 100644 index 6cdccda51..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_red_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_red_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_red_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_red_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_red_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_red_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_red_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_ruby_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_ruby_bud.json deleted file mode 100644 index 4d74f1ba7..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_ruby_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_ruby_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_ruby_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_ruby_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_ruby_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_ruby_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_ruby_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_rutile_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_rutile_bud.json deleted file mode 100644 index 29423c38f..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_rutile_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_rutile_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_rutile_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_rutile_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_rutile_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_rutile_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_rutile_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_sapphire_bud.json deleted file mode 100644 index aff2f24b0..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_sodalite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_sodalite_bud.json deleted file mode 100644 index ef6e38afd..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_sodalite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_sodalite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_sodalite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_sodalite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_sodalite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_sodalite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_sodalite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_spessartine_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_spessartine_bud.json deleted file mode 100644 index e9edc0924..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_spessartine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_spessartine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_spessartine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_spessartine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_spessartine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_spessartine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_spessartine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_topaz_bud.json deleted file mode 100644 index b942b36d1..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_uvarovite_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_uvarovite_bud.json deleted file mode 100644 index 3059855a9..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_uvarovite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_uvarovite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_uvarovite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_uvarovite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_uvarovite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_uvarovite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_uvarovite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/medium_yellow_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/medium_yellow_garnet_bud.json deleted file mode 100644 index d641ca937..000000000 --- a/kubejs/assets/tfg/blockstates/buds/medium_yellow_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/medium_yellow_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/medium_yellow_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/medium_yellow_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/medium_yellow_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/medium_yellow_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/medium_yellow_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_almandine_bud.json b/kubejs/assets/tfg/blockstates/buds/small_almandine_bud.json deleted file mode 100644 index a17f6c84d..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_almandine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_almandine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_almandine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_almandine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_almandine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_almandine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_almandine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_andradite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_andradite_bud.json deleted file mode 100644 index aa145d933..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_andradite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_andradite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_andradite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_andradite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_andradite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_andradite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_andradite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_apatite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_apatite_bud.json deleted file mode 100644 index 805eb2700..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_apatite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_apatite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_apatite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_apatite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_apatite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_apatite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_apatite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_blue_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/small_blue_topaz_bud.json deleted file mode 100644 index c567a4657..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_blue_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_blue_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_blue_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_blue_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_blue_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_blue_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_blue_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_cinnabar_bud.json b/kubejs/assets/tfg/blockstates/buds/small_cinnabar_bud.json deleted file mode 100644 index d995c678f..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_cinnabar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_cinnabar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_cinnabar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_cinnabar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_cinnabar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_cinnabar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_cinnabar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_diamond_bud.json b/kubejs/assets/tfg/blockstates/buds/small_diamond_bud.json deleted file mode 100644 index d34b7b7c3..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_diamond_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_diamond_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_diamond_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_diamond_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_diamond_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_diamond_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_diamond_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_emerald_bud.json b/kubejs/assets/tfg/blockstates/buds/small_emerald_bud.json deleted file mode 100644 index a90b4b8b1..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_emerald_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_emerald_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_emerald_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_emerald_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_emerald_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_emerald_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_emerald_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_green_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/small_green_sapphire_bud.json deleted file mode 100644 index 8ef8537ef..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_green_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_green_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_green_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_green_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_green_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_green_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_green_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_grossular_bud.json b/kubejs/assets/tfg/blockstates/buds/small_grossular_bud.json deleted file mode 100644 index 06f5725f8..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_grossular_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_grossular_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_grossular_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_grossular_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_grossular_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_grossular_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_grossular_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_lapis_bud.json b/kubejs/assets/tfg/blockstates/buds/small_lapis_bud.json deleted file mode 100644 index 724061383..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_lapis_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_lapis_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_lapis_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_lapis_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_lapis_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_lapis_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_lapis_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_lazurite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_lazurite_bud.json deleted file mode 100644 index db158a921..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_lazurite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_lazurite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_lazurite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_lazurite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_lazurite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_lazurite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_lazurite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_monazite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_monazite_bud.json deleted file mode 100644 index 65c955785..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_monazite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_monazite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_monazite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_monazite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_monazite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_monazite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_monazite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_nether_quartz_bud.json b/kubejs/assets/tfg/blockstates/buds/small_nether_quartz_bud.json deleted file mode 100644 index 2e614ceb3..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_nether_quartz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_nether_quartz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_nether_quartz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_nether_quartz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_nether_quartz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_nether_quartz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_nether_quartz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_olivine_bud.json b/kubejs/assets/tfg/blockstates/buds/small_olivine_bud.json deleted file mode 100644 index abdcf31a0..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_olivine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_olivine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_olivine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_olivine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_olivine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_olivine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_olivine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_opal_bud.json b/kubejs/assets/tfg/blockstates/buds/small_opal_bud.json deleted file mode 100644 index b5b71861d..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_opal_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_opal_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_opal_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_opal_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_opal_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_opal_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_opal_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_pyrope_bud.json b/kubejs/assets/tfg/blockstates/buds/small_pyrope_bud.json deleted file mode 100644 index add7437b6..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_pyrope_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_pyrope_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_pyrope_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_pyrope_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_pyrope_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_pyrope_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_pyrope_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_quartzite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_quartzite_bud.json deleted file mode 100644 index 7b28c9fe3..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_quartzite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_quartzite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_quartzite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_quartzite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_quartzite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_quartzite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_quartzite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_realgar_bud.json b/kubejs/assets/tfg/blockstates/buds/small_realgar_bud.json deleted file mode 100644 index 1602caeb0..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_realgar_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_realgar_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_realgar_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_realgar_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_realgar_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_realgar_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_realgar_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_red_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/small_red_garnet_bud.json deleted file mode 100644 index 0a3737e1e..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_red_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_red_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_red_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_red_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_red_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_red_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_red_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_ruby_bud.json b/kubejs/assets/tfg/blockstates/buds/small_ruby_bud.json deleted file mode 100644 index c88828b37..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_ruby_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_ruby_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_ruby_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_ruby_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_ruby_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_ruby_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_ruby_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_rutile_bud.json b/kubejs/assets/tfg/blockstates/buds/small_rutile_bud.json deleted file mode 100644 index cbbae86d1..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_rutile_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_rutile_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_rutile_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_rutile_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_rutile_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_rutile_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_rutile_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_sapphire_bud.json b/kubejs/assets/tfg/blockstates/buds/small_sapphire_bud.json deleted file mode 100644 index b0bf13fce..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_sapphire_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_sapphire_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_sapphire_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_sapphire_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_sapphire_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_sapphire_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_sapphire_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_sodalite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_sodalite_bud.json deleted file mode 100644 index a6aece429..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_sodalite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_sodalite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_sodalite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_sodalite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_sodalite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_sodalite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_sodalite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_spessartine_bud.json b/kubejs/assets/tfg/blockstates/buds/small_spessartine_bud.json deleted file mode 100644 index 47fe41bd7..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_spessartine_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_spessartine_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_spessartine_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_spessartine_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_spessartine_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_spessartine_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_spessartine_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_topaz_bud.json b/kubejs/assets/tfg/blockstates/buds/small_topaz_bud.json deleted file mode 100644 index d3864736d..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_topaz_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_topaz_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_topaz_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_topaz_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_topaz_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_topaz_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_topaz_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_uvarovite_bud.json b/kubejs/assets/tfg/blockstates/buds/small_uvarovite_bud.json deleted file mode 100644 index 9aa92e5a6..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_uvarovite_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_uvarovite_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_uvarovite_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_uvarovite_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_uvarovite_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_uvarovite_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_uvarovite_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/buds/small_yellow_garnet_bud.json b/kubejs/assets/tfg/blockstates/buds/small_yellow_garnet_bud.json deleted file mode 100644 index 7fe8403b7..000000000 --- a/kubejs/assets/tfg/blockstates/buds/small_yellow_garnet_bud.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "facing=down": { - "model": "tfg:block/buds/small_yellow_garnet_bud", - "x": 180 - }, - "facing=east": { - "model": "tfg:block/buds/small_yellow_garnet_bud", - "x": 90, - "y": 90 - }, - "facing=north": { - "model": "tfg:block/buds/small_yellow_garnet_bud", - "x": 90 - }, - "facing=south": { - "model": "tfg:block/buds/small_yellow_garnet_bud", - "x": 90, - "y": 180 - }, - "facing=up": { - "model": "tfg:block/buds/small_yellow_garnet_bud" - }, - "facing=west": { - "model": "tfg:block/buds/small_yellow_garnet_bud", - "x": 90, - "y": 270 - } - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/charred_log.json b/kubejs/assets/tfg/blockstates/charred_log.json new file mode 100644 index 000000000..1dfd0654d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/charred_log.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=y": { + "model": "tfg:block/charred_log" + }, + "axis=z": { + "model": "tfg:block/charred_log", + "x": 90 + }, + "axis=x": { + "model": "tfg:block/charred_log", + "x": 90, + "y": 90 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/loose/deepslate.json b/kubejs/assets/tfg/blockstates/loose/deepslate.json new file mode 100644 index 000000000..4a9fa39f0 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/loose/deepslate.json @@ -0,0 +1,55 @@ +{ + "variants": { + "count=1": [ + { + "model": "tfg:block/loose/deepslate_1", + "y": 90 + }, + { + "model": "tfg:block/loose/deepslate_1" + }, + { + "model": "tfg:block/loose/deepslate_1", + "y": 180 + }, + { + "model": "tfg:block/loose/deepslate_1", + "y": 270 + } + ], + "count=2": [ + { + "model": "tfg:block/loose/deepslate_2", + "y": 90 + }, + { + "model": "tfg:block/loose/deepslate_2" + }, + { + "model": "tfg:block/loose/deepslate_2", + "y": 180 + }, + { + "model": "tfg:block/loose/deepslate_2", + "y": 270 + } + ], + "count=3": [ + { + "model": "tfg:block/loose/deepslate_3", + "y": 90 + }, + { + "model": "tfg:block/loose/deepslate_3" + }, + { + "model": "tfg:block/loose/deepslate_3", + "y": 180 + }, + { + "model": "tfg:block/loose/deepslate_3", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/loose/dripstone.json b/kubejs/assets/tfg/blockstates/loose/dripstone.json new file mode 100644 index 000000000..72b9d1188 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/loose/dripstone.json @@ -0,0 +1,55 @@ +{ + "variants": { + "count=1": [ + { + "model": "tfg:block/loose/dripstone_1", + "y": 90 + }, + { + "model": "tfg:block/loose/dripstone_1" + }, + { + "model": "tfg:block/loose/dripstone_1", + "y": 180 + }, + { + "model": "tfg:block/loose/dripstone_1", + "y": 270 + } + ], + "count=2": [ + { + "model": "tfg:block/loose/dripstone_2", + "y": 90 + }, + { + "model": "tfg:block/loose/dripstone_2" + }, + { + "model": "tfg:block/loose/dripstone_2", + "y": 180 + }, + { + "model": "tfg:block/loose/dripstone_2", + "y": 270 + } + ], + "count=3": [ + { + "model": "tfg:block/loose/dripstone_3", + "y": 90 + }, + { + "model": "tfg:block/loose/dripstone_3" + }, + { + "model": "tfg:block/loose/dripstone_3", + "y": 180 + }, + { + "model": "tfg:block/loose/dripstone_3", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/mushroom_roots.json b/kubejs/assets/tfg/blockstates/mushroom_roots.json new file mode 100644 index 000000000..159eb8cfc --- /dev/null +++ b/kubejs/assets/tfg/blockstates/mushroom_roots.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/mushroom_roots" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/mushroom_sprouts.json b/kubejs/assets/tfg/blockstates/mushroom_sprouts.json new file mode 100644 index 000000000..207c44b1e --- /dev/null +++ b/kubejs/assets/tfg/blockstates/mushroom_sprouts.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/mushroom_sprouts" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json b/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json new file mode 100644 index 000000000..0153cfc28 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/hardened_blackstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json b/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json new file mode 100644 index 000000000..779a6b7dc --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/hardened_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json new file mode 100644 index 000000000..385621096 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/hardened_dripstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/spike/blackstone_spike.json b/kubejs/assets/tfg/blockstates/spike/blackstone_spike.json new file mode 100644 index 000000000..ceb70d3bc --- /dev/null +++ b/kubejs/assets/tfg/blockstates/spike/blackstone_spike.json @@ -0,0 +1,13 @@ +{ + "variants": { + "part=base": { + "model": "tfg:block/spike/blackstone_base" + }, + "part=middle": { + "model": "tfg:block/spike/blackstone_middle" + }, + "part=tip": { + "model": "tfg:block/spike/blackstone_tip" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/spike/deepslate_spike.json b/kubejs/assets/tfg/blockstates/spike/deepslate_spike.json new file mode 100644 index 000000000..8a2c2fb53 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/spike/deepslate_spike.json @@ -0,0 +1,13 @@ +{ + "variants": { + "part=base": { + "model": "tfg:block/spike/deepslate_base" + }, + "part=middle": { + "model": "tfg:block/spike/deepslate_middle" + }, + "part=tip": { + "model": "tfg:block/spike/deepslate_tip" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/spike/dripstone_spike.json b/kubejs/assets/tfg/blockstates/spike/dripstone_spike.json new file mode 100644 index 000000000..c1b9a82b3 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/spike/dripstone_spike.json @@ -0,0 +1,13 @@ +{ + "variants": { + "part=base": { + "model": "tfg:block/spike/dripstone_base" + }, + "part=middle": { + "model": "tfg:block/spike/dripstone_middle" + }, + "part=tip": { + "model": "tfg:block/spike/dripstone_tip" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 95e5e214e..2471c28ca 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1,218 +1,1812 @@ { - "material.tfg.latex": "Latex", - "material.tfg.fluix": "Fluix", - - "material.gtceu.thermochemically_treated_hardwood": "Thermochemically Treated Hardwood", - "material.gtceu.hardwood": "Hardwood", - "item.tfg.hardwood_strip": "Hardwood Strip", - "item.tfg.soaked_hardwood_strip": "Soaked Hardwood Strip", - - "item.tfg.spade_head_extruder_mold": "Extruder Mold (Spade Head)", - - "quests.naming-1": "t - Title", - "quests.naming-2": "st - Subtitle", - "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", - "quests.naming-4": "t* - Task, where * task number, for example: t1, t2, t3, t4...", - - "quests.76EF4D00586A8B74.t": "&aTerraFirmaGreg Modpack!", - "quests.76EF4D00586A8B74.st": "Thank you for choosing our modpack!", - "quests.76EF4D00586A8B74.d1": "The fun starts right now! May this world be blessed with your existence!", - - "quests.387DEEADF4922AB3.t": "Ore generation in the TFG world", - "quests.387DEEADF4922AB3.st": "Much more fun than vanilla", - "quests.387DEEADF4922AB3.d1": "In TerraFirmaGreg ore is generated more interestingly than anywhere else. \n1. Each ore appears in its own rock. TFC adds many different rocks to the world, that is, you won’t find a regular vanilla stone anywhere, so ores, like in real life, are generated only in certain rocks. \n2. There are several types of ore veins, such as: cluster, sphere, pipe and a few rare others that we will not talk about. \n3. To make life easier for players, ore indicators appear on the surface, under which in most cases the ore vein itself is located. \nTFG contains a small Wiki for this in an Excel spreadsheet. In order to follow the link, complete the task, then pick up the reward and a button will appear in the chat when you click on it, which will transfer you to an Excel table with ore generation.", - - "quests.63E6C5684E12828C.st": "You need to drink water in order not to die, try to find a river or lake with ordinary water!", - "quests.63E6C5684E12828C.d1": "Use the right mouse button to drink some water. \nCareful! If you drink salt water you will experience increased thirst and will most likely die.", - "quests.63E6C5684E12828C.t1": "Look at regular water (not salty or hot).", - - "quests.6D43C29AC049341D.t": "How to create a team?", - "quests.6D43C29AC049341D.st": "Do you play with friends? Surprising...", - "quests.6D43C29AC049341D.d1": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team, use the §aCreate a team§r button, then give it a name and possibly some other parameters, after successful creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner, in the future your quests will be synchronized and any team member will be able to complete them. Good luck!", - "quests.6D43C29AC049341D.t1": "Click here to complete the quest", - - "quests.0B42D4AE2AC67F93.t": "How to capture territory?", - "quests.0B42D4AE2AC67F93.st": "Or how to load chunks in your territory", - "quests.0B42D4AE2AC67F93.d1": "You can private the chunks you want if you play on a server, for example. How to do it? Use the button to open the mini-map, then select the chunks that you want to capture, then by clicking on the right mouse button, select §aCapture territory§r from the list, it seems to be the third item from the bottom, voila, you have captured the territory. Attention: your teammates will be able to break blocks in your region, which is logical.", - "quests.0B42D4AE2AC67F93.t1": "Click here to complete the quest", - - "quests.2672C65095539E23.t": "How to get crushed ore without a crusher?", - "quests.2672C65095539E23.st": "It's actually very simple.", - "quests.2672C65095539E23.d1": "Simply break a block of ore with a hammer (sledgehammer) and you will immediately receive crushed ore, which can be crushed by hand into powders such as graphite or sulfur.", - "quests.2672C65095539E23.t1": "Click here to complete the quest", - - "quests.3D7B0F3134C30364.t": "Important information about quests!", - "quests.3D7B0F3134C30364.d1": "The quests are still in development, more descriptions and more will be added in the future. You can partially use the TFC book to find the information you need. &cFull quests in each branch with translation will appear in update 1.0.0, since now the developers have very little time.", - "quests.3D7B0F3134C30364.t1": "Click here to complete the quest", - - "quests.7196BB6BDBAE7B51.st": "Food is very important in this world!", - "quests.7196BB6BDBAE7B51.d1": "Try to kill some animal and get some meat from it. Eating raw meat is a bad idea, so try roasting it over a fire.", - "quests.7196BB6BDBAE7B51.t1": "Get any raw meat", - - "quests.557D3A67A36DF9D8.st": "Cook the meat over the fire!", - "quests.557D3A67A36DF9D8.d1": "Congratulations, you have cooked the meat and are now safe to eat.", - "quests.557D3A67A36DF9D8.t1": "Get any fried meat", - - "quests.682B58EC2D39F1A1.st": "A fire, but not an ordinary one", - "quests.682B58EC2D39F1A1.d1": "Throw 3 sticks and 1 log onto the block, then move the mouse cursor over this block and use a primitive lighter (Just hold down the right mouse button as if you were aiming with a bow), it may not work the first time. After success, a fire will appear in place of the discarded 3 sticks and 1 log, into which you need to throw logs so that the fire continues to burn. To increase the chance of creating a fire, you can add to the existing sticks and logs: paper, straw and other flammable items, +10% for each item.", - "quests.682B58EC2D39F1A1.t1": "Make a fire", - - "quests.6D940527BFF1D4C0.t": "Primitive lighting", - "quests.6D940527BFF1D4C0.st": "Are they going out? Yes! They may go out, I'm shocked myself!", - "quests.6D940527BFF1D4C0.d1": "You will be surprised, but the torches are not endless in TFC. They will burn for about 2 game days, after which they will go out. But don’t worry, they don’t go out in your hands or inventory, so you can carry 1 torch with you and when others in your house go out, just use the right mouse button on them with a torch from your inventory, it will set fire to already extinguished torches.", - - "quests.3B3BA51C8CAEFC7F.t": "Primitive lighter", - "quests.3B3BA51C8CAEFC7F.st": "People in ancient times lit fires using such a thing, or maybe not, how should I know?", - "quests.3B3BA51C8CAEFC7F.d1": "This thing will allow you to start a fire, or set fire to anything, just move the mouse cursor over any block, then press and hold the right mouse button, after maximum tension, release, with a 50% chance the block you were looking at will be set on fire. How to make a fire using a primitive lighter in the next quest.", - - "quests.365F6F48E0BB2EFC.t": "ROCK AND STONE!", - "quests.365F6F48E0BB2EFC.st": "Collect some stones and sticks for future development", - "quests.365F6F48E0BB2EFC.d1": "When entering the world, the first thing you encounter is a completely changed world. The main items at the start are sticks and pebbles, which lie on the ground and appear in any biome, they are also updated every season, that is, after winter, sticks and pebbles are regenerated on the ground. Collect several using RMB and proceed to the next one. step. \n\nTake 2 or more stones into your hand, then click the right mouse button, then a menu will open in which you can make headbands for stone tools, all recipes can be viewed in EMI or simply by clicking on the icon of the stone headband item in the quest. Then connect the headband with a stick and get a real aboriginal tool. \n\nNow you are a smart monkey!", - "quests.365F6F48E0BB2EFC.t1": "Find any sticks", - "quests.365F6F48E0BB2EFC.t2": "Find any pebbles", - - "quests.508DA76FA2766B7B.st": "This is not a rocket launcher!", - "quests.508DA76FA2766B7B.d1": "Spears work on a similar principle to the trident from vanilla Minecraft, just hold down the right mouse button and aim, then release and your trident will fly where you were looking.", - "quests.508DA76FA2766B7B.t1": "Craft any stone spear", - - "quests.318BF1F671BC4620.st": "Thank you for not being diamond...", - "quests.318BF1F671BC4620.d1": "Hoes are used for digging up beds and planting plants. Interesting fact: in TFC you can dig up beds even far from water, the main thing is that when you hover, look at the tooltip (the panel at the top), it will display the amount of water saturation of the bed. Next, select seeds collected in a world with suitable climatic conditions (including the humidity of the bed), plant them and wait.", - - "quests.36A9E5CD45A79288.st": "Realistic", - "quests.36A9E5CD45A79288.d1": "Using the right mouse button with a hoe in your hand, plow the ground, seriously, it's very easy, try it.", - "quests.36A9E5CD45A79288.t1": "Plow the ground", - - "quests.5C396041880D32FF.st": "Looks promising", - "quests.5C396041880D32FF.d1": "While exploring the world you can find wild plants, collect them with a knife or hand, this way you will get seeds and the plant itself.", - "quests.5C396041880D32FF.t1": "Find any seeds", - - "quests.4CF472C9778068D6.t": "Harvest your first harvest", - "quests.4CF472C9778068D6.st": "Is it edible?", - "quests.4CF472C9778068D6.d1": "Not sure. \n\nAttention! Plants grow for a very long time and they are also very picky about their growth conditions; be sure to check the conditions in which a particular plant grows before planting it, otherwise it will turn into a dead bush.", - "quests.4CF472C9778068D6.t1": "Click here to complete the quest", - - "quests.2BFC2744E4DE4B5A.st": "Don't cut down a tree with your hand, it's wrong!", - "quests.2BFC2744E4DE4B5A.d1": "Axes are used to chop wood, and indeed anything wooden, because in TFC you cannot break a tree with your hand.", - - "quests.716B407EEED8BE95.st": "Thanks for digging", - "quests.716B407EEED8BE95.d1": "Shovels are used to create paths and dig up dirt, sand and possibly something else!", - - "quests.06C7B7138EDE4B38.st": "Your best friend", - "quests.06C7B7138EDE4B38.d1": "Knives are a very important tool in TFC, they allow you to cut grass and get straw, you can use it to make a fire pit and fry metals and clay molds, but more on that later in the quests.", - - "quests.45D907EF7902A200.st": "Needed to create a shelter or roasting pit", - "quests.45D907EF7902A200.d1": "An important item in the initial stages of development, you will need a lot of it, I suggest collecting about 3 stacks.", - - "quests.27DA5AAB102611A2.st": "A cute hat that will save you from the heat and scorching sun", - - "quests.30AE1FF285B64716.st": "This is a sheaf of straw, you can build a cute house out of it", - - "quests.0ED8BE436A0ECDDB.st": "This is a sheaf of hay, you can make beautiful decorations from it", - "quests.0ED8BE436A0ECDDB.d1": "Indeed, this block is just decorative, do not try to feed it to the horse.", - - "quests.69D20168E26BBF59.st": "Realism", - "quests.69D20168E26BBF59.d1": "First, dig 1 block in the ground, or any other surface, then use the V key to place the things you want to fry in the hole. If we are talking about forms, there are 4 of them. Next, take Hay in your hand and right-click into the hole, the hay will begin to fill the hole, you need to use 8 hay, then add 8 logs in the same way, then you can safely set fire to this thing using a primitive flint or torch (just throw a torch on top of your hole and it will start to flare up). Then you must wait for the firing to finish and then take out your finished objects. Metal melting in containers occurs in the same way. That is, you put pieces of copper in a vessel and in this very pit, after the process described above you will get molten copper, which you can cast into ingots, headbands, and so on.", - "quests.69D20168E26BBF59.t1": "Create a roasting pit", - - "quests.373FD04AD6CA9F92.t": "New or old tree", - "quests.373FD04AD6CA9F92.st": "Use an ax to collect some wood, I would like to remind you that logs cannot be obtained by hand", - "quests.373FD04AD6CA9F92.t1": "Get any tree", - - "quests.5DB0CA9F9724D301.t": "Coal pits", - "quests.5DB0CA9F9724D301.st": "Get your first coal! Wait, why is it needed?", - "quests.5DB0CA9F9724D301.d1": "To create a charcoal pit you will need lots and lots of wood. First, dig a hole 1 block deep (you can go deeper if the amount of wood allows).", - "quests.5DB0CA9F9724D301.d2": "Afterwards, using Shift + RMB, click on any block in the hole, you will have an armful of logs, you can fill it by right-clicking with a log in your hand on the armful, or simply open the interface and fill it manually. The amount of coal subsequently obtained depends on the number of trees in the armful.", - "quests.5DB0CA9F9724D301.d3": "Next, cover it all with a non-flammable block, stone or earth, leave one block open and set it on fire using a discarded torch or a primitive igniter.", - "quests.5DB0CA9F9724D301.d4": "Now your pile of earth has started to smoke, cover the last block that you set on fire again with a non-combustible block and wait, as soon as the pile stops smoking, dig it up and get coal.", - - "quests.478D0DF94D7495EF.st": "Is it really simple or not?", - "quests.478D0DF94D7495EF.d1": "The glass casting process is shown in the TFC guide book, which you can find in the inventory on the right side, but for glass blocks, or rather for their casting, brass blocks are used, in TerraFirmaGreg for this you can use brass blocks from GTCEu or kaolinite clay blocks, Good luck! :)", - "quests.478D0DF94D7495EF.t1": "Cast any block of glass", - - "quests..t": "", - "quests..st": "", - "quests..d1": "", - "quests..t1": "", - - "block.tfg.buds.large_ruby_bud": "Large Ruby Bud", - "block.tfg.buds.medium_ruby_bud": "Medium Ruby Bud", - "block.tfg.buds.small_ruby_bud": "Small Ruby Bud", - "block.tfg.buds.large_almandine_bud": "Large Almandine Bud", - "block.tfg.buds.medium_almandine_bud": "Medium Almandine Bud", - "block.tfg.buds.small_almandine_bud": "Small Almandine Bud", - "block.tfg.buds.large_andradite_bud": "Large Andradite Bud", - "block.tfg.buds.medium_andradite_bud": "Medium Andradite Bud", - "block.tfg.buds.small_andradite_bud": "Small Andradite Bud", - "block.tfg.buds.large_blue_topaz_bud": "Large Blue Topaz Bud", - "block.tfg.buds.medium_blue_topaz_bud": "Medium Blue Topaz Bud", - "block.tfg.buds.small_blue_topaz_bud": "Small Blue Topaz Bud", - "block.tfg.buds.large_cinnabar_bud": "Large Cinnabar Bud", - "block.tfg.buds.medium_cinnabar_bud": "Medium Cinnabar Bud", - "block.tfg.buds.small_cinnabar_bud": "Small Cinnabar Bud", - "block.tfg.buds.large_diamond_bud": "Large Diamond Bud", - "block.tfg.buds.medium_diamond_bud": "Medium Diamond Bud", - "block.tfg.buds.small_diamond_bud": "Small Diamond Bud", - "block.tfg.buds.large_emerald_bud": "Large Emerald Bud", - "block.tfg.buds.medium_emerald_bud": "Medium Emerald Bud", - "block.tfg.buds.small_emerald_bud": "Small Emerald Bud", - "block.tfg.buds.large_green_sapphire_bud": "Large Green Sapphire Bud", - "block.tfg.buds.medium_green_sapphire_bud": "Medium Green Sapphire Bud", - "block.tfg.buds.small_green_sapphire_bud": "Small Green Sapphire Bud", - "block.tfg.buds.large_grossular_bud": "Large Grossular Bud", - "block.tfg.buds.medium_grossular_bud": "Medium Grossular Bud", - "block.tfg.buds.small_grossular_bud": "Small Grossular Bud", - "block.tfg.buds.large_rutile_bud": "Large Rutile Bud", - "block.tfg.buds.medium_rutile_bud": "Medium Rutile Bud", - "block.tfg.buds.small_rutile_bud": "Small Rutile Bud", - "block.tfg.buds.large_lazurite_bud": "Large Lazurite Bud", - "block.tfg.buds.medium_lazurite_bud": "Medium Lazurite Bud", - "block.tfg.buds.small_lazurite_bud": "Small Lazurite Bud", - "block.tfg.buds.large_pyrope_bud": "Large Pyrope Bud", - "block.tfg.buds.medium_pyrope_bud": "Medium Pyrope Bud", - "block.tfg.buds.small_pyrope_bud": "Small Pyrope Bud", - "block.tfg.buds.large_sapphire_bud": "Large Sapphire Bud", - "block.tfg.buds.medium_sapphire_bud": "Medium Sapphire Bud", - "block.tfg.buds.small_sapphire_bud": "Small Sapphire Bud", - "block.tfg.buds.large_sodalite_bud": "Large Sodalite Bud", - "block.tfg.buds.medium_sodalite_bud": "Medium Sodalite Bud", - "block.tfg.buds.small_sodalite_bud": "Small Sodalite Bud", - "block.tfg.buds.large_spessartine_bud": "Large Spessartine Bud", - "block.tfg.buds.medium_spessartine_bud": "Medium Spessartine Bud", - "block.tfg.buds.small_spessartine_bud": "Small Spessartine Bud", - "block.tfg.buds.large_topaz_bud": "Large Topaz Bud", - "block.tfg.buds.medium_topaz_bud": "Medium Topaz Bud", - "block.tfg.buds.small_topaz_bud": "Small Topaz Bud", - "block.tfg.buds.large_uvarovite_bud": "Large Uvarovite Bud", - "block.tfg.buds.medium_uvarovite_bud": "Medium Uvarovite Bud", - "block.tfg.buds.small_uvarovite_bud": "Small Uvarovite Bud", - "block.tfg.buds.large_nether_quartz_bud": "Large Nether Quartz Bud", - "block.tfg.buds.medium_nether_quartz_bud": "Medium Nether Quartz Bud", - "block.tfg.buds.small_nether_quartz_bud": "Small Nether Quartz Bud", - "block.tfg.buds.large_quartzite_bud": "Large Quartzite Bud", - "block.tfg.buds.medium_quartzite_bud": "Medium Quartzite Bud", - "block.tfg.buds.small_quartzite_bud": "Small Quartzite Bud", - "block.tfg.buds.large_realgar_bud": "Large Realgar Bud", - "block.tfg.buds.medium_realgar_bud": "Medium Realgar Bud", - "block.tfg.buds.small_realgar_bud": "Small Realgar Bud", - "block.tfg.buds.large_olivine_bud": "Large Olivine Bud", - "block.tfg.buds.medium_olivine_bud": "Medium Olivine Bud", - "block.tfg.buds.small_olivine_bud": "Small Olivine Bud", - "block.tfg.buds.large_opal_bud": "Large Opal Bud", - "block.tfg.buds.medium_opal_bud": "Medium Opal Bud", - "block.tfg.buds.small_opal_bud": "Small Opal Bud", - "block.tfg.buds.large_lapis_bud": "Large Lapis Bud", - "block.tfg.buds.medium_lapis_bud": "Medium Lapis Bud", - "block.tfg.buds.small_lapis_bud": "Small Lapis Bud", - "block.tfg.buds.large_apatite_bud": "Large Apatite Bud", - "block.tfg.buds.medium_apatite_bud": "Medium Apatite Bud", - "block.tfg.buds.small_apatite_bud": "Small Apatite Bud", - "block.tfg.buds.large_red_garnet_bud": "Large Red Garnet Bud", - "block.tfg.buds.medium_red_garnet_bud": "Medium Red Garnet Bud", - "block.tfg.buds.small_red_garnet_bud": "Small Red Garnet Bud", - "block.tfg.buds.large_yellow_garnet_bud": "Large Yellow Garnet Bud", - "block.tfg.buds.medium_yellow_garnet_bud": "Medium Yellow Garnet Bud", - "block.tfg.buds.small_yellow_garnet_bud": "Small Yellow Garnet Bud", - "block.tfg.buds.large_monazite_bud": "Large Monazite Bud", - "block.tfg.buds.medium_monazite_bud": "Medium Monazite Bud", - "block.tfg.buds.small_monazite_bud": "Small Monazite Bud" -} + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "biome.tfg.nether/basalt_deltas": "Basalt Deltas", + "biome.tfg.nether/decaying_caverns": "Decaying Caverns", + "biome.tfg.nether/lush_hollow": "Lush Hollow", + "biome.tfg.nether/webbed_lair": "Webbed Lair", + "biome.tfg.nether/ash_forest": "Ash Forest", + "biome.tfg.nether/lava_floes": "Lava Floes", + "biome.tfg.nether/diorite_caves": "Deep Caves", + "biome.tfg.nether/gabbro_caves": "Deep Caves", + "biome.tfg.nether/gneiss_caves": "Deep Caves", + "biome.tfg.nether/granite_caves": "Deep Caves", + "biome.tfg.nether/schist_caves": "Deep Caves", + "block.tfg.decorative_vase.black": "Black Decorative Vase", + "block.tfg.decorative_vase.gray": "Gray Decorative Vase", + "block.tfg.decorative_vase.light_gray": "Light Gray Decorative Vase", + "block.tfg.decorative_vase.white": "White Decorative Vase", + "block.tfg.decorative_vase.pink": "Pink Decorative Vase", + "block.tfg.decorative_vase.magenta": "Magenta Decorative Vase", + "block.tfg.decorative_vase.purple": "Purple Decorative Vase", + "block.tfg.decorative_vase.blue": "Blue Decorative Vase", + "block.tfg.decorative_vase.light_blue": "Light Blue Decorative Vase", + "block.tfg.decorative_vase.cyan": "Cyan Decorative Vase", + "block.tfg.decorative_vase.green": "Green Decorative Vase", + "block.tfg.decorative_vase.lime": "Lime Decorative Vase", + "block.tfg.decorative_vase.yellow": "Yellow Decorative Vase", + "block.tfg.decorative_vase.orange": "Orange Decorative Vase", + "block.tfg.decorative_vase.red": "Red Decorative Vase", + "block.tfg.decorative_vase.brown": "Brown Decorative Vase", + "block.tfg.decorative_vase.unfired": "Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.black": "Black Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.gray": "Gray Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.light_gray": "Light Gray Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.white": "White Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.pink": "Pink Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.magenta": "Magenta Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.purple": "Purple Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.blue": "Blue Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.light_blue": "Light Blue Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.cyan": "Cyan Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.green": "Green Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.lime": "Lime Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.yellow": "Yellow Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.orange": "Orange Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.red": "Red Unfired Decorative Vase", + "block.tfg.decorative_vase.unfired.brown": "Brown Unfired Decorative Vase", + "block.tfg.decorative_vase.generated.black": "Black Loot Vase", + "block.tfg.decorative_vase.generated.gray": "Gray Loot Vase", + "block.tfg.decorative_vase.generated.light_gray": "Light Gray Loot Vase", + "block.tfg.decorative_vase.generated.white": "White Loot Vase", + "block.tfg.decorative_vase.generated.pink": "Pink Loot Vase", + "block.tfg.decorative_vase.generated.magenta": "Magenta Loot Vase", + "block.tfg.decorative_vase.generated.purple": "Purple Loot Vase", + "block.tfg.decorative_vase.generated.blue": "Blue Loot Vase", + "block.tfg.decorative_vase.generated.light_blue": "Light Blue Loot Vase", + "block.tfg.decorative_vase.generated.cyan": "Cyan Loot Vase", + "block.tfg.decorative_vase.generated.green": "Green Loot Vase", + "block.tfg.decorative_vase.generated.lime": "Lime Loot Vase", + "block.tfg.decorative_vase.generated.yellow": "Yellow Loot Vase", + "block.tfg.decorative_vase.generated.orange": "Orange Loot Vase", + "block.tfg.decorative_vase.generated.red": "Red Loot Vase", + "block.tfg.decorative_vase.generated.brown": "Brown Loot Vase", + "block.tfg.rock.hardened_deepslate": "Hardened Migmatite", + "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", + "block.tfg.rock.hardened_dripstone": "Hardened Travertine", + "block.tfg.spike.deepslate_spike": "Migmatite Spike", + "block.tfg.spike.blackstone_spike": "Pyroxenite Spike", + "block.tfg.spike.dripstone_spike": "Travertine Spike", + + "block.tfg.light_concrete_support": "Light Concrete Support", + "block.tfg.light_concrete_support_horizontal": "Light Concrete Horizontal Support", + "block.tfg.dark_concrete_support": "Dark Concrete Support", + "block.tfg.dark_concrete_support_horizontal": "Dark Concrete Horizontal Support", + "block.tfg.reinforced_light_concrete_support": "Reinforced Light Concrete Support", + "block.tfg.reinforced_light_concrete_support_horizontal": "Reinforced Light Concrete Horizontal Support", + "block.tfg.reinforced_dark_concrete_support": "Reinforced Dark Concrete Support", + "block.tfg.reinforced_dark_concrete_support_horizontal": "Reinforced Dark Concrete Horizontal Support", + "block.tfg.rebar_support": "Rebar Support", + "block.tfg.rebar_support_horizontal": "Rebar Horizontal Support", + "block.tfg.steel_support": "Steel Support", + "block.tfg.steel_support_horizontal": "Steel Horizontal Support", + "block.tfg.gabbro_support_horizontal": "Gabbro Horizontal Support", + "block.tfg.gabbro_support": "Gabbro Support", + "block.tfg.shale_support_horizontal": "Shale Horizontal Support", + "block.tfg.shale_support": "Shale Support", + "block.tfg.claystone_support_horizontal": "Claystone Horizontal Support", + "block.tfg.claystone_support": "Claystone Support", + "block.tfg.limestone_support_horizontal": "Limestone Horizontal Support", + "block.tfg.limestone_support": "Limestone Support", + "block.tfg.conglomerate_support_horizontal": "Conglomerate Horizontal Support", + "block.tfg.conglomerate_support": "Conglomerate Support", + "block.tfg.dolomite_support_horizontal": "Dolomite Horizontal Support", + "block.tfg.Dolomite_support": "Dolomite Support", + "block.tfg.chert_support_horizontal": "Chert Horizontal Support", + "block.tfg.chert_support": "Chert Support", + "block.tfg.chalk_support_horizontal": "Chalk Horizontal Support", + "block.tfg.chalk_support": "Chalk Support", + "block.tfg.rhyolite_support_horizontal": "Rhyolite Horizontal Support", + "block.tfg.rhyolite_support": "Rhyolite Support", + "block.tfg.dacite_support_horizontal": "Dacite Horizontal Support", + "block.tfg.dacite_support": "Dacite Support", + "block.tfg.quartzite_support_horizontal": "Quartzite Horizontal Support", + "block.tfg.quartzite_support": "Quartzite Support", + "block.tfg.slate_support_horizontal": "Slate Horizontal Support", + "block.tfg.slate_support": "Slate Support", + "block.tfg.phyllite_support_horizontal": "Phyllite Horizontal Support", + "block.tfg.phyllite_support": "Phyllite Support", + "block.tfg.schist_support_horizontal": "Schist Horizontal Support", + "block.tfg.schist_support": "Schist Support", + "block.tfg.gneiss_support_horizontal": "Gneiss Horizontal Support", + "block.tfg.gneiss_support": "Gneiss Support", + "block.tfg.marble_support_horizontal": "Marble Horizontal Support", + "block.tfg.marble_support": "Marble Support", + "block.tfg.basalt_support_horizontal": "Basalt Horizontal Support", + "block.tfg.basalt_support": "Basalt Support", + "block.tfg.diorite_support_horizontal": "Diorite Horizontal Support", + "block.tfg.diorite_support": "Diorite Support", + "block.tfg.andesite_support_horizontal": "Andesite Horizontal Support", + "block.tfg.andesite_support": "Andesite Support", + "block.tfg.granite_support_horizontal": "Granite Horizontal Support", + "block.tfg.granite_support": "Granite Support", + "block.tfg.pyroxenite_support_horizontal": "Pyroxenite Horizontal Support", + "block.tfg.pyroxenite_support": "Pyroxenite Support", + "block.tfg.migmatite_support_horizontal": "Migmatite Horizontal Support", + "block.tfg.migmatite_support": "Migmatite Support", + "block.tfg.travertine_support_horizontal": "Travertine Horizontal Support", + "block.tfg.travertine_support": "Travertine Support", + + "block.tfg.loose.deepslate": "Loose Migmatite", + "block.tfg.loose.dripstone": "Loose Travertine", + + "item.tfg.antipoison_pill": "Antipoison Pill", + "item.tfg.haste_pill": "Haste Pill", + "item.tfg.night_vision_pill": "Night Vision Pill", + "item.tfg.poison_pill": "Poison Pill", + "item.tfg.regeneration_pill": "Regeneration Pill", + "item.tfg.slowness_pill": "Slowness Pill", + "item.tfg.speed_pill": "Speed Pill", + "item.tfg.water_breathing_pill": "Water Breathing Pill", + "item.tfg.weakness_pill": "Weakness Pill", + "item.tfg.antipoison_tablet": "Antipoison Tablet", + "item.tfg.haste_tablet": "Haste Tablet", + "item.tfg.night_vision_tablet": "Night Vision Tablet", + "item.tfg.poison_tablet": "Poison Tablet", + "item.tfg.regeneration_tablet": "Regeneration Tablet", + "item.tfg.slowness_tablet": "Slowness Tablet", + "item.tfg.speed_tablet": "Speed Tablet", + "item.tfg.water_breathing_tablet": "Water Breathing Tablet", + "item.tfg.weakness_tablet": "Weakness Tablet", + "item.tfg.absorption_salvo": "Absorption Salvo", + "item.tfg.fire_resistance_salvo": "Fire Resistance Salvo", + "item.tfg.instant_health_salvo": "Instant Health Salvo", + "item.tfg.invisibility_salvo": "Invisibility Salvo", + "item.tfg.luck_salvo": "Luck Salvo", + "item.tfg.resistance_salvo": "Resistance Salvo", + "item.tfg.paraffin_wax": "Paraffin Wax", + "item.tfg.conifer_rosin": "Conifer Rosin", + "item.tfg.hardwood_strip": "Hardwood Strip", + "item.tfg.soaked_hardwood_strip": "Soaked Hardwood Strip", + "item.tfg.prepared_leather_gloves": "Prepared Leather Gloves", + "item.tfg.latex_soaked_gloves": "Latex-Soaked Gloves", + "item.tfg.spade_head_extruder_mold": "Extruder Mold (Spade Head)", + "item.tfg.unfired_chalk": "Unfired Chalk Stick", + "item.tfg.brick.deepslate": "Migmatite Brick", + "item.tfg.terra_firma_greg": "TerraFirmaGreg", + "item.tfg.scaffolding_frame": "Scaffolding Frame", + "item.tfg.airship_hull": "Airship Hull", + "item.tfg.airship_balloon": "Airship Balloon", + "item.tfg.lv_aircraft_engine": "LV Aircraft Engine", + "item.tfg.hv_aircraft_engine": "HV Aircraft Engine", + "item.tfg.ev_aircraft_engine": "EV Aircraft Engine", + "item.tfg.black_steel_plated_airplane_propeller": "Black Steel Plated Airplane Propeller", + "item.tfg.redblu_steel_plated_airplane_propeller": "Red & Blue Steel Plated Airplane Propeller", + "item.tfg.stainless_steel_plated_airplane_propeller": "Stainless Steel Plated Airplane Propeller", + "item.tfg.titanium_plated_airplane_propeller": "Titanium Plated Airplane Propeller", + "item.tfg.redblu_steel_landing_gear": "Red & Blue Steel Landing Gear", + "item.tfg.aluminium_landing_gear": "Aluminium Landing Gear", + "item.tfg.stainless_steel_landing_gear": "Stainless Steel Landing Gear", + "item.tfg.titanium_landing_gear": "Titanium Landing Gear", + "item.tfg.redblu_steel_hull_reinforcement": "Red & Blue Steel Hull Reinforcement", + "item.tfg.aluminium_hull_reinforcement": "Aluminium Hull Reinforcement", + "item.tfg.stainless_steel_hull_reinforcement": "Stainless Steel Hull Reinforcement", + "item.tfg.titanium_hull_reinforcement": "Titanium Hull Reinforcement", + "material.tfg.latex": "Latex", + "material.tfg.vulcanized_latex": "Vulcanized Latex", + "material.tfg.fluix": "Fluix", + "material.tfg.conifer_pitch": "Conifer Pitch", + "material.gtceu.lactose": "Lactose", + "material.tfg.gabbro": "Gabbro", + "material.tfg.shale": "Shale", + "material.tfg.claystone": "Claystone", + "material.tfg.limestone": "Limestone", + "material.tfg.conglomerate": "Conglomerate", + "material.tfg.dolomite": "Dolomite", + "material.tfg.chert": "Chert", + "material.tfg.rhyolite": "Rhyolite", + "material.tfg.dacite": "Dacite", + "material.tfg.slate": "Slate", + "material.tfg.phyllite": "Phyllite", + "material.tfg.schist": "Schist", + "material.tfg.gneiss": "Gneiss", + "material.tfg.chalk": "Chalk", + "material.gtceu.thermochemically_treated_hardwood": "Thermochemically Treated Hardwood", + "material.gtceu.hardwood": "Hardwood", + "tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up", + "item.treetap.tap": "Deprecated Item, Craft to Upgrade", + "item.gtceu.zinc_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.brass_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.vanadium_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.black_steel_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.red_steel_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.blue_steel_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.iron_double_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.black_steel_double_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.red_steel_double_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.blue_steel_double_ingot": "Deprecated Item, Craft to Upgrade", + "item.gtceu.zinc_nugget": "Deprecated Item, Craft to Upgrade", + "item.gtceu.brass_nugget": "Deprecated Item, Craft to Upgrade", + "item.gtceu.copper_nugget": "Deprecated Item, Craft to Upgrade", + "item.gtceu.vanadium_nugget": "Deprecated Item, Craft to Upgrade", + "item.gtceu.copper_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.brass_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.gold_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.iron_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.cobalt_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.rose_gold_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.aluminium_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.invar_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.lead_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.nickel_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.osmium_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.palladium_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.platinum_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.rhodium_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.silver_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.vanadium_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.zinc_plate": "Deprecated Item, Craft to Upgrade", + "item.gtceu.vanadium_block": "Deprecated Item, Craft to Upgrade", + "item.gtceu.zinc_block": "Deprecated Item, Craft to Upgrade", + "item.gtceu.brass_block": "Deprecated Item, Craft to Upgrade", + "item.gtceu.gold_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.gtceu.copper_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.gtceu.zinc_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.gtceu.silver_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.gtceu.tin_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.gtceu.lead_purified_ore": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_copper": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_copper": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_gold": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_gold": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_tetrahedrite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_tetrahedrite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_tetrahedrite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_malachite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_malachite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_malachite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_hematite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_hematite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_hematite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_cassiterite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_cassiterite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_cassiterite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_bismuth": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_bismuth": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_bismuth": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_magnetite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_magnetite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_magnetite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_yellow_limonite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_yellow_limonite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_yellow_limonite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_silver": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_silver": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_silver": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_garnierite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_garnierite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_garnierite": "Deprecated Item, Craft to Upgrade", + "gtceu:rich_raw_sphalerite": "Deprecated Item, Craft to Upgrade", + "gtceu:raw_sphalerite": "Deprecated Item, Craft to Upgrade", + "gtceu:poor_raw_sphalerite": "Deprecated Item, Craft to Upgrade", + "quests.naming-1": "t - Title", + "quests.naming-2": "st - Subtitle", + "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", + "quests.naming-4": "t* - Task, where * task number, for example: t1, t2, t3, t4...", + "quests.76EF4D00586A8B74.t": "&aTerraFirmaGreg Modpack!", + "quests.76EF4D00586A8B74.st": "Thank you for choosing our modpack!", + "quests.76EF4D00586A8B74.d1": "The fun starts right now! May this world be blessed with your existence!", + "quests.387DEEADF4922AB3.t": "Ore generation in the TFG world", + "quests.387DEEADF4922AB3.st": "Much more fun than vanilla", + "quests.387DEEADF4922AB3.d1": "In TerraFirmaGreg ore is generated more interestingly than anywhere else. \n1. Each ore appears in its own rock. TFC adds many different rocks to the world, that is, you won’t find a regular vanilla stone anywhere, so ores, like in real life, are generated only in certain rocks. \n2. There are several types of ore veins, such as: cluster, sphere, pipe and a few rare others that we will not talk about. \n3. To make life easier for players, ore indicators appear on the surface, under which in most cases the ore vein itself is located. \nTFG contains a small Wiki for this in an Excel spreadsheet. In order to follow the link, complete the task, then pick up the reward and a button will appear in the chat when you click on it, which will transfer you to an Excel table with ore generation.", + "quests.63E6C5684E12828C.st": "You need to drink water in order not to die, try to find a river or lake with ordinary water!", + "quests.63E6C5684E12828C.d1": "Use the right mouse button to drink some water. \nCareful! If you drink salt water you will experience increased thirst and will most likely die.", + "quests.63E6C5684E12828C.t1": "Look at regular water (not salty or hot).", + "quests.6D43C29AC049341D.t": "How to create a team?", + "quests.6D43C29AC049341D.st": "Do you play with friends? Surprising...", + "quests.6D43C29AC049341D.d1": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team, use the §aCreate a team§r button, then give it a name and possibly some other parameters, after successful creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner, in the future your quests will be synchronized and any team member will be able to complete them. Good luck!", + "quests.6D43C29AC049341D.t1": "Click here to complete the quest", + "quests.0B42D4AE2AC67F93.t": "How to capture territory?", + "quests.0B42D4AE2AC67F93.st": "Or how to load chunks in your territory", + "quests.0B42D4AE2AC67F93.d1": "You can private the chunks you want if you play on a server, for example. How to do it? Use the button to open the mini-map, then select the chunks that you want to capture, then by clicking on the right mouse button, select §aCapture territory§r from the list, it seems to be the third item from the bottom, voila, you have captured the territory. Attention: your teammates will be able to break blocks in your region, which is logical.", + "quests.0B42D4AE2AC67F93.t1": "Click here to complete the quest", + "quests.2672C65095539E23.t": "How to get crushed ore without a crusher?", + "quests.2672C65095539E23.st": "It's actually very simple.", + "quests.2672C65095539E23.d1": "Simply break a block of ore with a hammer (sledgehammer) and you will immediately receive crushed ore, which can be crushed by hand into powders such as graphite or sulfur.", + "quests.2672C65095539E23.t1": "Click here to complete the quest", + "quests.3D7B0F3134C30364.t": "Important information about quests!", + "quests.3D7B0F3134C30364.d1": "The quests are still in development, more descriptions and more will be added in the future. You can partially use the TFC book to find the information you need. &cFull quests in each branch with translation will appear in update 1.0.0, since now the developers have very little time.", + "quests.3D7B0F3134C30364.t1": "Click here to complete the quest", + "quests.7196BB6BDBAE7B51.st": "Food is very important in this world!", + "quests.7196BB6BDBAE7B51.d1": "Try to kill some animal and get some meat from it. Eating raw meat is a bad idea, so try roasting it over a fire.", + "quests.7196BB6BDBAE7B51.t1": "Get any raw meat", + "quests.557D3A67A36DF9D8.st": "Cook the meat over the fire!", + "quests.557D3A67A36DF9D8.d1": "Congratulations, you have cooked the meat and are now safe to eat.", + "quests.557D3A67A36DF9D8.t1": "Get any fried meat", + "quests.682B58EC2D39F1A1.st": "A fire, but not an ordinary one", + "quests.682B58EC2D39F1A1.d1": "Throw 3 sticks and 1 log onto the block, then move the mouse cursor over this block and use a primitive lighter (Just hold down the right mouse button as if you were aiming with a bow), it may not work the first time. After success, a fire will appear in place of the discarded 3 sticks and 1 log, into which you need to throw logs so that the fire continues to burn. To increase the chance of creating a fire, you can add to the existing sticks and logs: paper, straw and other flammable items, +10% for each item.", + "quests.682B58EC2D39F1A1.t1": "Make a fire", + "quests.6D940527BFF1D4C0.t": "Primitive lighting", + "quests.6D940527BFF1D4C0.st": "Are they going out? Yes! They may go out, I'm shocked myself!", + "quests.6D940527BFF1D4C0.d1": "You will be surprised, but the torches are not endless in TFC. They will burn for about 2 game days, after which they will go out. But don’t worry, they don’t go out in your hands or inventory, so you can carry 1 torch with you and when others in your house go out, just use the right mouse button on them with a torch from your inventory, it will set fire to already extinguished torches.", + "quests.3B3BA51C8CAEFC7F.t": "Primitive lighter", + "quests.3B3BA51C8CAEFC7F.st": "People in ancient times lit fires using such a thing, or maybe not, how should I know?", + "quests.3B3BA51C8CAEFC7F.d1": "This thing will allow you to start a fire, or set fire to anything, just move the mouse cursor over any block, then press and hold the right mouse button, after maximum tension, release, with a 50% chance the block you were looking at will be set on fire. How to make a fire using a primitive lighter in the next quest.", + "quests.365F6F48E0BB2EFC.t": "ROCK AND STONE!", + "quests.365F6F48E0BB2EFC.st": "Collect some stones and sticks for future development", + "quests.365F6F48E0BB2EFC.d1": "When entering the world, the first thing you encounter is a completely changed world. The main items at the start are sticks and pebbles, which lie on the ground and appear in any biome, they are also updated every season, that is, after winter, sticks and pebbles are regenerated on the ground. Collect several using RMB and proceed to the next one. step. \n\nTake 2 or more stones into your hand, then click the right mouse button, then a menu will open in which you can make headbands for stone tools, all recipes can be viewed in EMI or simply by clicking on the icon of the stone headband item in the quest. Then connect the headband with a stick and get a real aboriginal tool. \n\nNow you are a smart monkey!", + "quests.365F6F48E0BB2EFC.t1": "Find any sticks", + "quests.365F6F48E0BB2EFC.t2": "Find any pebbles", + "quests.508DA76FA2766B7B.st": "This is not a rocket launcher!", + "quests.508DA76FA2766B7B.d1": "Spears work on a similar principle to the trident from vanilla Minecraft, just hold down the right mouse button and aim, then release and your trident will fly where you were looking.", + "quests.508DA76FA2766B7B.t1": "Craft any stone spear", + "quests.318BF1F671BC4620.st": "Thank you for not being diamond...", + "quests.318BF1F671BC4620.d1": "Hoes are used for digging up beds and planting plants. Interesting fact: in TFC you can dig up beds even far from water, the main thing is that when you hover, look at the tooltip (the panel at the top), it will display the amount of water saturation of the bed. Next, select seeds collected in a world with suitable climatic conditions (including the humidity of the bed), plant them and wait.", + "quests.36A9E5CD45A79288.st": "Realistic", + "quests.36A9E5CD45A79288.d1": "Using the right mouse button with a hoe in your hand, plow the ground, seriously, it's very easy, try it.", + "quests.36A9E5CD45A79288.t1": "Plow the ground", + "quests.5C396041880D32FF.st": "Looks promising", + "quests.5C396041880D32FF.d1": "While exploring the world you can find wild plants, collect them with a knife or hand, this way you will get seeds and the plant itself.", + "quests.5C396041880D32FF.t1": "Find any seeds", + "quests.4CF472C9778068D6.t": "Harvest your first harvest", + "quests.4CF472C9778068D6.st": "Is it edible?", + "quests.4CF472C9778068D6.d1": "Not sure. \n\nAttention! Plants grow for a very long time and they are also very picky about their growth conditions; be sure to check the conditions in which a particular plant grows before planting it, otherwise it will turn into a dead bush.", + "quests.4CF472C9778068D6.t1": "Click here to complete the quest", + "quests.2BFC2744E4DE4B5A.st": "Don't cut down a tree with your hand, it's wrong!", + "quests.2BFC2744E4DE4B5A.d1": "Axes are used to chop wood, and indeed anything wooden, because in TFC you cannot break a tree with your hand.", + "quests.716B407EEED8BE95.st": "Thanks for digging", + "quests.716B407EEED8BE95.d1": "Shovels are used to create paths and dig up dirt, sand and possibly something else!", + "quests.06C7B7138EDE4B38.st": "Your best friend", + "quests.06C7B7138EDE4B38.d1": "Knives are a very important tool in TFC, they allow you to cut grass and get straw, you can use it to make a fire pit and fry metals and clay molds, but more on that later in the quests.", + "quests.45D907EF7902A200.st": "Needed to create a shelter or roasting pit", + "quests.45D907EF7902A200.d1": "An important item in the initial stages of development, you will need a lot of it, I suggest collecting about 3 stacks.", + "quests.27DA5AAB102611A2.st": "A cute hat that will save you from the heat and scorching sun", + "quests.30AE1FF285B64716.st": "This is a sheaf of straw, you can build a cute house out of it", + "quests.0ED8BE436A0ECDDB.st": "This is a sheaf of hay, you can make beautiful decorations from it", + "quests.0ED8BE436A0ECDDB.d1": "Indeed, this block is just decorative, do not try to feed it to the horse.", + "quests.69D20168E26BBF59.st": "Realism", + "quests.69D20168E26BBF59.d1": "First, dig 1 block in the ground, or any other surface, then use the V key to place the things you want to fry in the hole. If we are talking about forms, there are 4 of them. Next, take Hay in your hand and right-click into the hole, the hay will begin to fill the hole, you need to use 8 hay, then add 8 logs in the same way, then you can safely set fire to this thing using a primitive flint or torch (just throw a torch on top of your hole and it will start to flare up). Then you must wait for the firing to finish and then take out your finished objects. Metal melting in containers occurs in the same way. That is, you put pieces of copper in a vessel and in this very pit, after the process described above you will get molten copper, which you can cast into ingots, headbands, and so on.", + "quests.69D20168E26BBF59.t1": "Create a roasting pit", + "quests.373FD04AD6CA9F92.t": "New or old tree", + "quests.373FD04AD6CA9F92.st": "Use an ax to collect some wood, I would like to remind you that logs cannot be obtained by hand", + "quests.373FD04AD6CA9F92.t1": "Get any tree", + "quests.5DB0CA9F9724D301.t": "Coal pits", + "quests.5DB0CA9F9724D301.st": "Get your first coal! Wait, why is it needed?", + "quests.5DB0CA9F9724D301.d1": "To create a charcoal pit you will need lots and lots of wood. First, dig a hole 1 block deep (you can go deeper if the amount of wood allows).", + "quests.5DB0CA9F9724D301.d2": "Afterwards, using Shift + RMB, click on any block in the hole, you will have an armful of logs, you can fill it by right-clicking with a log in your hand on the armful, or simply open the interface and fill it manually. The amount of coal subsequently obtained depends on the number of trees in the armful.", + "quests.5DB0CA9F9724D301.d3": "Next, cover it all with a non-flammable block, stone or earth, leave one block open and set it on fire using a discarded torch or a primitive igniter.", + "quests.5DB0CA9F9724D301.d4": "Now your pile of earth has started to smoke, cover the last block that you set on fire again with a non-combustible block and wait, as soon as the pile stops smoking, dig it up and get coal.", + "quests.478D0DF94D7495EF.st": "Is it really simple or not?", + "quests.478D0DF94D7495EF.d1": "The glass casting process is shown in the TFC guide book, which you can find in the inventory on the right side, but for glass blocks, or rather for their casting, brass blocks are used, in TerraFirmaGreg for this you can use brass blocks from GTCEu or kaolinite clay blocks, Good luck! :)", + "quests.478D0DF94D7495EF.t1": "Cast any block of glass", + "quests..t": "", + "quests..st": "", + "quests..d1": "", + "quests..t1": "", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.white": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.pink": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.magenta": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.purple": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.cyan": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.green": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.lime": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.yellow": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.orange": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.red": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.brown": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block_on": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Dyeing", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Dyeing", + "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll loose ALL your upgrades!§r", + "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", + "tfg.grapplemod.downgrades.maxlen": "Decreases §lMax Length§r by 20, down to 20. (Jute Rope is Returned).", + "tfg.grapplemod.upgrades.motor.lv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1\n§lMotorAcceleration§r set to 0.125", + "tfg.grapplemod.upgrades.motor.mv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.14\n§lMotorAcceleration§r set to 0.25", + "tfg.grapplemod.upgrades.motor.hv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.28\n§lMotorAcceleration§r set to 0.375", + "tfg.grapplemod.upgrades.motor.ev": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.42\n§lMotorAcceleration§r set to 0.5", + "tfg.grapplemod.upgrades.motor.iv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.56\n§lMotorAcceleration§r set to 0.625", + "tfg.grapplemod.upgrades.motor.luv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.7\n§lMotorAcceleration§r set to 0.75", + "tfg.grapplemod.upgrades.motor.zpm": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.84\n§lMotorAcceleration§r set to 0.875", + "tfg.grapplemod.upgrades.motor.uv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 2\n§lMotorAcceleration§r set to 1", + "tfg.grapplemod.downgrades.motor": "Disables the §lMotor§r Upgrade, returning the original motor.\nOnly works if you use the same type of Motor as before.", + "tfg.grapplemod.upgrades.smart_motor": "Enables the §lSmart Motor§r Upgrade, requires a Motor to be installed.", + "tfg.grapplemod.downgrades.smart_motor": "Disables the §lSmart Motor§r Upgrade, can be removed with the Motor already uninstalled. Returns the Basic Electronic Circuit", + "tfg.grapplemod.upgrades.sticky": "Enables the §lSticky§r Upgrade, causing the hook to stick to any block the rope touches.", + "tfg.grapplemod.downgrades.sticky": "Disables the §lSticky§r Upgrade, returning the Sticky Resin", + "tfg.grapplemod.upgrades.forcefield.lv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 0.625", + "tfg.grapplemod.upgrades.forcefield.mv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.25", + "tfg.grapplemod.upgrades.forcefield.hv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.875", + "tfg.grapplemod.upgrades.forcefield.ev": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 2.5", + "tfg.grapplemod.upgrades.forcefield.iv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.125", + "tfg.grapplemod.upgrades.forcefield.luv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.75", + "tfg.grapplemod.upgrades.forcefield.zpm": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 4.375", + "tfg.grapplemod.upgrades.forcefield.uv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 5", + "tfg.grapplemod.downgrades.forcefield": "Disables the §lForce Field§r Upgrade, returning the original Field Generator.\nOnly works if you use the same type of Field Generator as before.", + "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 1.25", + "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 2.5", + "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 3.75", + "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 5", + "tfg.grapplemod.downgrades.magnet": "Disables the §lMagnet§r Upgrade, returning the original Magnetic Ingot.\nOnly works if you use the same type of Magnetic Ingot as before.", + "tfg.grapplemod.upgrades.gravity.0.5": "Lowers the Hook's §lGravity§r to 50% (1 -> 0.5)", + "tfg.grapplemod.downgrades.gravity.0.5": "Returns the Hook's §lGravity§r back to 100% (0.5 -> 1).\nThe empty bucket will be filled with the Helium you used", + "tfg.grapplemod.upgrades.gravity.0": "Lowers the Hook's §lGravity§r to 0% (1 -> 0)", + "tfg.grapplemod.downgrades.gravity.0": "Returns the Hook's §lGravity§r back to 100% (0 -> 1).\nThe Gravitation Engine Unit will be returned.", + "tfg.grapplemod.upgrades.throwspeed.lv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.25", + "tfg.grapplemod.upgrades.throwspeed.mv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.5", + "tfg.grapplemod.upgrades.throwspeed.hv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.75", + "tfg.grapplemod.upgrades.throwspeed.ev": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3", + "tfg.grapplemod.upgrades.throwspeed.iv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.25", + "tfg.grapplemod.upgrades.throwspeed.luv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.5", + "tfg.grapplemod.upgrades.throwspeed.zpm": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.75", + "tfg.grapplemod.upgrades.throwspeed.uv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 4", + "tfg.grapplemod.downgrades.throwspeed": "Resets the §lThrow Speed§r of the hook back to normal, returning the original Piston.\nOnly works if you use the same type of Piston as before.", + "tfg.grapplemod.upgrades.doublehook": "Adds a §lSecondary Hook§r to your Grappling Hook", + "tfg.grapplemod.downgrades.doublehook": "Removes the §lSecondary Hook§r from your Grappling Hook", + "tfg.grapplemod.upgrades.vertical_throwing_angle": "Increases the §lVertical Throwing Angle§r of the hook by 5°, up to 90°.", + "tfg.grapplemod.downgrades.vertical_throwing_angle": "Decreases the §lVertical Throwing Angle§r of the hook by 5°, down to 0°.", + "tfg.grapplemod.upgrades.angle": "Increases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, up to 90°.\nOnly accessible with a §lDouble Hook§r installed.", + "tfg.grapplemod.downgrades.angle": "Decreases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, down to 5°°.\nOnly accessible with a §lDouble Hook§r installed.", + "quests.tasktype.checkmark": "Click here to complete this quest/task", + "quests.tasktype.item.any": "Any Item of type:", + "quests.tasktype.lookat": "Look at a:", + "quests.tasktype.travelto": "Travel to:", + "quests.groups.primitive": "Primitive Age", + "quests.groups.voltaic_age": "Voltaic Age", + "quests.groups.space_age": "Space Age", + "quests.groups.interstellar": "Interstellar Age", + "quests.groups.tips": "Tips", + "quests.low_voltage": "&7LV&r - Low Voltage", + "quests.low_voltage.subtitle": "Tame electricity and make your first machines", + "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", + "quests.low_voltage.lv_machine_hull.subtitle": "It's time to get into electricity", + "quests.low_voltage.lv_machine_hull.desc.1": "That's it you are getting real close to your &6first LV Machine&r and the begining of the electric age. Crafting this hull will cost you quite a lot of &4Red Steel&r but you will get &6new ways&r to improve your production.\n\nThis is the Gregtech approach: &6the further you progress, the better the new recipes become&r.\n\nTry to make at least 3 or 4 casings to begin.", + "quests.low_voltage.lv_machine_hull.desc.2": "For some players reaching a new tier is making the &6circuit&r, for others it's the &6machine hull&r and for me it's the &6energy hatch&r. At the end of the day you do you.", + "quests.low_voltage.lv_motor.title": "The First of Many Motors", + "quests.low_voltage.lv_motor.subtitle": "Low Voltage beckons...", + "quests.low_voltage.lv_motor.desc": "Remember that &2JEI is your friend&r if recipes are getting overwhelming.\n\nGetting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r.", + "quests.low_voltage.lv_age_progression.title": "LV Age Progression", + "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", + "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", + "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", + "quests.low_voltage.lv_steam_turbine.title": "Electricity Generation", + "quests.low_voltage.lv_steam_turbine.subtitle": "You must construct more turbines", + "quests.low_voltage.lv_steam_turbine.desc.1": "The &3Steam Turbine&r is one of the only generators you can realistically use in &7LV&r. &2Later, you'll unlock more interesting Power options&r, such as natural gases or petrols.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 Steam = 1 EU&r.\n\n&6This quest unlocks two new tutorials on Electricity and Cables in the &lTips and Tricks&r&6 tab - check them out to learn more!&r", + "quests.low_voltage.lv_steam_turbine.desc.2": "If you're using a single &3Steam Turbine&r, you only need &a1x Tin Cables&r. On the other hand, if you upgrade to &32 Steam Turbines&r, you should use &a2x Tin Cables&r - else they may end up &cburning&r.\n\nThis is because of the &9Amperage&r mechanic... but that will be explained later so you can enjoy playing. Don't worry!", + "quests.low_voltage.lbb.title": "Large Bronze Boiler", + "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", + "quests.low_voltage.lbb.desc.1": "&oThe &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this will be your first port-of-call. Other power options are listed in the &bMV&r chapter.\n\n&cImportant:&r This Boiler &lCAN&r also &cexplode&r similarly to the regular Boilers! Usually, the explosion can be rather devastating...", + "quests.low_voltage.lbb.desc.2": "&cWater supply is &lcrucial&r&r. Dedicate a system only for it.\n\nOnce fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. In TerraFirmaGreg we advise &8Creosote&r or &cLava&r. You can use Create to bring that if needed...", + "quests.low_voltage.lbb.desc.3": "&5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25% power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\n&9Note:&r An in-depth tutorial about Multiblocks is given after you get the &3Electric Blast Furnace&r. We recommend you aim for that first.", + "quests.low_voltage.lv_polariser.title": "Basic Polariser", + "quests.low_voltage.lv_polariser.subtitle": "The Polarizer polarizes!", + "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", + "quests.low_voltage.lv_turbo_charge.title": "Turbo Charger", + "quests.low_voltage.lv_turbo_charge.subtitle": "Useful to charge faster your future electric tools", + "quests.low_voltage.lv_turbo_charge.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Turbo Charger&r charges &6RF and EU&r items such as &9Drills&r extremely quickly.\n\nIt accepts up to 4 Amps for every item it charges, making it &6twice as fast&r as the &3Battery Buffer&r. It cannot discharge, though.\n\n&eAny&r Charger will complete this Quest.", + "quests.low_voltage.lv_turbo_charge.task": "Any Turbo Charger will do", + "quests.low_voltage.lv_fisher.title": "Fishing 50", + "quests.low_voltage.lv_fisher.subtitle": "Fully compatible with TFC", + "quests.low_voltage.lv_fisher.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Fisher&r catches fish from Water. It requires a 5x5 area of Water directly below to operate. It uses the same loot table as normal Fishing. Each operation consumes 1 String and EU equivalent to its tier (32 for &7LV&r, etc.) That's about it.\n\n&eFish Oil&r can be extracted from Fish, which can be used for &6Bio Diesel&r.", + "quests.low_voltage.lv_fisher.task": "Any Fisher will do", + "quests.low_voltage.lv_rock_crusher.title": "Cobble is Life", + "quests.low_voltage.lv_rock_crusher.subtitle": "Time to get any of the TFC stones you want", + "quests.low_voltage.lv_rock_crusher.desc.1": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Rock Breaker&r generates different types of igneous Rocks. Those rocks might be pulverized and electrolyzed into certain materials.\n\nCertain rocks, need up to &5EV&r power to generate.\n\n&eAny&r Rock Breaker will complete this Quest.", + "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Lore:&r&o Obsidian requiring Redstone to generate is in reference to an ancient Minecraft bug, &7MC-4239&f. Placing Redstone where the Cobblestone would go in a cobble generator would make it generate Obsidian instead. This bug was resolved in snapshot 14w25b for Minecraft 1.8, over 9 years ago at the time of writing!", + "quests.low_voltage.lv_rock_crusher.task": "Any Rock Crusher will do", + "quests.low_voltage.lv_wiremill.title": "Basic Wiremill", + "quests.low_voltage.lv_wiremill.subtitle": "No more painful wires!", + "quests.low_voltage.lv_wiremill.desc.1": "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point.\n\nThe Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!\n\nTo the right of this Quest, you'll find some important machines which will grant you cheaper intermediates.", + "quests.low_voltage.lv_wiremill.desc.2": "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet.\n\nYou will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r.\n\nWith this machine safely crafted - welcome to the age of all things electric!", + "quests.low_voltage.lv_bender.title": "Basic Bender", + "quests.low_voltage.lv_bender.subtitle": "The Bender bends!", + "quests.low_voltage.lv_bender.desc": "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise.\n\nThis unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer.", + "quests.low_voltage.lv_lathe.title": "Basic Lathe", + "quests.low_voltage.lv_lathe.subtitle": "Get rid of your archaic tech", + "quests.low_voltage.lv_lathe.desc.1": "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand.", + "quests.low_voltage.lv_lathe.desc.2": "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default.\n\n&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!", + "quests.low_voltage.universal_cell.title": "Better bucket", + "quests.low_voltage.universal_cell.subtitle": "You can see inside not like these drums...", + "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nCells hold &done bucket&r of Fluid.", + "quests.low_voltage.universal_cell.desc.2": "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. \n\nCells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r will hold more by then.\n\nLike Drums, Cells can be placed into a crafting grid to clear their contents.", + "quests.low_voltage.universal_cell.task": "", + "quests.low_voltage.machine_auto_output_behaviour.title": "Machine Auto-Output Behaviour", + "quests.low_voltage.machine_auto_output_behaviour.subtitle": "Let's learn.", + "quests.low_voltage.machine_auto_output_behaviour.desc.1": "All machines typically have one &7Front Face&r, and one &9Output Face&r.\n\nThe &7Front Face&r should be obvious.\nThe &9Output Face&r is the face with a dot or hole on it. By default, this is at the back of the machine as you place it.\n\nMachines can &aauto-output&r through their output face. To enable auto-output, click the appropriate button in the GUI. Fluid and item auto-outputs are toggled separately. Further control over auto-outputs can be achieved with &dFilters&r and &dCovers&r, which are explained in the quest to the upper left of this one.", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! \n\nBy default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output.\n\nThere are unique machines that do not process recipes, such as the &3Pump&r, &3Miner&r, &3Fisher&r, &3Item Collector&r, etc. These machines will output on their &7Front Face&r (which is still marked as a dot).", + "quests.low_voltage.machine_auto_output_behaviour.task": "Hmm, how interesting!", + "quests.low_voltage.programmed_circuits.title": "Programmed Circuits", + "quests.low_voltage.programmed_circuits.subtitle": "Don't want to spend your circuits to select recipes?", + "quests.low_voltage.programmed_circuits.desc.1": "By clicking the &6Circuit Configuration Slot&r in machines, you can create a &bghost Programmed Circuit&r. \n\nThis is a fake circuit that allows you to select a given configuration for recipes! There's no need to spend your circuits crafting &bProgrammed Circuits&r anymore.\n\n&dElectric Machines&r and &dItem Input Buses&r will have a Ghost Circuit Slot.", + "quests.low_voltage.programmed_circuits.desc.2": "&l&3Lore:&r&o This feature is originally from GTNH.", + "quests.low_voltage.programmed_circuits.task": "I got it, I don't need to craft circuits", + "quests.low_voltage.lv_conveyor.title": "LV Conveyor Module", + "quests.low_voltage.lv_conveyor.subtitle": "A crafting component, but also a cover!", + "quests.low_voltage.lv_conveyor.desc": "Less common as a component, but used in a number of critical machines.\n\nWhen placed on a machine, conveyor modules will transfer items. You can configure them to import or export.\n\nThey can also accept various &9Item Filters&r.", + "quests.low_voltage.lv_robot_arm.title": "LV Robot Arm", + "quests.low_voltage.lv_robot_arm.subtitle": "You're going to hate making these", + "quests.low_voltage.lv_robot_arm.desc.1": "When placed on a machine, Robot Arms are a more configurable version of a Conveyor Module. They allow you to transfer items in specific batches, at specific rates, or keep a certain amount of items stocked.\n\nPractical uses for the Robot Arm will be explained in future Quests as a tutorial.\n\n&9Note:&r The functionalities provided by the Robot Arm work &lonly&r if it is &lrequired&r to perform the operation.", + "quests.low_voltage.lv_robot_arm.desc.2": "&l&3Lore:&r&o GregTech 5 had blocks such as the Buffer, Filter and Type Filter to allow fine control over items. In GTCE it's all been replaced by the almighty Robot Arm and various Filter Covers. Much more compact!", + "quests.low_voltage.lv_piston.title": "LV Electric Piston", + "quests.low_voltage.lv_piston.subtitle": "A crafting component - did you expect anything fancier?", + "quests.low_voltage.lv_piston.desc": "A specialized motor needed to make certain machines.\n\nOne of the more intricate crafting components, as it's made using a motor.", + "quests.low_voltage.lv_pump.title": "LV Electric Pump", + "quests.low_voltage.lv_pump.subtitle": "A crafting component, but also a cover!", + "quests.low_voltage.lv_pump.desc": "When placed on a machine, pumps will transfer fluid. You can configure them to import or export.\n\nIt can accept a &9Fluid Filter&r.", + "quests.low_voltage.lv_fluid_regulator.title": "LV Fluid Regulator", + "quests.low_voltage.lv_fluid_regulator.subtitle": "A cover that you may not use much", + "quests.low_voltage.lv_fluid_regulator.desc": "The &aFluid Regulator&r is sort of the equivalent to a &9Robot Arm&r for Fluids.\n\nIt can transfer fluids, but has two useful modes:\n\n&9-&r &dSupply Exact&r will transfer the amount of specified Fluid per tick if available. No more, no less.\n&9-&r &dKeep Exact&r will make sure the exact amount of Fluid in the attached machine is being kept.\n\nYou won't need it much because natively GT machines will fill only one slot with the &6Pump Cover&r", + "quests.low_voltage.cover_behaviour.title": "Cover Behaviour", + "quests.low_voltage.cover_behaviour.subtitle": "Extra utility without taking up bloackspace!", + "quests.low_voltage.cover_behaviour.desc.1": "Covers are placed by right-clicking with Cover in hand on a face of a machine, and removed with a &5Crowbar&r (or by mining the machine, but that's way slower).\n\nPretty much any GregTech Tile-Entity will accept Covers, even if they wouldn't provide any functionality.\n\nOpening a Cover is done by sneak-right-clicking it with an &5empty hand&r. You can also right-click with a &5Screwdriver&r, or sneak-right-click on another face using the grid.", + "quests.low_voltage.cover_behaviour.desc.2": "For Covers that transfer Items/Fluids, you will have a button to enable/disable other forms of transfer through the cover:\n\n&9- &rDisabled: only the cover will be allowed to transfer on this machine side.\n\n&9-&r Allow Filtered (only relevant with a filter!): other transfer will be enabled only if it matches the filter\n\n&9-&r Allow Unfiltered: any other transfer is allowed on this machine side.\n\nPlacing a cover of a lower voltage tier on a machine is &9safe&r.", + "quests.low_voltage.cover_behaviour.task": "I'm an expert on Covers now, don't you worry.", + "quests.low_voltage.lv_canner.title": "Basic Canner", + "quests.low_voltage.lv_canner.subtitle": "This machine does nothing exciting", + "quests.low_voltage.lv_canner.desc": "Make this machine when you feel like it's time you invested into Batteries.", + "quests.low_voltage.lv_battery.title": "Batteries!", + "quests.low_voltage.lv_battery.subtitle": "Batteries for storing energy!", + "quests.low_voltage.lv_battery.desc": "&aBatteries&r can be put into the energy slot at the bottom middle of machine GUIs, or in a &3Battery Buffer&r.\n\nWhen inside your inventory, they can be sneak-right-clicked to allow the batteries to &dcharge&r your EU items.\n\n&7LV&r, &bMV&r, and &6HV&r Batteries come in three forms, allowing you to pick the one you find the best depending on materials you have. &dLithium&r has the best capacity, followed by &dCadmium&r, then &dSodium&r.\n\nOur recommendation? Find a Salt vein, and either &aelectrolyze Salt&r for &dSodium&r, or &awash crushed Lepidolite&r for &dLithium&r.\n\nGet &eany&r &aBattery&r to complete this quest.", + "quests.low_voltage.lv_battery.task": "Any LV Battery", + "quests.low_voltage.lv_battery_preparation.title": "Battery Preparations!", + "quests.low_voltage.lv_battery_preparation.subtitle": "Batteries are great!", + "quests.low_voltage.lv_battery_preparation.desc": "Make some Battery Alloy, used for Battery Hulls.\n\nAntimony is found within &6Stibnite vein&r, look through your TFC Field Guide for more information.\n\n&9Note:&r This quest does &lnot&r contain functional Batteries - head downwards for that.", + "quests.low_voltage.lv_battery_buffer_4x.title": "Battery Buffer", + "quests.low_voltage.lv_battery_buffer_4x.subtitle": "Usefull if you don't want to build tons of generators", + "quests.low_voltage.lv_battery_buffer_4x.desc.1": "By itself, the Battery Buffer does nothing. However, if you place batteries inside its internal storage, it will act as a power buffer.\n\nThe &3Battery Buffer&r handles &9two Amps in&r, and &9one Amp out&r, &dper Battery&r. The output side has the dot, and all other sides are used as inputs.\n\n&6It'll also charge &lboth&r EU and RF Tools inside it&r.\n\nThis is a must have if you don't have unlimited power at hand. Get &eany&r &7LV&r Battery Buffer to finish the quest. However, the 16 slots variant is likely overkill at this stage.", + "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9Note:&r Don't loop your lossy Cables back to your Battery Buffer! If you think about it, you'll just end up voiding energy.\n\n&l&3Lore:&r&o To be frank with you, the GTCE Battery Buffer was... mediocre. It's been reworked in GTCEu to provide a mix between GT5 and GTCE's functionality. Energy now splits evenly across all batteries!", + "quests.low_voltage.lv_battery_buffer_4x.task": "Any Battery Buffer", + "quests.low_voltage.lv_amp_explanation.title": "But what are Amps?", + "quests.low_voltage.lv_amp_explanation.subtitle": "Amps and You: a how-to", + "quests.low_voltage.lv_amp_explanation.desc": "This questline serves as a quick guide to &9GregTech Amperage&r. As for &dVoltage&r mechanics, we'll go over those once you reach &bMV&r.\n\n&6&lTL;DR:&r For safety, match the Amperage limit of your Cables with the max amount of Amps provided by your Energy Producers.\n\n&6This quest unlocks a new tutorial on Amperage in the &lTips and Tricks&r&6 tab - check it out to learn more!&r", + "quests.low_voltage.lv_ore_prospector.title": "This is Hacking", + "quests.low_voltage.lv_ore_prospector.subtitle": "The future of prospector", + "quests.low_voltage.lv_ore_prospector.desc": "The Prospector is an amazing tool that'll help you find veins in no time.\n\nIts GUI is interactive. Right-clicking will scan for ores, displaying them on a dynamic map.\n\n&l&3Lore:&r&o Back in OUR day, the portable Prospector was locked to &dLuV&f. Kids these days have it easy.", + "quests.low_voltage.lv_sprayer.title": "Spray Can", + "quests.low_voltage.lv_sprayer.subtitle": "Time for server tag wars", + "quests.low_voltage.lv_sprayer.desc": "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Chemical Dye before using.\n\n&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!\n\nAny (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables.\n\nHolding the &aSpray Can&r in the offhand will automatically paint any block you place.", + "quests.low_voltage.other_machines.title": "There is other machines", + "quests.low_voltage.other_machines.subtitle": "You can't escape Greg...", + "quests.low_voltage.other_machines.desc": "We won't go over the &dfull scale of regular Ore Processing&r. Why regular? Some ores require special treatment, but that's a topic for much later. Oh no, we're already getting carried away!\n\nSome machines like the &bChemical Bath&r or the &bElectrolyser&r could be useful.\n\n&cNote:&r Don't get too preoccupied with Ore Processing! It's very slow at this point, and somewhat power hungry. Around 90% of ores are not important enough to warrant going out of your way to obtain their byproducts. That's a legitimate stat, by the way.", + "quests.low_voltage.other_machines.task": "I agree to lose my sanity", + "quests.low_voltage.lv_chemical_bath.title": "Basic Chemical Bath", + "quests.low_voltage.lv_chemical_bath.subtitle": "The Chemical Bath bathes...", + "quests.low_voltage.lv_chemical_bath.desc.1": "&lOutside of Ore Processing:&r\n\nYou can use the Chemical Bath to replace recipes made with the &6sealed barrel&r. Making paper and leather never been &6faster&r.\n\nThere are some other less important recipes, such as applying colours to various items and blocks, or bleaching them.", + "quests.low_voltage.lv_chemical_bath.desc.2": "&lFor Ore Processing:&r\n\nSome &aCrushed Ores&r have alternate routes when washed into &aPurified Ore&r, involving bathing in either &aMercury&r or &aSodium Persulfate&r. This step isn't really important, unless you really want that special &6Byproduct&r. This can be a nice alternate source of Gold (hint, hint!).", + "quests.low_voltage.lv_electroliser.title": "Basic Electrolyzer", + "quests.low_voltage.lv_electroliser.subtitle": "It goes bzzz", + "quests.low_voltage.lv_electroliser.desc.1": "&lOutside of Ore Processing:&r\n\nSimilar to the Centrifuge, this machine does a lot of things - we can't hope to list them all! Fortunately, it's one of the cheapest &7LV&r machines, so grab it as soon as it becomes necessary.", + "quests.low_voltage.lv_electroliser.desc.2": "&lFor Ore Processing:&r\n\nOkay, we lied. It's not &oexactly&r used for Ore Processing, it's actually used in the &adecomposition of Dusts&r. However, most of the useful electrolysis recipes are locked at &bMV&r. You can peep at the &emolecular formula&r in a dust's tooltip to see what you can get from electrolysis.", + "quests.low_voltage.lv_electroliser.desc.3": "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count.", + "quests.low_voltage.lv_mixer.title": "Basic Mixer", + "quests.low_voltage.lv_mixer.subtitle": "Mixer is for mixing", + "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, especially for &4red steel&r. Even if you don't think you need it now, you'll find it &6essential&r later on.", + "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", + "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", + "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", + "quests.low_voltage.gallium_arsenide.title": "Gallium Arsenide", + "quests.low_voltage.gallium_arsenide.subtitle": "I hate byproducts, they're awesome", + "quests.low_voltage.gallium_arsenide.desc": "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials.\n\nFor &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):\n\n&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value.\n\n&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r.\n\n&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r.\n\nFor &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r.", + "quests.low_voltage.lv_assembler.title": "Basic Assembler", + "quests.low_voltage.lv_assembler.subtitle": "This bad boy is assembling better than you and IKEA", + "quests.low_voltage.lv_assembler.desc.1": "While this is an extremely &9important&r machine for progression, this will &9&lnot help you immediately&r as it is &cexpensive.&r Most of the recipes you will want to pursue require &cfluids&r. Set up a little bit more infrastructure before rushing this.\n\nWith that out of the way, the &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh.", + "quests.low_voltage.lv_assembler.desc.2": "Once you have enough infrastructure you will be able to make use of better recipes for:\n\n&9-&r &6Vacuum Tubes&r, giving over double the previous yield\n\n&9-&r &6Resistors&r, granting 4 resistors per craft!\n\n&9-&r &6Circuit Boards&r, greatly reducing copper used\n\n&9-&r &6LV Machine Casing&r without the need for red steel.\n\nWahoo!\n\n&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes.", + "quests.low_voltage.lv_assembler.task": "", + "quests.low_voltage.t2_circuit_board.subtitle": "Yeah yeah it's wood but don't under estimate it", + "quests.low_voltage.t2_circuit_board.desc.1": "This Circuit Board is used to create &dMV Circuits&r!\n\n&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the crafting recipe.\n\n&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein...\n\nThe quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading.", + "quests.low_voltage.t2_circuit_board.desc.2": "&l&3Lore:&r&o Back in GTCEu 1.12.2, these circuit boards were called &2Good Circuit Boards&f. Not exactly a fitting name, as they're &4rather evil&f to craft.", + "quests.low_voltage.lv_diode.title": "Diode", + "quests.low_voltage.lv_diode.subtitle": "Don't be swayed by EMI!", + "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", + "quests.low_voltage.1_mv_circuit.title": "First MV Circuit!", + "quests.low_voltage.1_mv_circuit.subtitle": "Does that mean we're at MV yet?", + "quests.low_voltage.1_mv_circuit.desc": "Well... gotten any Aluminium Ingots yet?\n\nEach Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry.\n\nAlways be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than hand-crafting Circuits.\n\n&6Having this and Aluminium will grant access to MV Machines.&r\n\nIf you are having trouble understanding the mess that is Gregtech circuits don't hesitate to look at the &6Development Table&r", + "quests.low_voltage.lv_circuit_assembler.title": "The Circuit Assembler", + "quests.low_voltage.lv_circuit_assembler.subtitle": "Hopefully, your first MV Circuit expense", + "quests.low_voltage.lv_circuit_assembler.desc.1": "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r.\n\nEach time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall.", + "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", + "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", + "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", + "quests.low_voltage.lv_centrifuge.desc.1": "&lOutside of Ore Processing:&r\n\nOh boy, what can't this machine do? Decomposition recipes to separate dust types, separating air, do your taxes, and many others...\n\nThe list is too long! Let's just say &cyou need the Centrifuge&r.", + "quests.low_voltage.lv_centrifuge.desc.2": "&lFor Ore Processing:&r\n\nThis takes &aImpure Dust&r or &aPurified Dust&r and turns them into clean Dust, plus an added tiny Dust &6Byproduct&r. This is outside of the optimal chain for Byproducts, but this is also the cheapest Ore Processing machine of the presented array to run and to setup on a small scale.", + "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Lore:&r&o In base GTCE, this was objectively the strongest Ore Processing machine as it was fairly easy to use, and gave three tiny dusts, just like the Ore Washer or the Thermal Centrifuge. We tuned it down in favor of diversity.", + "quests.low_voltage.lv_centrifuge.task": "", + "quests.low_voltage.lv_glue.title": "Glued", + "quests.low_voltage.lv_glue.subtitle": "Oh so I can use my sticky resin better", + "quests.low_voltage.lv_glue.desc": "You can now &3centrifuge&r &aSticky Resin&r, which will still give Raw Rubber - but this time alongside &aGlue&r (and the less useful Plantball, &6for now&r).\n\nGive yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembling Machine&r (and it is especially useful &oin the near future&r).\n\n&eNote:&r You could also use &aGlue&r from TFC if you feel it would be easier for you", + "quests.low_voltage.lv_cutter.title": "Basic Cutter", + "quests.low_voltage.lv_cutter.subtitle": "The Cutter... cuts...", + "quests.low_voltage.lv_cutter.desc": "For now, you should use &9Water&r for its recipes instead of trying to acquire Lubricant.\n\nThe &3Cutting Machine&r additionally unlocks converting &6Rods into four Bolts&r.\n\nThis machine is the only way to obtain &dGem Plates&r, which are needed to craft Filters, and by extension, the &3Gas Collector&r.", + "quests.low_voltage.lv_gas_collector.title": "Basic Gas Collector", + "quests.low_voltage.lv_gas_collector.subtitle": "Don't stand to close to it you could finish within the machine", + "quests.low_voltage.lv_gas_collector.desc": "The Gas Collector collects Air that can then be centrifuged into &aOxygen&r and &aNitrogen&r.\n\n&l&3Lore:&r&o GregTech 5 players remember when they had to use a Compressor with IC2 cells to get Compressed Air... here, cell chemistry is no more.", + "quests.low_voltage.lv_oxygen.title": "Breath of Fresh Oxygen", + "quests.low_voltage.lv_oxygen.subtitle": "Achtually, it's Dioxygen...", + "quests.low_voltage.lv_oxygen.desc.1": "You could waste &o&eprecious years of your life&r in JEI looking for the most optimal Oxygen recipe, given the many ways to obtain it. Various minerals will produce it when electrolyzed.\n\nIf only the quest book had more information!", + "quests.low_voltage.lv_oxygen.desc.2": "Surprise! The best source according to us (!) is &acentrifuging Air&r after making a &dGas Collector&r, which you might not be able to make just yet. This recipe also gives &aNitrogen&r, which is handy as it can speed up certain &3Electric Blast Furnace&r recipes&r.\n\nThe second best source according to us (!) is &aelectrolyzing Silicon Dioxide&r. Silicon Dioxide is obtained from various sources, such as Glass Dust, Granite Dust and Black Granite Dust. We will come back to &6this method later&r because this one is actually &6god&r.", + "quests.low_voltage.lv_oxygen.desc.3": "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost. &4Don't use this method for Oxygen&r only for &1Hydrogen&r, once again we will help you later on to make Hydrogen.\n\nThe fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A bucket will also work.", + "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", + "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", + "quests.low_voltage.lv_nitrogen.desc": "For now your only use for Nitrogen will be to get your EBF to be &6faster&r. And you have to know that will be quite useful as it is a really slow process and quite draining on your energy capacity.", + "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", + "quests.low_voltage.lv_arc_furnace.subtitle": "Never the Arc Furnace has been so good", + "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r. It's also your new best way to make &4Red Steel Ingot&r and &1Blue Steel Ingot&r.\n\nIt can also recycle various components and machines back to their original material.", + "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", + "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", + "quests.low_voltage.lv_extractor.subtitle": "The Steam Extractor extracts...", + "quests.low_voltage.lv_extractor.desc.1": "Hm... didn't we make this joke already?\n\nThe reason we didn't present &7LV&r versions of &6Steam&r machines is because they are &4NOT&r required. You might not want to invest into an upgrade that does next to nothing. Except for &othis one&r specifically, because it's a big improvement over the &6Steam Age&r.\n\nThe &3Basic Extractor&r gains Fluid capabilities, which enables &aFluid Extraction&r. Use it to melt Rubber that you previously solidified, to &dmelt Soldering Alloy&r for your circuits, and to &dmelt Red Alloy&r for the &6best Vacuum Tube recipe&r in the &3Assembler&r!", + "quests.low_voltage.lv_extractor.desc.2": "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech.", + "quests.low_voltage.lv_chemical_reactor.title": "Basic Chemical Reactor", + "quests.low_voltage.lv_chemical_reactor.subtitle": "Chemistry for dummies", + "quests.low_voltage.lv_chemical_reactor.desc.1": "The &3Chemical Reactor&r will be required for &la lot&r of recipes.\n\nLet's give it a spin - why don't we use your freshly made Chemical Reactor to unlock a new, &6better recipe for Rubber&r? Rubber is &dunusable&r as a Fluid, so you will need to make another machine to process it further.", + "quests.low_voltage.lv_chemical_reactor.desc.2": "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: \n\nA &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward.\n\nYou could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A Drum is the perfect candidate.", + "quests.low_voltage.lv_fluid_solidifier.title": "Basic Fluid Solidifier", + "quests.low_voltage.lv_fluid_solidifier.subtitle": "The Fluid Solidifier solidifies...", + "quests.low_voltage.lv_fluid_solidifier.desc": "Build this machine next to your &3Chemical Reactor&r to automatically solidify Rubber into &aRubber Sheets&r.\n\nYou can make your Chemical Reactor auto-output if you &dwrench&r the side of your &3Chemical Reactor&r and enable Fluid &9auto-output&r.\n\nThere will be more Fluids to solidify, so you may re-purpose your &3Fluid Solidifier&r when not crafting Rubber - or make a second one!", + "quests.low_voltage.mold_rotor.title": "Combo!", + "quests.low_voltage.mold_rotor.subtitle": "Time to end the misery of hand crafting rotors!", + "quests.low_voltage.mold_rotor.desc": "Use both of your new machines to turn a material into a Fluid, and solidify it back to a Rotor! This combination makes Rotors far easier to craft - &6four Ingots per Rotor&r, as well.\n\nYou can also do the same for &6Gears&r and &6Small Gears&r, which will then be superseded when you make a &3MV Extruder&r.\n\n&9Note:&r Some metals require higher voltages than &7LV&r for Fluid Extraction, so make sure to keep an eye on the recipe tier in EMI.", + "quests.low_voltage.mold_plate.title": "Casting Mold and Rubber Sheets", + "quests.low_voltage.mold_plate.subtitle": "Yeah this one is strong", + "quests.low_voltage.mold_plate.desc": "Stop wasting your time with your &6alloy smelter&r. You gonna need a lot of &6rubber sheet&r and later on you will use it for other kind of platics.\n\nThe &6Fluid solidifier&r is as amazing as the extruder but the extruder has no use before &bMV&r so... Yeah build this one we will speak later on about the &bExtruder&r.", + "quests.low_voltage.cupronickel_coil.title": "Cupronickel Coils", + "quests.low_voltage.cupronickel_coil.subtitle": "Baby's first heating coil", + "quests.low_voltage.cupronickel_coil.desc": "Prepare &a128 Cupronickel&r, &a32 Bronze&r and &a16 Tin Alloy&r to craft the Heating Coils required for your first Electric Blast Furnace.\n\nThis is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining.\n\nThe Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us.\n\n&6This quest unlocks a new tutorial on Coils in the &lTips and Tricks&r&6 tab - check it out to learn more!&r", + "quests.low_voltage.lv_ebf.title": "The Electric Blast Furnace", + "quests.low_voltage.lv_ebf.subtitle": "One of the core machine of Gregtech. We like it big.", + "quests.low_voltage.lv_ebf.desc.1": "This Quest explains the core mechanic of the &3Electric Blast Furnace&r, whilst the quest over will explore the mechanics of the Multiblock Parts that you'll also need. Be sure to refer to them.\n\nAnyway, the &3EBF&r is your &efirst electric multiblock&r! Congrats. It's used to process materials at high temperatures.\n\nYou'll become familiar with the EBF to make &aAluminium&r and progress to &d&bMV Age&r. It can also make &7Steel&r faster than the the &6Blast Furnace&r.", + "quests.low_voltage.lv_ebf.desc.2": "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators. You may wish to consider building a separate power line, with separate Generators and Battery Buffer to run this.", + "quests.low_voltage.multiblock_tech.title": "Multiblock Techniques", + "quests.low_voltage.multiblock_tech.subtitle": "Oh we love multiblocks right?", + "quests.low_voltage.multiblock_tech.desc": "This is the &6basics&r of what you need to build your first &bEBF&r, though it is highly customisable. Remember to use &6EMI&r, use &6U&r on the controller and don't hesitate to &6left click on the structure blocks&r to see what the possibilities are.\n\nMultiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - we've written a guide to help you learn.\n\n&dThis quest unlocks a bunch of tutorials on Multiblocks in the &lTips and Tricks tab - check them out to learn more!&r", + "quests.low_voltage.multiblock_tech.task.1": "Input Bus", + "quests.low_voltage.multiblock_tech.task.2": "Output Bus", + "quests.low_voltage.multiblock_tech.task.3": "Input Hatch", + "quests.low_voltage.lv_superconductor.title": "LV Superconductor", + "quests.low_voltage.lv_superconductor.subtitle": "No loss no bzzz", + "quests.low_voltage.lv_superconductor.desc.1": "&6Superconductors&r are special Wires available for each Voltage tier. They don't come with a Cable counterpart, but that isn't necessary, as they have absolutely &6zero cable loss&r.\n\nThey also won't damage you when you touch them. This makes them the best choice for wiring, if not a little expensive in comparison to the other wires.\n\nIf you weren't already enamoured, the 1x variant also covers 2 Amps. Isn't that nice?\n\nNow is a good time to replace your crappy &aTin Cables&r. Recycle them in the &3Packager&r to recover both the Tin and Rubber used to craft them.", + "quests.low_voltage.lv_superconductor.desc.2": "&l&3Lore:&r&o No version of GregTech has had actual Superconductors for &7LV&f up until Gregicality and GTCEu, though some modpacks had lossless cables.", + "quests.low_voltage.aluminium_dust.title": "Aluminium Dust", + "quests.low_voltage.aluminium_dust.subtitle": "Time for an adventure", + "quests.low_voltage.aluminium_dust.desc": "Getting Aluminium in &bTFG&r is a bit different than usual Gregtech pack. Surprise there is &baluminium ore&r that you can directly mine! Have a look in your &2TFC Field Guide&r.\n\nNow all you need is an EBF! You should have started to work towards one, else now is the time.", + "quests.low_voltage.aluminium_ingot.title": "Your first Aluminium Ingot", + "quests.low_voltage.aluminium_ingot.subtitle": "We're basically in MV now, right?", + "quests.low_voltage.aluminium_ingot.desc": "Well... can you show us an &bMV&r Circuit as well?\n\n&aAluminium&r is the main ingredient for &bMV&r machinery. Get ready to need a lot of it.\n\nThe process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r.\n\n&6You will still need MV Circuits in order to make MV machines!&r", + "quests.metal_age": "Metallurgy Age", + "quests.metal_age.subtitle": "Your First Technological Advancements.", + "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", + "quests.metal_age.weld_bronze_ingots.subtitle": "I told you to get used to it", + "quests.metal_age.weld_bronze_ingots.desc": "Obtain at least 14 Ingots of any Bronze type, then weld them together in the Copper Anvil.\n\nThe Tier 2 Anvil can be made from Bismuth Bronze, Bronze or Black Bronze, but not a mixture of the three.", + "quests.metal_age.anvil_recycling.title": "Anvil Recycling?", + "quests.metal_age.anvil_recycling.subtitle": "Because 14 ingots is a lot now", + "quests.metal_age.anvil_recycling.desc": "Once you craft the next tier of Anvil (such as going from Copper to Bronze, or Bronze to Wrought Iron), the previous tier basically becomes useless.\n\nHowever, since it's made out of metal, you &ocan and should&r melt the previous tier of Anvil back into its liquid metal form!\nGrab a Vessel and place it on the right hand side of the Charcoal Forge interface, then place the Anvil and slowly heat it until it reaches the melting temperature. The molten metal will be deposited inside the Vessel, then you can cast it back into ingots or whatever you like!", + "quests.metal_age.bronze_anvil.title": "T2 Anvil: Bronze", + "quests.metal_age.bronze_anvil.subtitle": "Basic mechanical power starts here", + "quests.metal_age.bronze_anvil.desc": "To work metal into more than just double ingots, you'll need to use an anvil of the same tier or better. Working on an anvil can be a little bit complicated, but there's an entry in the TFG Tips section of the field guide that goes into more detail.\n\nBronze also marks the start of automation, where you'll begin to harness mechanical power!", + "quests.metal_age.bronze_goodies.title": "Bronze Level Mechanical Power", + "quests.metal_age.bronze_goodies.subtitle": "Oh No, It's Create Again", + "quests.metal_age.bronze_goodies.desc": "Bronze is a sturdy enough material to enable very basic mechanical power.\n\nCheck the &oEarly Automation&r quest chapter to get started!", + "quests.metal_age.copper_diving.title": "Copper Diving Equipment", + "quests.metal_age.copper_diving.subtitle": "If mining wasn't dangerous enough", + "quests.metal_age.copper_diving.desc": "Struggling with aquifers in your ore veins? You can craft a set of copper diving equipment, with an air supply that can last for 20 minutes!", + "quests.metal_age.bloomery.title": "Bloomery", + "quests.metal_age.bloomery.subtitle": "Required if you seek the Iron Age.", + "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and charcoal that it needs.", + "quests.metal_age.mining.title": "Mining in the Metallurgy Age", + "quests.metal_age.mining.subtitle": "ROCK AND STONE!", + "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", + "quests.metal_age.weld_wrought_iron_ingots.title": "Welding Wrought Iron", + "quests.metal_age.weld_wrought_iron_ingots.subtitle": "CLANG CLANG CLANG", + "quests.metal_age.weld_wrought_iron_ingots.desc": "Obtain at least 14 Ingots of Wrought Iron, then weld them together in a Bronze Anvil. Charcoal alone won't reach high enough temperatures to weld Wrought Iron, so check the quest above this for a solution.", + "quests.metal_age.bellows.title": "Bellows", + "quests.metal_age.bellows.subtitle": "Higher temperatures can be reached, at a small price.", + "quests.metal_age.bellows.desc": "The Bellows is a device that can force extra air into a fire or forge in front of it, allowing the heat produced by the fuel inside to reach higher temperatures than usual, at the cost of fuel duration.\n\nThe Bellows is basically mandatory for working with Wrought Iron unless you have Coal.", + "quests.metal_age.wrought_iron_anvil.title": "T3 Anvil: Wrought Iron", + "quests.metal_age.wrought_iron_anvil.subtitle": "Waterwheels, Windmills and more Greate", + "quests.metal_age.wrought_iron_anvil.desc": "With the Wrought Iron Anvil you'll be able to work Wrought Iron Ingots into different items such as Sheets, Tool heads, etc.\n\nWrought Iron tools and armor isn't much of an improvement over Bronze, but it has far more durability.\n\nCreating the next anvil is going to be a significant step up in difficulty, so this is a good point to settle down and explore some of the other things this modpack has to offer.", + "quests.metal_age.coke_oven.title": "Coke Oven", + "quests.metal_age.coke_oven.subtitle": "Finally, No More Charcoal Piles", + "quests.metal_age.coke_oven.desc.1": "The Coke Oven is your first GregTech multiblock! It allows you to automatically create Charcoal and other powerful combustibles. The Coke Oven will burn one Log into one Charcoal and 250mb of Creosote, which is an important chemical used wood treating.\n\nIf you craft the main Coke Oven block and press the JEI 'Uses' key on it (defaults to \"U\"), you'll find the tab called \"Multiblock Info\", which shows you how to build the Coke Oven in the world.\n\nYou can also just place the Controller block in the world, and interact with it while sneaking to create a Hologram of blocks missing.", + "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum or Keg to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", + "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", + "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", + "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a fully automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", + "quests.metal_age.fire_clay_ingredients.title": "Fire Clay Ingredients", + "quests.metal_age.fire_clay_ingredients.subtitle": "The TerraFirmaCraft Rite of Passage.", + "quests.metal_age.fire_clay_ingredients.desc": "Fire Clay is a special clay made out of Kaolinite, Graphite and regular Clay, which is especially resistant to high temperatures. Its two main uses are the Crucible, which works as an improved version of a Vessel for Metal Smelting and Alloying, and the Blast Furance, which is required for the creation of the next anvil and metal tier, Steel.\n\nYou'll likely need to travel far, far away from your base to obtain both Graphite and Kaolin Clay, so preparation is key!", + "quests.metal_age.overworld_kaolin.title": "Kaolin Source: Overworld", + "quests.metal_age.overworld_kaolin.subtitle": "Welcome to the Jungle", + "quests.metal_age.overworld_kaolin.desc": "Kaolin Clay can be found exclusively in areas with the combination of high altitude, temperature (at least 18°C), and humidity (at least 300mm rainfall). A full list of Kaolin Clay's spawn requirements and tips can be found in the Field Guide.\n\nYou'll very likely need to travel very, VERY far towards the South East, likely across the ocean. Prepare yourself with an Iron Flask, large quantities of food, some sort of watercraft like a Canoe, Rowboat or Kayak, and extra portable storage for bringing home as much Kaolin as you can.\n\nThere are quests in TerraFirmaGreg Tips that go over portable storage and watercrafts.", + "quests.metal_age.beneath_kaolin.title": "Kaolin Source: The Beneath", + "quests.metal_age.beneath_kaolin.subtitle": "To the Depths", + "quests.metal_age.beneath_kaolin.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. In the upper areas, you may be able to find the Lush Hollow, a small green oasis in the depths where Kaolin Clay can spawn. A particular monster may be guarding it, however...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", + "quests.metal_age.beneath_kaolin.task": "Traverse the Overworld Bedrock and reach The Beneath", + "quests.metal_age.overworld_graphite.title": "Graphite Source: Overworld", + "quests.metal_age.overworld_graphite.subtitle": "You mean I can't just rely on surface indicators?", + "quests.metal_age.overworld_graphite.desc": "Graphite spawns exclusively in flat, wide discs deep underground.\n\nYou will have to go exploring underground through the caves to try and spot some! Graphite veins can spawn in any stone type and also include Coal and Diamond, and will have all three indicators nearby. Tools such as a metal Shield, Digger Helmet, Propick, and Spyglass can also prove to be very useful!", + "quests.metal_age.beneath_graphite.title": "Graphite Source: The Beneath", + "quests.metal_age.beneath_graphite.subtitle": "To the Depths", + "quests.metal_age.beneath_graphite.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. Down in the Beneath you can find huge, tall Graphite veins, but a particular monster may be guarding it...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", + "quests.metal_age.beneath_graphite.task": "Traverse the Overworld Bedrock and reach The Beneath", + "quests.metal_age.kaolin_clay.title": "Kaolin Clay", + "quests.metal_age.kaolin_clay.subtitle": "Kaolin Trek: The Next Generation", + "quests.metal_age.kaolin_clay.desc": "Once you find Kaolin Clay, you should bring as much back as you can possibly carry! Unfortunately, only 20% of it will successfully cook into Kaolinite Powder, so it's recommended to bake it in situ with pit kilns, to save inventory space.\n\nAfter you craft the Crucible and the Blast Furnace, you won't need much more of it, but it's still a good idea to bring home more than you think you'll need, to avoid a repeat journey.\n\nP.S.: If you've found blood lilies but no clay, try digging down a little further! Sometimes it spawns a little underground.", + "quests.metal_age.graphite.title": "Graphite", + "quests.metal_age.graphite.subtitle": "Pencils do not exist", + "quests.metal_age.graphite.desc": "Once you find graphite, you should bring back as much as you can! Though you won't need as much of it as Kaolin clay.\nGraphite veins are also rich in Coal and Diamonds, and you'll want the coal for making Steel soon.", + "quests.metal_age.graphite.task": "Any form of Graphite", + "quests.metal_age.fire_clay.title": "Fire Clay", + "quests.metal_age.fire_clay.subtitle": "At last", + "quests.metal_age.fire_clay.desc": "Heat up Kaolin Clay to get Kaolinite Powder, you can use a Firepit or your Forge with vessels to mass-heat the Kaolin Clay.\n\nFor the Graphite, simply pass it thru a Quern or a Millstone to get Graphite Powder\n\nFinally, combine 4 Graphite Powder, 4 Kaolinite and a piece of Clay to create Fire Clay.", + "quests.metal_age.fire_clay_products.title": "Fire Clay products", + "quests.metal_age.fire_clay_products.subtitle": "Extremely Heat Resistant Clay", + "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create unfired pieces of Clay, Notably Fire Clay can be used to create the Crucible and Fire Clay Bricks, which are required for the Blast Furnace.\n\nYou'll also unlock the Fire Ingot, which has a 90% chance to not be destroyed when you get the Ingot out of the Mold.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast multiple molds at once.", + "quests.metal_age.crucible.title": "Crucible", + "quests.metal_age.crucible.subtitle": "Melt metals, like a pro.", + "quests.metal_age.crucible.desc": "The Crucible is an advanced block that can be placed on top of a Forge, Crucibles being heated by a Forge heat up considerably faster, they have 9 inventory slots and can hold up to 4 buckets of Molten Metal. Crucibles can also be emptied out utilizing Casting Channels, They are required for the Blast Furnace to work.", + "quests.metal_age.fire_bricks.title": "Fire Bricks", + "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", + "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", + "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", + "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", + "quests.metal_age.fully_stacked_blast_furnace.desc": "The completed Blast Furnace can melt and create a lot of Steel. You should seek to complete it as you'll need a lot of steel for the future.\n\nIt is worth mentioning that in the future, you'll be able to produce both Brick Dust and Clay Dust, mixing these dusts together can be used as a cheap method of creating more Fire Bricks.", + "quests.metal_age.blast_furnace_fuel.title": "Fuel for the Blast Furnace", + "quests.metal_age.blast_furnace_fuel.subtitle": "Hope you followed the tips in the previous quests...", + "quests.metal_age.blast_furance_fuel.desc": "Regular Charcoal is not hot enough to be able to create Steel, you will need either Coke or Anthracite.\n\nCoke can be created inside a Coke Oven by utilizing Coal instead of Logs, it produces considerably more Creosote as well.\n\nAnthracite is a type of fuel found in the Beneath.", + "quests.metal_age.blast_furnace.title": "Blast Furnace", + "quests.metal_age.blast_furnace.subtitle": "I'm Blastin", + "quests.metal_age.blast_furnace.desc": "The BlastFurnace is a Multiblock form TerraFirmaCraft that allows you to create Steel. Placing a combination of Iron, Flux and Charcoal inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nTo get the Blast Furnace to properly melt down the ingredients, you'll require a Bellows to feed the Blast Furnace with Air, for the Blast Furnace to even accept the Air you'll require a Tuyere.\n\nThe Field Guide contains an entry on how the Blast Furnace works.", + "quests.metal_age.weld_steel_ingots.title": "Welding Steel", + "quests.metal_age.weld_steel_ingots.subtitle": "Again?", + "quests.metal_age.weld_steel_ingots.desc": "You should know the drill by this point, Create 14 Steel Ingots, then Weld them to get 7 Double Steel Ingots.\n\nThis will be the last quest where we'll ask you to do this, since every single other Anvil requires the same setup.", + "quests.metal_age.steel_anvil.title": "T4 Anvil: Steel", + "quests.metal_age.steel_anvil.subtitle": "Encased Fans, Crushing Wheels, Mechanical Pumps and More", + "quests.metal_age.steel_anvil.desc": "With the Steel Anvil you'll be able to work Steel Ingots into different items.\n\nUnlocking access to the Steel Anvil enables new quests in the Industrial Age, related to new processing machinery, and the Mechanical Pump.\n\nThe next anvil will unlock the very beginnings of GregTech's Steam Machinery.", + "quests.metal_age.steel_goodies.title": "Steel level Mechanical Power", + "quests.metal_age.steel_goodies.subtitle": "Blow, Crush and Pipe", + "quests.metal_age.steel_goodies.desc": "Steel unlocks a new Greate tier, with increased maximum stress capacity! You can now also make things like the Encased Fan, which can automate ore washing, and the Mechanical Pump, which gives you much more access to fluid logistics.\n\nThe Mechanical Pump is especially useful, as with some smarts, you can easily automate the Blast Furnace.", + "quests.metal_age.weak_steel.title": "Weak Steel Ingredients", + "quests.metal_age.weak_steel.subtitle": "Hope you like Alloying", + "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necesary metals to create Black Steel, it's made by utilizing 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", + "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of Matter does not apply", + "quests.metal_age.highcarb_black_steel.desc": "The last two anvils are made out of complex Alloys that will require a lot of metal to be created. Black Steel first starts as High Carbon Black Steel, which is made by welding Weak Steel and Pig Iron. It the needs to be worked on the Anvil to turn it into Black Steel", + "quests.metal_age.black_steel_anvil.title": "T5 Anvil: Black Steel", + "quests.metal_age.black_steel_anvil.subtitle": "Steam is at your Grasp", + "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll be able to work Black Steel Ingots into different items.\n\nUnlocking access to the Black Steel Anvil enables new quests in the Industrial Age, related to Steam Power. From both the Steam Engine and the High Pressure Steam Boilers.\n\nOnly one more tier to go.", + "quests.metal_age.black_steel_goodies.title": "Black Steel level Mechanical Power", + "quests.metal_age.black_steel_goodies.subtitle": "The Industrial Revolution and its consequences", + "quests.metal_age.black_steel_goodies.desc": "With Black Steel comes Steam Power! With GregTech's Boilers, you'll be able to produce Steam, and with it, power Steam Machinery and work your way to proper machines and your first electronics.", + "quests.metal_age.red_blu.title": "Red and Blue Steel", + "quests.metal_age.red_blu.subtitle": "Some of the oldest modded Minecraft fantasy steels", + "quests.metal_age.red_blu.desc": "The final tier of Anvil, T6, is made by utilizing Red or Blue steel, both are complex alloys of Steel and multiple different metals.\n\nRed and Blue steel are known for their exceptional durability, heat resistance, and overall power. The following anvil creation can be made by either using Blue or Red Steel.", + "quests.metal_age.weak_red_steel.title": "Weak Red Steel Ingredients", + "quests.metal_age.weak_red_steel.subtitle": "This is getting a little ridiculous", + "quests.metal_age.weak_red_steel.desc": "Weak Red Steel is one part of the necesary metals to create Red Steel, it's made by utilizing 4 parts Black Steel, 2 parts Steel, 1 part Brass and 1 part Rose Gold.\n\nYou can check the liquid weak red steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_blu_steel.title": "Weak Blue Steel Ingredients", + "quests.metal_age.weak_blu_steel.subtitle": "This is getting out of hand.", + "quests.metal_age.weak_blu_steel.desc": "Weak Blue Steel is one part of necesary metals to create Blue Steel, it's made by utilizing 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze and 1 part Sterling Silver.\n\bYou can check the liquid weak blue steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", + "quests.metal_age.highcarb_red_steel.subtitle": "If you think about it the fact that one half of the ingot disappears would mean there's a lot of energy being released, probably higher than the Tsar Bomba... oh well it's just a modpack.", + "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", + "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", + "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", + "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, whcih is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", + "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", + "quests.metal_age.redblu_anvil.subtitle": "It's over", + "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil, with the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the End of the regular TerraFirmaCraft progression, now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", + "quests.metal_age.red_steel_flask.title": "Red Steel Flask", + "quests.metal_age.red_steel_flask.subtitle": "This got nothing on the Iron Flask", + "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask in the game, it may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", + "quests.metal_age.redblu_buckets.title": "Bucket Components", + "quests.metal_age.redblu_buckets.subtitle": "Not quite the bucket", + "quests.metal_age.redblu_buckets.desc": "The ending of the regular progression of the Metallurgy Age is creating a Bucket. The Bucket can be used to hold lava and other hot liquids without having it melt in your hands.", + "quests.metal_age.this_is_a_bucket.title": "This, is a Bucket.", + "quests.metal_age.this_is_a_bucket.subtitle": "Dear God...", + "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components.", + "quests.steam_age": "Early Automation", + "quests.steam_age.subtitle": "From Primitive Machines to Steam Power", + "quests.steam_age.basic_greate.title": "Basics of Greate", + "quests.steam_age.basic_greate.subtitle": "Tired of Create? This'll make it more interesting", + "quests.steam_age.basic_greate.desc": "Greate is a fusion of &3Create&r and &3GregTech&r that has different tiered versions of Create's machines. It also introduces stress limits on Shafts and Cogwheels, so you'll have to plan more about how you power your machinery!\n\nGenerally speaking, you'll want smaller setups with their own individual power sources, instead of doing the usual Create thing of having a blob of water wheels connected into a single Shaft into your base.", + "quests.steam_age.create_tools.title": "Tools of the Trade", + "quests.steam_age.create_tools.subtitle": "These may be useful", + "quests.steam_age.create_tools.desc": "A wrench will let you quickly pick up Create blocks by Sneak + Right-Clicking on them, though an axe or pickaxe will still work too. The goggles will let you see much more detailed information about your machines, such as how much stress they're producing or consuming.\n\nBoth of these are optional for now, but will prove to be very useful, and you'll definitely want them later.", + "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", + "quests.steam_age.basic_millstone.subtitle": "No more querning", + "quests.steam_age.basic_millstone.desc": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Horse Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", + "quests.steam_age.horse_crank.title": "Your First Power Source", + "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", + "quests.steam_age.horse_crank.desc.1": "The &3Horse Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (4 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (6 SU):&r\nCow, Donkey\n\n&3Large Animals (8 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.poor_paths.title": "Poor Paths", + "quests.steam_age.poor_paths.subtitle": "This is just dirt", + "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The horse crank will operate at 2 RPM.", + "quests.steam_age.normal_paths.title": "Medium Paths", + "quests.steam_age.normal_paths.subtitle": "Ok, you put a little effort in", + "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 4 RPM.\n\nNote: You can't have a Dirt Path block directly under the horse crank, so that one will have to be Gravel.", + "quests.steam_age.good_paths.title": "Great Paths", + "quests.steam_age.good_paths.subtitle": "No horseshoes required!", + "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", + "quests.steam_age.helve_hammer.title": "Helve Hammer", + "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", + "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.water_wheel.title": "Water Wheels", + "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", + "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Horse Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find some sort of river or waterfall to power these.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", + "quests.steam_age.windmill.title": "Windmills", + "quests.steam_age.windmill.subtitle": "Pairs well with tulips", + "quests.steam_age.windmill.desc": "If you aren't near flowing water, a windmill is another effective option for a better source of power. Bigger windmills provide more stress units and faster speeds.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", + "quests.steam_age.metal_casing.title": "Metal Casings", + "quests.steam_age.metal_casing.subtitle": "Primitive Machine Hull?", + "quests.steam_age.metal_casing.desc": "These are the basis of most of the simple machines you can build with Create. Check JEI for all the different things you can craft with this, including Gearboxes and other ways to control your stress units.\n\nNew to Create? There's many tutorials online about different kinds of contraptions you can build, and most of them will still work in TFG too! (Except anything involving cobble generators)", + "quests.steam_age.mechanical_harvester.title": "Mechanical Harvester", + "quests.steam_age.mechanical_harvester.subtitle": "Robotic Cherrypicking", + "quests.steam_age.mechanical_harvester.desc": "Too lazy to harvest and replant your crops? These will do it for you! Place them on a spinning contraption and watch them go. These won't work on crops planted inside a greenhouse though.\n\nProtip: It's always a constant 15°C down at bedrock level, so it's a cool location for a farm that can grow crops all year round!", + "quests.steam_age.mechanical_saw.title": "Mechanical Saw", + "quests.steam_age.mechanical_saw.subtitle": "Efficient cutting of wood, stone, and your fingers", + "quests.steam_age.mechanical_saw.desc": "Tired of chopping trees? These will do it for you! Place them on a spinning contraption and watch them go. Unfortunately, you'll still have to replant the saplings them yourself until you get access to a Deployer.\n\nA Mechanical Saw can also double as a stonecutter, giving easier access to various forms of masonry. Using it to chop logs into lumber is also more efficient!", + "quests.steam_age.chute.title": "Early Logistics", + "quests.steam_age.chute.subtitle": "Public infrastructure for your items", + "quests.steam_age.chute.desc": "You now have access to ways to move your items around! Chutes are similar to hoppers and are cheaper, but can only move items downwards. Both of these can also push items from container into Item Pipes.\n\nFunnels are similar but are best paired with Belts instead of Item Pipes.", + "quests.steam_age.item_pipes.title": "Item Pipes", + "quests.steam_age.item_pipes.subtitle": "Not as cool as Item Conduits", + "quests.steam_age.item_pipes.desc.1": "&3Item Pipes&r are a simple yet effective way to move items around &dinstantly&r, but with throughput limitations.\n\nHigher tier pipes provide ridiculously large throughput - a rare sight in modded Minecraft!\n\nItem Pipes &9do not pull&r, but they will push any item inserted into them to other connected inventories, prioritizing &9the closest inventory&r first.", + "quests.steam_age.item_pipes.desc.2": "The priority mechanics are &osomewhat complicated&r, so skip ahead if you aren't interested:\n\nA &eDestination&r will have a &dRouting Value&r calculated, which is the sum of all \"Routing Values\" of the individual Pipes to that Destination. Whichever Destination has the &clowest &dRouting Value&r will be the one selected for Insertion.\n\n&3Restrictive Pipes&r typically have the lowest Priority for insertion due to their higher Routing Value.", + "quests.steam_age.item_pipes.desc.3": "Right now, you can use them in combination with &6Chutes&r and &6Hoppers&r, but you will also be able to use them with Conveyor Modules, Output Buses, and machine Auto-Outputs all in the LV age.\n\n&9Note:&r GT6-style Pipes are &denabled&r. It means that placing Pipes connect them only to the block they were placed against. To open more connections, use your &5Wrench&r on the grid.\n\nGet &eany&r of the suggested Item Pipes to complete this quest.", + "quests.steam_age.item_pipes.desc.4": "&l&3Lore:&r&o Oooooh, YEAH! Item Pipes were in GregTech 5, and for whatever reason they weren't kept for GTCE, so you had to use other mods to transport items. Who does that!? Jokes aside, we hope you enjoy Item Pipes being back in GregTech!", + "quests.steam_age.steel_greate.title": "Steel-tier Greate", + "quests.steam_age.steel_greate.subtitle": "Greate so good they made Greate 2", + "quests.steam_age.steel_greate.desc": "Welcome to the next tier of Greate! Steel Shafts and Cogwheels can hold four times as much stress as your old ones. The total stress limit of a kinetic setup is determined by the weakest link, so unfortunately you'll have to replace your old setup if you want to reap the rewards. Some of the old parts can be recycled at least!", + "quests.steam_age.steel_encased_fan.title": "Encased Fan", + "quests.steam_age.steel_encased_fan.subtitle": "Great for hot days", + "quests.steam_age.steel_encased_fan.desc": "The &3Encased Fan&r is the final step in your first fully automatic ore processing line, so you no longer need to clean your impure dusts by hand. Point the fan at your dusts with a water source between, and they'll be gleaming in no time. As a bonus, it'll give you some extra byproducts too! It might be tricky to move a water source right now, but you can build around an existing part of a river or lake.", + "quests.steam_age.steel_millstone.title": "Steel Millstone", + "quests.steam_age.steel_millstone.subtitle": "A worthwhile upgrade", + "quests.steam_age.steel_millstone.desc": "With a much higher kinetic capacity, the steel millstone is a worthwhile upgrade over your basic one, letting you spin it much faster for quicker crushing. A good upgrade for all the different new ores you'll be getting soon!\n\nAgain though, it only outputs items in the first slot in JEI.", + "quests.steam_age.steel_pump.title": "Fluid Handling", + "quests.steam_age.steel_pump.subtitle": "Delicious pipe spaghetti", + "quests.steam_age.steel_pump.desc.1": "With the Steel Age, now you can automate fluids as well as items! The &3Mechanical Pump&r can pull fluids out of pretty much anything, including barrels, crucibles, and even source blocks. You can use it with either Create's or GregTech's fluid pipes, though each behaves a little differently.", + "quests.steam_age.steel_pump.desc.2": "Create's pipes have no internal fluid capacity, instead transporting fluids directly from source to destination. You can right-click them with a Copper Casing to \"lock\" any connections in place, and right-clicking them with a wrench will open a little window that prevents intersections, so you can run multiple pipes next to each other. Create's pipes also require a mechanical pump to use, and each pump only has a range of 16 blocks, but one pump can pull fluids from multiple sources at once.\nThey also have no temperature limit!", + "quests.steam_age.steel_pump.desc.3": "On the other hand, GregTech's pipes do have their own internal fluid capacity and don't require a pump once fluid is inside them. Like item pipes, their connections can also be fully controlled by sneak right-clicking them with an empty off-hand, and we recommend doing so on all your pipes otherwise the fluid sloshes around.\n\nAre your mechanical pumps and GregTech pipes not connecting? Flip the pump twice (right-click with a wrench) and that should get them working together.", + "quests.steam_age.mold_table.title": "Blast Furnace Automation", + "quests.steam_age.mold_table.subtitle": "The Electric Blast Furnace is a long way off", + "quests.steam_age.mold_table.desc.1": "You're going to need &3tons&r of steel for a while, so automating your blast furnace is definitely a worthwhile investment. The Mechanical Pump can pull fluids directly out of the blast furnace (much faster than it drips into a crucible) into a Mold Table, and the pump will also let the ingots cool instantly! You can then put a Chute or Hopper directly under the mold table to pull the ingots out of it. From there, you can send the Pig Iron Ingots over to your Helve Hammer.", + "quests.steam_age.mold_table.desc.2": "If you'd like, you can also use a Chute to drop your items into the top of the blast furnace, and a Deployer to automatically work the bellows. Excessive bellow blowing will quickly use up the durability of your Tuyere, though item pipes can push a new one in.\n\nYou could even have a pump pull from both your blast furnace and your crucible, using a Fluid Valve to stop the pump while you're alloying, and turn it back on once you're finished.", + "quests.steam_age.fluid_pipes.title": "Fluid Pipes", + "quests.steam_age.fluid_pipes.subtitle": "Liquids, gases... we don't discriminate", + "quests.steam_age.fluid_pipes.desc.1": "&bFluid Pipes&r will transport &7Steam&r between machines for you.\n\nEach Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now.\n\nEach material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)\n\nTo start off, we recommend using Wood pipes for cold fluids, and Bronze ones for hot fluids.", + "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", + "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", + "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Screwdriver allows a Drum to drain its content into another container placed below it.", + "quests.steam_age.fluid_drums.desc.2": "&l&3Lore:&r&o These drums are actually ported from GregTech 6.", + "quests.steam_age.boilers.title": "Steam Boilers", + "quests.steam_age.boilers.subtitle": "Portable Steamroom", + "quests.steam_age.boilers.desc.1": "Steam machines need to be powered! You have three options to generate steam: the &3Solid&r boiler accepts solid fuels like coal and charcoal, the &3Liquid&r boiler accepts liquids like creosote and lava, and the &3Solar&r boiler requires no fuel but only works during the day. The choice is yours, but we recommend the liquid one if you're unsure.\n\nSteam machines all have a vent which needs to stay unblocked in order for them to work properly.", + "quests.steam_age.boilers.desc.2": "&aWarning:&r Boilers will &bexplode&r if you attempt to put water into them while they are dry and hot. It's best to always have water being pumped into them, but you can always break and place the block to reset its temperature.", + "quests.steam_age.boilers.tasks": "Any High Pressure Steam Boiler", + "quests.steam_age.steam_bloomery.title": "Steam Bloomery", + "quests.steam_age.steam_bloomery.subtitle": "The Bloomery's uncle", + "quests.steam_age.steam_bloomery.desc": "You're always going to need a lot of Wrought Iron, so why not automate your Bloomery? The next closest way to automate wrought iron is way off in LV. The Steam Bloomery is a new multiblock that'll automate your old TFC bloomery, and do it faster too! Like with the Coke Oven, you can press the JEI 'Uses' key (defaults to \"U\") to show the multiblock preview tab. Click on individual blocks to see what's valid in each location.", + "quests.steam_age.steam_furnace.title": "Steam Furnace", + "quests.steam_age.steam_furnace.subtitle": "The Steam Furnace furnaces...", + "quests.steam_age.steam_furnace.desc": "Want to quickly smelt something into an ingot? The &3Steam Furnace&r does just that! It can turn many ores and dusts quickly into their ingot form, at the expense of not getting any byproducts. While it can also cook food for you, it currently has a bug where the food expiration data isn't copied over correctly, meaning some food may come out rotten. We recommend sticking to Firmalife's Oven for that instead.", + "quests.steam_age.steam_oven.title": "Steam Oven", + "quests.steam_age.steam_oven.subtitle": "The Steam Grinder's big brother", + "quests.steam_age.steam_oven.desc.1": "&o...or little brother. Don't let him know!&r\n\nThe &3Steam Oven&r is a great multiblock option if you need &6effortlessly smelt large quantities of items.&r No more lines of furnaces that you have to manually empty and refuel!\n\nIt effectively behaves as a parallel furnace, smelting up to 8 items at a time for a low cost of Steam.", + "quests.steam_age.steam_oven.desc.2": "&l&3Lore:&r&o This Multiblock - despite being very similar to its brother, the Steam Grinder - isn't ported from a GregTech version or addon. Its actual progenitor is the Steam Oven from Railcraft, which dates back to 1.4.7!", + "quests.steam_age.steam_macerator.title": "Steam Macerator", + "quests.steam_age.steam_macerator.subtitle": "The Steam Macerator macerates...", + "quests.steam_age.steam_macerator.desc": "This machine does exactly the same thing as the Millstone, so if you already have one of those, there's not much point to building this. Still, one or the other is required for progression at this point. No, this machine doesn't output any of the extra output slots either. You'll have to wait until &6HV&r for that.", + "quests.steam_age.steam_grinder.title": "Steam Grinder", + "quests.steam_age.steam_grinder.subtitle": "The Steam Macerator's little sister", + "quests.steam_age.steam_grinder.desc": "Like the Steam Oven, the &3Steam Grinder&r is an upgraded version of the single-block version that can do multiple items at the same time. Is it worth it? That's totally up to you.", + "quests.steam_age.rock_crusher.title": "Steam Rock Crusher", + "quests.steam_age.rock_crusher.subtitle": "The Rock Crusher duplicates blocks... wait what?", + "quests.steam_age.rock_crusher.desc": "The Rock Crusher is basically a cobblestone generator in a box. It can take any raw stone or cobblestone and generate more of it, at the low cost of just a little steam. This doesn't help at all for progression, but if you're looking to make a lot of bricks, this machine is perfect.", + "quests.steam_age.forge_hammer.title": "Steam Forge Hammer", + "quests.steam_age.forge_hammer.subtitle": "The Forge Hammer hammers...", + "quests.steam_age.forge_hammer.desc": "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!\n\nIt can process &bCobblestone into Gravel&r, and &dGravel into Sand&r - and it's zippy at that to boot.\n\nLast but not least, it makes &aPlates&r at a better ratio: &6three Ingots for two Plates&r. A worthwhile investment!\n\nOn top of all that, the Forge Hammer lets you (slowly) work in-between ingots such as Raw Blooms into Wrought Iron, or Pig Iron into Steel, if you want a more compact version of the Helve Hammer!", + "quests.steam_age.alloy_smelter.title": "Steam Alloy Smelter", + "quests.steam_age.alloy_smelter.subtitle": "The Alloy Smelter makes alloys...", + "quests.steam_age.alloy_smelter.desc": "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future.\n\nIt can also weld High Carbon ingots together at a much more efficient rate!\n\nOut of all the &6Steam Age&r machines, this is the most steam-hungry. If you ever find yourself running out of steam, give your machine a &alove-tap&r with &dany Soft Mallet&r to momentarily pause it.", + "quests.steam_age.compressor.title": "Steam Compressor", + "quests.steam_age.compressor.subtitle": "The Steam Compressor compresses...", + "quests.steam_age.compressor.desc": "The &3Steam Compressor&r can turn ingots and gems into blocks, nuggets into ingots, and most importantly, wood pulp into single Planks. You'll see why those are important soon!", + "quests.steam_age.molding.title": "Molding", + "quests.steam_age.molding.subtitle": "Reduce the amount of malding by molding", + "quests.steam_age.molding.desc": "In addition to alloying metals together, the Alloy Smelter can also use &3Molds&r to convert materials into different shapes.\n\nYou'll want the listed molds for future alloy smelting. Be sure to make &aMolds&r - don't make &cExtruder Shapes&r, as they're used in a different machine.\n\nYou may also be interested in the Gear molds, but using them to craft gears is more expensive than doing it by hand.", + "quests.steam_age.red_alloy.title": "Red Alloy", + "quests.steam_age.red_alloy.subtitle": "A completely fictional alloy", + "quests.steam_age.red_alloy.desc": "&4Red Alloy&r is an alloy of Copper and Redstone, prized in the GregTech universe for its conductivity. You can craft it either in an Alloy Smelter or in your Crucible, if you'd like.\n\nYou will need some for &9Electron Tubes&r.\n\n&l&3Lore:&r&o This material originally comes from RedPower - what a throwback!", + "quests.steam_age.extractor.title": "Steam Extractor", + "quests.steam_age.extractor.subtitle": "The Steam Extractor extracts...", + "quests.steam_age.extractor.desc": "Not many items are made in the &3Extractor&r during the &6Steam Age&r, but it's used to make &9Rubber&r, which you'll need for your first electronics.", + "quests.steam_age.glass_tube.title": "Glass Tubes", + "quests.steam_age.glass_tube.subtitle": "You'll want a lot of these", + "quests.steam_age.glass_tube.desc": "While you could make all of these by hand with glassblowing, it's much more time efficient to create them in your Alloy Smelter with the appropriate mold instead. Need a lot of glass dust? You can either glassblow 16 panes at once to macerate them, or use the Rock Crusher and Forge Hammer to get lots of sand, then add a little Flint dust to turn it into glass dust.", + "quests.steam_age.treated_planks.title": "Treated Planks", + "quests.steam_age.treated_planks.subtitle": "Also known as Treated Plywood", + "quests.steam_age.treated_planks.desc": "Hope you've been saving up your creosote, because making these pulped and compressed planks is another use for it.\n\n&l&3Lore:&r&o In earlier versions of TerraFirmaGreg, this was the point when you could actually start Create!", + "quests.steam_age.electron_tube.title": "Electron Tube", + "quests.steam_age.electron_tube.subtitle": "Ultra Ultra Low Voltage...?", + "quests.steam_age.electron_tube.desc": "These may be initally very painful to craft, but you should use your first few on setting up a line of Deployers, to make crafting them significantly cheaper.\n\nBesides Deployers, these are also used for a wide variety of advanced Create machines!", + "quests.steam_age.rotation_speed_controller.title": "Rotation Speed Controller", + "quests.steam_age.rotation_speed_controller.subtitle": "No more manual gear ratios!", + "quests.steam_age.rotation_speed_controller.desc": "The &3Rotation Speed Controller&r can simplify all of your cogwheel spaghetti into a single block, letting you adjust RPM in a simple, compact way. These will be useful later when you have more machines to balance your stress units between!", + "quests.steam_age.mech_crafter.title": "Mechanical Crafter", + "quests.steam_age.mech_crafter.subtitle": "For those extra large crafting recipes", + "quests.steam_age.mech_crafter.desc": "Don't worry, these are entirely optional, but they are used for a couple one-time crafts that you may find very useful, outside of the two listed here.", + "quests.steam_age.crushing_wheel.title": "Crushing Wheels", + "quests.steam_age.crushing_wheel.subtitle": "The Millstone's cousin's wife's boyfriend", + "quests.steam_age.crushing_wheel.desc": "These do exactly the same thing as the other crushing-related machines earlier in the chapter, but faster and in bulk. They're pretty equivalent to the Steam Grinder.", + "quests.steam_age.centrifuge.title": "Mechanical Centrifuge", + "quests.steam_age.centrifuge.subtitle": "A World Revolving", + "quests.steam_age.centrifuge.desc": "Ore processing will always be an important part of this modpack, and this machine is another (optional) part of that. By following a different route of ore processing steps (check the Ore Processing Diagram tab in JEI), you can use this centrifuge to get some bonus byproducts out of your ores! The next upgrade to your ores won't be until the LV Thermal Centrifuge, so whether or not this is a worthwhile investment is up to you.", + "quests.steam_age.steam_engine.title": "Steam Engine", + "quests.steam_age.steam_engine.subtitle": "Time for some real steam power", + "quests.steam_age.steam_engine.desc": "Water wheels and windmills not cutting it any more? It wouldn't be a steam age without a proper steam engine! Each steam engine can output a whole 512 SU, giving you much more power to play with.\n\nBlaze Burners can be crafted without leaving your house, and you can use a Mechanical Arm to automatically feed them solid fuel, or liquid fuel in a bucket. Coal Gems and Coke can also be used to superheat them.", + "quests.steam_age.deployers.title": "Deployers", + "quests.steam_age.deployers.subtitle": "Primitive Assembly Line", + "quests.steam_age.deployers.desc": "While you could use a single deployer for the rest your time in this chapter, we &3really&r don't recommend it. Setting up a line of deployers along a belt will save heaps of time and sanity, and it's not like you'll be wasting materials either, because you can always reuse them to upgrade your tree farm later.\n\nThese will also make electron tubes significantly cheaper!", + "quests.steam_age.trains.title": "Trains", + "quests.steam_age.trains.subtitle": "Waypoints wishes it was as cool as these", + "quests.steam_age.trains.desc": "Trains are a fantastic option when it comes to any sort of long distance transportation, whether that's players, items, or fluids! They can also safely travel through unloaded chunks. There won't be any sort of player teleportation for a very long time, so if you'd like to set up a continent-spanning rail network, you don't have to worry about it getting outdated.", + "quests.steam_age.wood_plank.title": "Wood Planks", + "quests.steam_age.wood_plank.subtitle": "Untreated Plywood...?", + "quests.steam_age.wood_plank.desc": "These are the same as the Treated Planks adjacent to this quest, except you can use any wood instead of having to dunk them in creosote first.", + "quests.steam_age.organization.title": "Staying Organized", + "quests.steam_age.organization.subtitle": "You're already in the first circle of microcrafting hell", + "quests.steam_age.organization.desc": "Struggling to keep up with all the recipes and items you need? Here's a couple options which may help:\n\n&3Clipboard&r: This handy item is a portable to-do list, letting you check off items as you like.\n\n&3Crafting Blueprint&r: Keeps track of frequent recipes, letting you craft batches without having to find the recipe in JEI.\n\n&3JEI's Bookmarks&r: You can press the \"Add/Remove Bookmark\" key (default \"A\") when hovering over an item in JEI to bookmark it. You can also bookmark whole recipes by pressing this key on the output!", + "quests.steam_age.resin_boards.title": "Resin-Coated Boards", + "quests.steam_age.resin_boards.subtitle": "I guess you could say we're... bored of LaTeX?", + "quests.steam_age.resin_boards.desc": "Did you know you can automate latex production through mechanical pumps? Now you do!", + "quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards", + "quests.steam_age.circuit_boards.subtitle": "The easier component for circuits", + "quests.steam_age.circuit_boards.desc": "Combine those Resin Circuit Boards with some Copper Wires and you've got the base for your first &aCircuit&r!", + "quests.steam_age.vacuum_chamber.title": "Vacuum Chamber", + "quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes", + "quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nAs a bonus, this machine can also weld ingots and plates for you, and liquefy glue and rubber, while being heated by either a Charcoal Forge or a Blaze Burner.", + "quests.steam_age.vacuum_tubes.title": "Electronics #3: Vacuum Tubes", + "quests.steam_age.vacuum_tubes.subtitle": "The harder component for circuits", + "quests.steam_age.vacuum_tubes.desc": "Crafting Vacuum Tubes might make you question your existence. They're very expensive right now, but they'll get cheaper in a moment - that's the general GregTech philosophy!\n\nVacuum Tubes are also technically your first Ultra Low Voltage (&8ULV&r) Circuit! Congratulations! From here you can either jump right into crafting LV Circuits, or spend some more time in Steam Age, making some other machines out of the Vacuum Tubes you just crafted.", + "quests.steam_age.resistors.title": "Electronics #1: Resistors", + "quests.steam_age.resistors.subtitle": "The more... resistant... component for circuits", + "quests.steam_age.resistors.desc": "Resistors are components that will be used to make your first Circuit.\n\nIt wouldn't be unwise to prioritise the recipes that use &aFine Wires&r, as they'll save you more materials in the long run.\n\nWires may be expensive right now, but they'll get a lot cheaper if you make the &3Coiling Machine&r down below or the &3Wiremill&r in &7LV&r.", + "quests.steam_age.coiling_machine.title": "Coiling Machine", + "quests.steam_age.coiling_machine.subtitle": "ULV Wiremill", + "quests.steam_age.coiling_machine.desc": "The &3Coiling Machine&r is similar to a LV Wiremill, though it lacks the option to directly output different wire sizes. Still, this is a very worthwhile invesment to make your wires significantly cheaper.\n\nThis machine can also make cheaper springs, too!", + "quests.steam_age.curving_press.title": "Curving Press", + "quests.steam_age.curving_press.subtitle": "ULV Extruder", + "quests.steam_age.curving_press.desc": "The &3Curving Press&r can do all the same recipes as an LV Extruder. Unfortunately, neither can do very much, as the extruder is only useful once you get to MV. Still, if you find yourself wanting to craft a lot of tool heads in bulk, this machine can do it for you.", + "quests.steam_age.vibrating_table.title": "Vibrating Table", + "quests.steam_age.vibrating_table.subtitle": "ULV Sifter", + "quests.steam_age.vibrating_table.desc": "The &3Vibrating Table&r can process gem ores (including coal) in a different way, yielding much more output than anything else you have access to right now. As a bonus, it can also process any gravel ore deposits you may still have. No more sluicing!", + "quests.steam_age.lathe.title": "Lathe", + "quests.steam_age.lathe.subtitle": "ULV... Lathe", + "quests.steam_age.lathe.desc": "The &3Lathe&r can automatically turn a single ingot into two rods, and single bolts into screws. If you're making a lot of those, and you will be, this machine will be a good investment.", + "quests.steam_age.steel_saw.title": "Steel Mechanical Saw", + "quests.steam_age.steel_saw.subtitle": "ULV Cutter", + "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you only have access to water at the moment.", + "quests.steam_age.rolling_mill.title": "Rolling Mill", + "quests.steam_age.rolling_mill.subtitle": "ULV Bender", + "quests.steam_age.rolling_mill.desc.1": "Of all the ULV machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", + "quests.steam_age.rolling_mill.desc.2": "&l&3Lore:&r &oThis machine existed in older versions of TFG, but it made rods instead of plates, and your best plate-making option before the LV bender had a 20% chance of failure!&r", + "quests.steam_age.steel_mixer.title": "Steel Mechanical Mixer", + "quests.steam_age.steel_mixer.subtitle": "ULV Mixer", + "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best ULV machine you can make -- it can mix together your colored steel dusts at a much more efficient rate than the Crucible! It can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", + "quests.steam_age.potin.title": "Potin Seller...", + "quests.steam_age.potin.subtitle": "...I'm going into battle, and I need only your finest Potin.", + "quests.steam_age.potin.desc.1": "&dPotin Fluid Pipes&r have a &avery high throughput&r for the material tier and cost. You may want to look into making some of these to aid with fluid logistics.\n\nTo get &dPotin&r, you should start by crafting its &eDust&r form.\n\nThis quest calls for either the small or normal pipe. Get either size to complete it.", + "quests.steam_age.potin.desc.2": "&l&3Lore:&r&o &dPotin Fluid Pipes&r were originally created in &9GT++&r, and were a huge power spike for players in a little pack called &4GT:NH&r. We wanted to spread some of that joy.\n\nIn the real world, &dPotin&r is an alloy used in coins, not pipes. GTCEu just gets more unrealistic by the day...", + "quests.steam_age.miner.title": "Automatic Mining", + "quests.steam_age.miner.subtitle": "The end of the cave-in age", + "quests.steam_age.miner.desc.1": "You now have access to two options to automatically mine your ores! Both of these are very slow, though, so it's a good idea to set them up, chunkload them, then go do something else instead of sitting and waiting.\n\nThe Mechanical Drill will require a contraption to dig down, breaking all stone along the way. You can also attach it to the front of a train or minecart to dig tunnels if you'd like.", + "quests.steam_age.miner.desc.2": "The Steam Miner, on the other hand, only breaks ore blocks and replaces them with cobblestone, leaving the rest of the ground intact. It can mine ores in a (small) radius, meaning it has to be moved less often than the mechanical one, but it's also a lot slower.", + "quests.steam_age.paper.title": "Paper", + "quests.steam_age.paper.subtitle": "Not from sugarcane", + "quests.steam_age.paper.desc": "If you haven't made any yet, there's three different ways to get paper without electricity.\n\n1) Craft vellum out of a hide, pumice, and an egg.\n\n2) Weave together papyrus.\n\n3) Craft it out of hardwood through a lengthy process.\n\nYou can later turn wood pulp directly into paper with an LV Chemical Bath.", + "quests.steam_age.lv_circuit.title": "Your first circuit!", + "quests.steam_age.lv_circuit.subtitle": "The dawn of a new age", + "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", + "quests.steam_age.what_next.title": "What Next?", + "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", + "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the ULV machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", + "quests.steam_age.alternator.title": "Alternators", + "quests.steam_age.alternator.subtitle": "Turning stress into power", + "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of LV! Unfortunately, alternators convert stress into a different electricity system than the one GregTech uses, so you'll need an Energy Converter to turn it into usable LV energy.", + "quests.steam_age.alternator.desc.2": "An example of a steam engine producing 8 amps of LV!\n", + "quests.stone_age": "Stone Age", + "quests.stone_age.subtitle": "Humble Beginnings", + "quests.stone_age.foods.title": "Hungry?", + "quests.stone_age.foods.subtitle": "Where's my easy food?", + "quests.stone_age.foods.desc": "In TerraFirmaGreg, the world is a harsh place, and one of the most important aspects of survival is being able to obtain food. Most food by itself yields little nutritional value, while others can be deadly if not cooked. Your hunger is represented by the green bar next to your health.\n\nBegin by obtaining any form of food.", + "quests.stone_age.nutrition.title": "Mechanic: Nutrition", + "quests.stone_age.nutrition.subtitle": "What do you mean I can't just eat steak?", + "quests.stone_age.nutrition.desc": "Each basic food in TerraFirmaGreg contains a nutritional value, and these nutrients are split into 5 different categories: &lGrain&r, &lFruits&r, &lVegetables&r, &lProtein&r and &lDairy&r.\n\nWhile you could eat only one kind of raw nutrient such as Protein, your overall health will be diminished, while keeping a balanced diet allows you to have much higher max health. Each 100 HP corresponds to one heart.\n\nLook at the field guide's section on \"Food and Water\" for full details.", + "quests.stone_age.cook_meat.title": "Basic Cooking", + "quests.stone_age.cook_meat.subtitle": "You don't want to die from eating raw meat, do you?", + "quests.stone_age.cook_meat.desc": "Cooking raw meat is an important step for getting protein - not only will it increase the overall shelf life of the meat, but it'll unlock even more nutrients for your demanding body.\n\nThe simplest way to cook meat is by using a Fire Pit. Look at the quest below this one to learn how to make one.", + "quests.stone_age.soup_time.title": "Soups", + "quests.stone_age.soup_time.subtitle": "Which store where you in?", + "quests.stone_age.soup_time.desc": "By crafting a pot and some bowls out of clay, you'll be able to create soups!\n\nSoups are one of the first and easiest ways to create more complex meals. Unlike eating plain ingredients, these contain much more saturation and let you consume multiple nutrients at once!", + "quests.stone_age.meals.title": "Meals", + "quests.stone_age.meals.subtitle": "GET IN MAH BELLEH!", + "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals, while pizzas are the only food that can contain every type of nutrient at once.", + "quests.stone_age.meals.tasks.1": "Any regular Sandwich", + "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", + "quests.stone_age.garlic_bread.title": "Garlic Bread...?", + "quests.stone_age.garlic_bread.subtitle": "Are you fending off a vampire or something?", + "quests.stone_age.garlic_bread.desc": "ProTip: The quest task accepts ANY garlic bread, it doesnt need to be fresh.", + "quests.stone_age.garlic_bread.task": "1024 slices of Garlic Bread", + "quests.stone_age.find_potable_water.title": "Thirsty?", + "quests.stone_age.find_potable_water.subtitle": "Remember to drink water!", + "quests.stone_age.find_potable_water.desc": "Thirst is represented by the blue bar above your hunger. You can and will die of dehydration if you dont keep your thirst meter filled! The easiest way to have a drink is by drinking from natural ponds in the wild, by right-clicking on them with an empty hand.\n\nYou don't have to worry about purifying water here, though Salt Water will just make you more thirsty.", + "quests.stone_age.find_potable_water.task": "A source of fresh Water", + "quests.stone_age.hydration.title": "Mechanic: Hydration", + "quests.stone_age.hydration.subtitle": "Yet another bar to keep full...", + "quests.stone_age.hydration.desc": "Water is an important resource, not just for staying hydrated! Setting up a base near a fresh lake or river is recommended, so you have easy access to the stuff. Other items can quench your thirst, such as certain types of food or drinks.\n\nWater won't always be available when you go exploring, however, so here are some ways to carry drinks around with you. Drinking consumes 100mB from the container.", + "quests.stone_age.leather_flask.title": "Leather Flask", + "quests.stone_age.leather_flask.subtitle": "Old Faithful", + "quests.stone_age.leather_flask.desc": "A Leather Flask is probably the second easiest portable water solution right after a Ceramic Jug. It can hold 500mb, or enough for five drinks.\n\nThe leather flask takes damage as it's used, but when broken, it can be repaired if you have leather at hand. Bladders can be obtained from larger wild animals.", + "quests.stone_age.iron_flask.title": "Iron Flask", + "quests.stone_age.iron_flask.subtitle": "Now this will be useful for a long while", + "quests.stone_age.iron_flask.desc": "The Iron Flask is an upgrade to the Leather Flask. It has much more durability than the Leather Flask and can hold enough fluid for 20 drinks.", + "quests.stone_age.water_bucket.title": "Water Bucket", + "quests.stone_age.water_bucket.subtitle": "Not as easy to get as you think", + "quests.stone_age.water_bucket.desc": "Carrying around a water source is an easy way to never run out, but is a bit cumbersome.\n\nUnfortunately, Wooden Buckets cannot be used to drink water, as they do not move source blocks, so trying to place it in the world will only create a very small puddle.", + "quests.stone_age.glass_bottles.title": "Glass Bottles", + "quests.stone_age.glass_bottles.subtitle": "Not as cool as a leather flask", + "quests.stone_age.glass_bottles.desc": "Glass bottles are just as effective as a Leather Flask, containing 500mb of water. However, blowing glass bottles won't be possible until later, once you have the ability to shape Brass.", + "quests.stone_age.water_jug.title": "Ceramic Jug", + "quests.stone_age.water_jug.subtitle": "Relatively easy water", + "quests.stone_age.water_jug.desc": "A Ceramic Jug is the earliest liquid container you can craft, but it can only hold 100mb, so you'll need to refill it after every drink.\n\nThe Jug is relatively fragile and has a random chance to break when you drink from it!", + "quests.stone_age.temperature.title": "Weather", + "quests.stone_age.temperature.subtitle": "The weather for today? Pain.", + "quests.stone_age.temperature.desc": "A new world starts in early summer, with each month lasting 8 days. Seasons will change, and with it comes in a change in temperature that will affect crops, fruit trees, bushes... and you!\n\nBody temperature is something you need to control and keep at a steady level. The small triangle between your health and hunger shows your current temperature and which way it's trending. Hold Sneak to see the exact numbers -- the left number is how wet you are, and the right number is temperature.", + "quests.stone_age.temperature.task": "Exist", + "quests.stone_age.insulation.title": "Mechanic: Body Temperature", + "quests.stone_age.insulation.subtitle": "Careful with Hypo- and Hyper-thermia.", + "quests.stone_age.insulation.desc": "Many things in the world will affect your body temperature, from direct sunlight, to being wet, to standing near fire. You must keep your temperature between 0 and 30°C or risk taking damage, indicated by a colored visual effect.\n\nThere are many ways you can reduce the effect of ambient temperature and keep your body at a stable level, and wearing &lClothes&r is one of the most effective. You can wear clothes both in your normal equipment slots or in your curios slots.", + "quests.stone_age.primitive_insulation.title": "Primitive Insulation", + "quests.stone_age.primitive_insulation.subtitle": "Caveman Chic", + "quests.stone_age.primitive_insulation.desc": "Naked and freezing? This is the easiest clothing you can craft, and though it has very low durability, it should last until you get something better.", + "quests.stone_age.furs.title": "Predator Hides", + "quests.stone_age.furs.subtitle": "Hardcore Fursuiting", + "quests.stone_age.furs.desc": "Large predatory animals drop their furs instead of normal hides, which you can either craft into insulating clothing, or scrape to get a normal hide to then turn into leather as normal.", + "quests.stone_age.wool_clothes.title": "Wool Clothes", + "quests.stone_age.wool_clothes.subtitle": "For the bitter cold", + "quests.stone_age.wool_clothes.desc": "Wool Clothes are perfect for cold climates and harsh winters. A full set of Wool Clothes is ideal to survive most winters.\n\nYou'll have to befriend (or kill) some wool producing mammal, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", + "quests.stone_age.insulated_leather_clothes.title": "Insulated Leather Clothes", + "quests.stone_age.insulated_leather_clothes.subtitle": "When it's getting chilly outside", + "quests.stone_age.insulated_leather_clothes.desc": "Insulated Leather Clothes are easier to make than a full set of Wool Clothes, but provide less insulation and warmth. They're still very effective for living in more temperate regions.\n\nYou'll need to kill animals to obtain their hide, and also befriend (or kill) some wool producing mammal to craft wool string, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", + "quests.stone_age.burlap_clothes.title": "Burlap Clothes", + "quests.stone_age.burlap_clothes.subtitle": "For when the heat is getting to you", + "quests.stone_age.burlap_clothes.desc": "Burlap is made out of Jute Fiber. Jute can grow in most warmer climates as long as its temperature and hydration needs are met.\n\nBurlap Clothes are great for hot summers or certain other hot environments, but we'll talk about that later.", + "quests.stone_age.silk_clothes.title": "Silk Clothes", + "quests.stone_age.silk_clothes.subtitle": "No Silkworms, sorry!", + "quests.stone_age.silk_clothes.desc": "Silk is made out of Spider String, which can be difficult to get large amounts of without venturing somewhere especially deep.\n\nSilk Clothes are excellent for incredibly hot environments, such as Deserts or the lower portions of The Beneath.", + "quests.stone_age.clothes.title": "Clothing", + "quests.stone_age.clothes.subtitle": "Fancy!", + "quests.stone_age.clothes.desc": "Wearing clothes are an easy way to handle extreme temperatures. Warm clothes such as Wool or Insulated Leather are great for cold environments, while Silk or Burlap are great for warm environments.", + "quests.stone_age.find_rock.title": "Find some Rocks", + "quests.stone_age.find_rock.subtitle": "Grug smash rock", + "quests.stone_age.find_rock.desc": "As you begin your journey, the first thing you'll notice is a completely changed world. You can no longer break trees with your fists, but fret not, for any caveman is not a real caveman without his stone tools!\n\nInstead of crafting a wooden pickaxe, you can just pick up rocks from the ground. Begin by collecting at least 4 rocks. You can collect rocks by breaking or right-clicking them with an empty hand.", + "quests.stone_age.rock_knapping.title": "Knapping", + "quests.stone_age.rock_knapping.subtitle": "Just like the olden days of the Paleolithic", + "quests.stone_age.rock_knapping.desc": "Rocks can be \"Knapped\", which is the process of shaping a basic material into a usable form by smacking them together. Rock Knapping requires at least two rocks, and by holding them and right-clicking the air, you'll open the Knapping interface. You can then \"chip off\" one of your rocks to create a stone tool head. All the shapes for different tools can be found in EMI and the Field Guide.\n\nThe two most important tools for the beginning of your journey are a Stone Knife and a Stone Axe, so try knapping those tool heads.", + "quests.stone_age.find_stick.title": "Find some Sticks", + "quests.stone_age.find_stick.subtitle": "You gotta handle that tool somehow", + "quests.stone_age.find_stick.desc": "Another abundant item on the ground are sticks, which have many uses! They can create tools, torches, firestarters and more.\n\nTo avoid having your inventory get clogged with different types of sticks, you can craft them into 'regular' sticks to stack them together. Later, you can bundle nine sticks into a Bunch, and the Bunch into a Bundle, which can then be used as a substitute for logs.", + "quests.stone_age.first_stone_tools.title": "Your first tools", + "quests.stone_age.first_stone_tools.subtitle": "Now you're a smart monkey", + "quests.stone_age.first_stone_tools.desc": "By Knapping your rocks into usable shapes, you can then combine them with a Stick to create your very first basic tools. You've officially entered the Stone Age!\n\nStone are enough for basic survival, but eventually you'll want to create metal tools for much better speed, durability, and tool options. The next two quests will help you collect the items you'll need.", + "quests.stone_age.stone_tools.title": "Stone Tools", + "quests.stone_age.stone_tools.subtitle": "Turns out hitting stones together is quite useful", + "quests.stone_age.stone_tools.desc": "While stone is a relatively simple and primitive material, they're what you're stuck with until you learn how to work with metals. Some other useful tools include the Javelin, which can be thrown like a vanilla Trident, and the Hoe, which allows you to farm.", + "quests.stone_age.gather_straw.title": "Gather Straw", + "quests.stone_age.gather_straw.subtitle": "You can also use a Hoe if you want", + "quests.stone_Age.gather_straw.desc": "Most grasses you find in the overworld can be harvested for Straw, when broken with a Knife or Hoe. Straw has a number of uses for crafting, but you'll want at least 8 to create a Pit Kiln.\n\nStraw can also be used to create a Straw Hat for some basic sun protection, or Thatch, which can be used as a relatively simple building block with no collision.", + "quests.stone_age.gather_logs.title": "Gather Logs", + "quests.stone_age.gather_logs.subtitle": "Timber!", + "quests.stone_age.gather_logs.desc": "With your new Stone Axe, you'll be able to chop down trees. Breaking the base of a tree causes the entire tree to fall down, resulting in logs, sticks, and saplings.\n\nGather at least 10 logs -- 8 of these will be used for a Pit Kiln while the other two will be used for a Fire Pit.", + "quests.stone_age.firepit.title": "Fire Pit", + "quests.stone_age.firepit.subtitle": "Night time is coming", + "quests.stone_age.firepit.desc.1": "Now that you have some logs, its time to build your first Fire Pit! While monsters do not spawn on the surface at night, nocturnal predators will be awake and prowling around.\n\nYou'll first need to create a Firestarter, a tool that allows you to start fires.", + "quests.stone_age.firepit.desc.2": "To create your Fire Pit, throw at least one Log and up to 3 Sticks into the ground, then light the below block on fire by right-clicking-and-holding with your Firestarter. You can also add some Straw to make it easier.\n\nThe Firepit is not only a source of light and heat, but can be used to light torches and cook raw meat as well. You can keep your firepit lit by interacting with it and adding logs to the UI. If the fire dies out, simply add more logs and light it again with your Firestarter", + "quests.stone_age.find_clay.title": "Clay Sources", + "quests.stone_age.find_clay.subtitle": "You'll need a lot of this", + "quests.stone_age.find_clay.desc": "Clay is an essential part of stone age tech! Similar to knapping rocks, clay can be molded into different shapes and then fired in a Pit Kiln to create a wide variety of items. Stone Tools and Clay Ceramics will be the backbone of your survival until you learn how to work with Metals.\n\nClay is found in blobs in the ground, usually covered by grass. However, certain types of plants, known as \"Clay Indicators\" grow exclusively on clay. Check the Field Guide for what kind of indicators could grow in your climate.", + "quests.stone_age.clay.title": "Clay", + "quests.stone_age.clay.subtitle": "It's Clay!", + "quests.stone_age.clay.desc": "Gather at least 25 pieces of Clay. You'll need to make at least 5 different items to progress (see the next quests). Once you mold the clay, put them in a Pit Kiln to bake the clay into Ceramic. You can mold clay the same way to knap stone, though it takes 5 clay per item and the clay won't be lost if you misclick.", + "quests.stone_age.pit_kiln.title": "Pit Kiln", + "quests.stone_age.pit_kiln.subtitle": "Things are heating up now", + "quests.stone_age.pit_kiln.desc": "The Pit Kiln is an early game method of heating items up. We'll use it to both fire our clay items, and most importantly, melt very basic ores and create our first metal tool, a Saw.\n\nTo create a pit kiln you'll need eight pieces of Straw, eight logs, something you want to heat up, and a Firestarter. Read the Field Guide's Pit Kilns section on how to create it - it's not the same as a Fire Pit!", + "quests.stone_age.clay_products.title": "Clay Products", + "quests.stone_age.clay_products.subtitle": "I told you Clay was versatile.", + "quests.stone_age.clay_products.desc": "These are all the products you can make out of Clay. The Molds are used for metal working, the Vessels are used to hold items, and the others have uses explained in the Field Guide. Think you can knap them all?", + "quests.stone_age.make_jug.title": "Ceramic Jug", + "quests.stone_age.make_jug.subtitle": "Early Game fluid Container", + "quests.stone_age.make_jug.desc": "A Jug is the easiest to create fluid container, but it can only hold 100mB. You can also drink from it, and blow on it to make noises!", + "quests.stone_age.make_saw_mold.title": "Saw Mold", + "quests.stone_age.make_saw_mold.subtitle": "Time for your first metal tool", + "quests.stone_age.make_saw_mold.desc": "The first mold you should make out of clay is the Saw Mold. With it and some small amount of metal you can create a Saw. The Saw is an important tool, as it's required to create &lLumber&r, and with it, you'll be able to create your first &l&oWorkbench.&r", + "quests.stone_age.make_vessel.title": "Vessel", + "quests.stone_age.make_vessel.subtitle": "Useful small jars.", + "quests.stone_age.make_vessel.desc": "The Vessel can be used like a Bundle, to carry around several items in one slot, but more importantly, it's your first tool to begin working with Metals.\n\nBy interacting with the Vessel, you will open up its small inventory, where you can place ores. The Vessel's tooltip can also tell you what your ores will melt into, which is especially useful when crafting alloys!\n\nPlacing the Vessel in a Pit Kiln and heating it up allows you to &lmelt&r the metal inside.\n\nIf you're feeling adventurous, you can mix different metal types to create Alloys. Alloys require specific percentage mixtures of metals. While Copper is great immediatly, you could make your very first metal tools with Bronze instead.", + "quests.stone_age.native_ores.title": "Pebbles with ore?", + "quests.stone_age.native_ores.subtitle": "Your first metal is already available if you look for it.", + "quests.stone_age.native_ores.desc.1": "Ore veins generate differently than what you might be used to - you can't just wander into a random cave, instead you'll need to find \"Indicators\" on the surface. These can look like small rocks, dust piles, or even small crystal buds.\n\nCan't find anything that melts into Copper? Try looking for a another stone type -- different ores spawn in different rock types. Check the TFG Ores category of your Field Guide for a full list.", + "quests.stone_age.native_ores.desc.2": "Why are they called Indicators? This means that directly below, there is a big, HUGE vein with the same ore that you found on the surface. You don't have a pickaxe yet, so take note of the place where you found the Ore! It'll be very useful later on.\n\nEach one is worth about as much as a nugget, so collect as many as you can, but make sure you make a note of where you found them!", + "quests.stone_age.first_saw.title": "Metallic Saw", + "quests.stone_age.first_saw.subtitle": "Time for your first metal tool", + "quests.stone_age.first_saw.desc.1": "To begin making your Saw, add at least 144mb of ore of your desired metal to a Vessel. Afterwards, place the Vessel in a Pit Kiln and light it on fire.\n\nOnce the Pit Kiln burns out, quickly pick up your vessel while it's still hot, and interact with it to open the Pouring interface. Simply place the Saw Mold in the Pouring Interface's slot and watch it fill with your very first Saw Head. Afterwards, combine your Saw Head with a Stick and you'll create your Saw!", + "quests.stone_age.first_saw.desc.2": "While the easiest metal to work with is Copper, you can try your hand at the process of alloying. This quest's tasks will accept either an item made out of Copper, or a Bronze Alloy.\n\n&lBismuth Bronze&r: Copper, Bismuth and Zinc. The weakest of the bronzes, but can be the easiest to make.\n\n&lBronze&r: Copper and Tin. It's the most average of the bronzes.\n\n&lBlack Bronze&r: Copper, Gold, and Silver: The best bronze in the early game, but it's considerably more expensive.", + "quests.stone_age.first_saw.tasks.1": "A Copper or Bronze Saw Head.", + "quests.stone_age.first_saw.tasks.2": "A Copper or Bronze Saw.", + "quests.stone_age.craft_lumber.title": "Time for the Workbench", + "quests.stone_age.craft_lumber.subtitle": "3x3 crafting is within your grasp", + "quests.stone_age.craft_lumber.desc": "Combine your new Saw with a Log in your crafting grid to create Lumber. 4 Lumber can then be crafted into Planks...\n\n and once you have 4 planks, its time to make your very first Workbench.", + "quests.stone_age.workbench.title": "Workbench", + "quests.stone_age.workbench.subtitle": "This... is a Crafting Table", + "quests.stone_age.workbench.desc": "Congratulations! With your Workbench you've officially entered the Peak of the Stone Age. With it you'll be able to craft a multitude of new things with the items you've gathered so far.\n\nNow comes your main goal of the Primtive Age: proper metalworking with the Copper Anvil.\n\nSidenote: While you could gather enough materials to make 14 ingots of bronze right now, you won't be able to turn them into a bronze anvil without crafting the copper one first, sorry! At least anvils are recyclable, so you won't waste anything.", + "quests.stone_age.inventory.title": "Early Storage Options", + "quests.stone_age.inventory.subtitle": "Time to stop carrying all your junk in vessels", + "quests.stone_age.inventory.desc": "In the early game, you have 4 simple storage solutions available:\n\n&lChest&r: Chests are cheap and easy to craft, but only have 18 Slots and can't hold anything Large or bigger.\n\n&lCrate&r: Crates are single block inventories, the cheapest of which has 27 slots, but are more expensive to craft.\n\n&lSupply Cart&r: A Supply Cart has a huge size of 54 Slots and can be carried around with you, but takes up lots of space.\n\n&lLarge Vessels&r:The cheapest to craft, only requiring clay, and are ideal for food preservation. Available in a wide variety of colors too!", + "quests.stone_age.portable_storage.title": "Portable Storage?", + "quests.stone_age.portable_storage.subtitle": "Because getting your inventory filled with junk sucks", + "quests.stone_age.portable_storage.desc": "In the &lTerraFirmaGreg Tips&r chapter, there's a section that covers all your different options for Portable Storage, for expanding the number of items you can carry with you as you travel the world. In case you struggle finding the quests, they're the ones on the rightmost spoke of the tree.", + "quests.stone_age.barrels.title": "Barrels", + "quests.stone_age.barrels.subtitle": "Stephano?", + "quests.stone_age.barrels.desc": "Unlike their vanilla counterparts, Barrels here are used as Liquid Storage. Barrels are capable of storing a total of 10 Buckets of fluid, allowing for relatively simple storage of fluids.\n\nYou can also combine these fluids with other items, to create things like Leather, Glue, Mortar and more.", + "quests.stone_age.leather.title": "Leather", + "quests.stone_age.leather.subtitle": "Because of course everything has to be more complicated", + "quests.stone_age.leather.desc": "When killed, wild animals will drop raw hides. Hide cannot be used as leather directly and instead must be worked and processed first.\n\nLeather, just like Clay and Stone, can be Knapped. Knapping leather allows you to create things such as Leather Armor, Flasks, and so on.\nIf you dont want to kill animals for their leather, and live in a tropical area, you can work Pineapple into Pineapple Leather instead, which is a Leather Substitute.", + "quests.stone_age.leather_armor.title": "Leather Armor", + "quests.stone_age.leather_armor.subtitle": "Very basic protection", + "quests.stone_age.leather_armor.desc": "Leather Armor, just like its minecraft counterpart, is used as a very basic set of armor. It may not do much, but it'll protect you somewhat from the elements and provides OK resistances to Slashing damage.", + "quests.stone_age.mining_prep.title": "Mining Preparations", + "quests.stone_age.mining_prep.subtitle": "Hope you remember where you found those ore indicators!", + "quests.stone_age.mining_prep.desc.1": "Progressing beyond the stone age will require a lot of metal, and just picking up small ores on the surface won't be enough. You'll have to dig down and begin mining.\nAssuming you &odid&r mark the place where you found your copper, find the rough middle of where the indicators were and start digging! It might be pretty deep, but you'll eventually strike it rich. The next page has some equipment you'll want to bring along for your first mining trip!", + "quests.stone_age.mining_prep.desc.2": "&lPickaxe&r: Pretty obvious what this does, you'll need a way to break the stone and harvest the ore. Hammers will not work!\n\n&lLadders and Torches&r:You'll need some way to climb back up out of the hole and see what you're doing!\n\n&lSupport Beams and Planks&r: Mining in TFG is much more dangerous - not only do monsters spawn underground, but carelessly digging around can cause a cave-in! The quest above this one goes over how to mitigate dangers while mining.\n\nNow go and dig your hole, diggy diggy hole!", + "quests.stone_age.hazards.title": "Mining Hazards", + "quests.stone_age.hazards.subtitle": "Thought the surface was difficult? Think again.", + "quests.stone_age.hazards.desc.1": "Besides the monsters, the biggest challenge when mining is dealing with cave-ins. If a Raw stone or ore block has air below it, it's considered 'unsupported' and has a chance to start a cave-in every time a nearby block is mined. Cave roofs are covered with Hardened stone, which won't cause a collapse. To mitigate this, the safest thing you can do is just mine the floor, but if you want to safely mine anything else you'll have to learn how to use support beams! These are crafted with logs and a saw.", + "quests.stone_age.hazards.desc.2": "The Field Guide has more details and diagrams about how exactly support beams work, but the short version is you'll want to place them down like this within four blocks of each other. Only the top vertical beams will actually support anything, and they have a small radius.", + "quests.stone_age.copper_for_anvil.title": "Copper for the Anvil", + "quests.stone_age.copper_for_anvil.subtitle": "You better get used to getting 14 ingots of something.", + "quests.stone_age.copper_for_anvil.desc": "Anvils aren't cheap! Each anvil will require 14 ingots, which are then welded into 7 double ingots.\n\nYou might want to start mining at this point if you haven't already, gathering 126 pieces of small copper is difficult.", + "quests.stone_age.get_raw_rock.title": "Raw Rock", + "quests.stone_age.get_raw_rock.subtitle": "No, it isn't just \"Stone\"", + "quests.stone_age.get_raw_rock.desc": "To create your Copper Anvil you'll need both a basic Stone Anvil and a Charcoal Forge. To make a Stone Anvil, you will need a block of Raw Igneous rock.\n\nTo obtain Raw Rock you can carefully break the blocks &laround&r the Raw Rock you want to mine. Once all 6 sides of the Raw Rock are exposed to air, it'll pop off into its Item form. Lastly, right-click a block of raw igneous rock to turn it into your Stone Anvil.", + "quests.stone_age.create_forge.title": "The Forge", + "quests.stone_age.create_forge.subtitle": "The Fabric doesnt exist by the way.", + "quests.stone_age.create_forge.desc": "The Forge is a state-of-the-art crafting station used to heat materials to high temperatures. The time it takes to heat things in the forge is considerably faster than the Pit Kiln, and is much easier to control too.\n\nTo make the forge you'll require at least 7 charcoal, and 5 rock-like blocks, such as raw rock or cobblestone.\nThe Forge does not use Logs, instead it uses Charcoal, Coal or Coke.\n\nCheck the field guide for walkthroughs on how to make a Charcoal Pit and a Charcoal Forge.", + "quests.stone_age.rock_anvil.title": "Rock Anvil", + "quests.stone_age.rock_anvil.subtitle": "This won't last long", + "quests.stone_age.rock_anvil.desc": "Anvils are the foundation of all early game metal working. To create a proper metal anvil, you'll need to weld ingots using the previous tier of Anvil. Since Copper is the first tier, you have to use a Rock Anvil to weld them. You can create a Stone Anvil by right-clicking a block of raw igneous rock with a hammer. Welding ingots is the only thing it can do, unfortunately - you'll need the metal's proper anvil to shape them into anything else.", + "quests.stone_age.quern.title": "Quern and Handstone", + "quests.stone_age.quern.subtitle": "Your first step into ore processing", + "quests.stone_age.quern.desc": "The Quern and Handstone are two big rocks grinding against each other to break down materials. The bottom piece is called a Quern while the top piece is called a Handstone. The Quern can be used to grind down your raw ores into crushed ores, yielding slightly higher mB count when smelted.\n\nYou can also use the Quern to create other powders like Flux, Flour, and Bone Meal.", + "quests.stone_age.crush_ore.title": "Early Ore Processing - Part 1", + "quests.stone_age.crush_ore.subtitle": "Getting more from your ores", + "quests.stone_age.crush_ore.desc": "The Quern is only the first step into processing your ores! Proper ore processing is a large, complex beast that you'll learn more about as you progress, and can be used to extract much more usable metal and other byproducts per each ore you mine. To start with though, we'll turn those raw ores you mined into Crushed Ore by putting it through the Quern. Just this first step is enough to increase the amount of mB your ore will melt into.", + "quests.stone_age.crush_crushed_ore.title": "Early Ore Processing - Part 2", + "quests.stone_age.crush_crushed_ore.subtitle": "Quern it, again", + "quests.stone_age.crush_crushed_ore.desc": "Crushing a Crushed Ore again yields Impure Dust, further increasing it's mB yield.\n\nThis may be slow and tedious for now, but you'll soon unlock ways to do this faster and automatically!", + "quests.stone_age.clean_dust.title": "Early Ore Processing - Part 3", + "quests.stone_age.clean_dust.subtitle": "Wash that dirty dust", + "quests.stone_age.clean_dust.desc": "Finally, dropping Impure Dusts in some water and leaving them for a few seconds will wash them, yielding dust, which is your ore's final form. It might even be worth as much as a full ingot now!", + "quests.stone_age.flux.title": "Fluxstones", + "quests.stone_age.flux.subtitle": "It's basically metal glue", + "quests.stone_age.flux.desc": "Flux is an item that is primarily used in metal working to weld things together, though it has some other uses too.\nCertain types of Rocks such as Chalk, Limestone and Marble can be crushed down to make Flux, as well as the shells of various ocean animals.", + "quests.stone_age.weld_copper_ingots.title": "Welding Copper", + "quests.stone_age.weld_copper_ingots.subtitle": "So close to the Copper Anvil", + "quests.stone_age.weld_copper_ingots.desc": "Light up your Forge and give it at least 2 Copper Ingots. Keep an eye on their tooltip as they heat up - once they get hot, it'll show \"Can Work\", but we need to wait until they get to \"Can Weld\", which is just before their melting point.\n\nOnce they reach it, quickly pull them out of the forge (while holding some wooden tongs in your off-hand!) and into the Rock Anvil's interface, along with a little bit of flux. Lastly, right-click the anvil while sneaking to weld the two ingots together while they're still hot. You can use water or snow to cool down your new double ingot faster.", + "quests.metal_age.copper_anvil.title": "T1 Anvil: Copper", + "quests.metal_age.copper_anvil.subtitle": "It's all been building up to this!", + "quests.metal_age.copper_anvil.desc": "Congratulations! You've officially finished the Stone Age and entered the Metallurgy Age! With your Copper Anvil, the next step is to climb up the Anvil Tiers, and each time you unlock a new Tier, new tools and possibilities will be available to make your life progressively easier. Now go and become a master smith!", + "quests.tfg": "TerraFirmaGreg - Modern", + "quests.tfg.subtitle": "Welcome to TerraFirmaGreg - Modern!", + "quests.tfg.welcome.title": "Welcome to TerraFirmaGreg - Modern!", + "quests.tfg.welcome.subtitle": "Survival Modpack As It Should've Been", + "quests.tfg.welcome.desc": "Thank you for playing TerraFirmaGreg Modern!\n\nIn TerraFirmaGreg - Modern, you will be put to the test to take control of a world hostile to unprepared life, and bring it to an Industrial Wonderland. Start from humble beginning picking up rocks, and end traversing interstellar space!", + "quests.tfg.create_team.title": "How to create a team?", + "quests.tfg.create_team.subtitle": "Do you play with friends? Surprising...", + "quests.tfg.create_team.desc": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team, use the §aCreate a team§r button, then give it a name and possibly some other parameters, after successful creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner, in the future your quests will be synchronized and any team member will be able to complete them. Good luck!", + "quests.tfg.capture_territory.title": "How to capture territory?", + "quests.tfg.capture_territory.subtitle": "Or how to load chunks in your territory", + "quests.tfg.capture_territory.desc": "You can private the chunks you want if you play on a server, for example. How to do it? Use the button to open the mini-map, then select the chunks that you want to capture, then by clicking on the right mouse button, select §aCapture territory§r from the list, it seems to be the third item from the bottom, voila, you have captured the territory. Attention: your teammates will be able to break blocks in your region, which is logical.", + "quests.tfg.field_guide.title": "Important information about quests!", + "quests.tfg.field_guide.subtitle": "I need to read more?", + "quests.tfg.field_guide.desc": "The quests are still in development, more descriptions and more will be added in the future. You can partially use the TFC book to find the information you need. &cFull quests in each branch with translation will appear in update 1.0.0, since now the developers have very little time.&r\n\nRemember that both JEI and the Field Guide are your friends, and you should verify the information in the field guide alongside the quests.\n\nIf you ever loose your Field Guide, you can always access it in your inventory.", + "quests.tfg.quest_shapes.title": "Information about Quest Shapes.", + "quests.tfg.quest_shapes.subtitle": "Turns out shapes help understand these quests.", + "quests.tfg.quest_shapes.desc": "In TerraFirmaGreg most of the custom quests follow a strict set of rules regarding how they look, predominantly their shapes and sizes.\n\n&lGears&r: Gear shaped quests are the biggest in each quest category, they represent the Start and End of questlines. You can consider these as major end goals.\n&lHearts&r: Heart shaped quests are &ooptional&r, they're not necesary for progression and mostly serve for completionist type players. Some optional quests may be a bit silly...\n&lOctagons:&r Octagons are important marks on certain quests, they represent milestones.\n&lSizes:&r The bigger the size of the icon, the more important it is in the overall progression.", + "quests.tfg_tips": "TerraFirmaGreg Tips", + "quests.tfg_tips.subtitle": "Tips and Tricks to make your life slightly easier.", + "quests.tfg_tips.begining.title": "Tips and Tricks be here!", + "quests.tfg_tips.begining.subtitle": "Dear god thats a lot of branches...", + "quests.tfg_tips.begining.desc": "This questline looks into giving you a lot, &o(and i do mean a lot)&r of tips to make your survival situation a bit easier.\n\nEach teeth of this Gear represents a major mod in TerraFirmaGreg, with tips on how to use the mod and get the most out of it. ALL the quests here are not necesary for progression, although some &omay&r be locked behind main questline tasks.", + "quests.tfg_tips.portable_storage.title": "Portable Storage Solutions", + "quests.tfg_tips.portable_storage.subtitle": "Turns out your inventory is quite small.", + "quests.tfg_tips.portable_storage.desc": "In TerraFirmaGreg you may end up exploring a &olot&r of land. During your exploration you're bound to end up picking up a lot of junk. This quest branch looks into making inventory management on the go easier.", + "quests.tfg_tips.toolbelt.title": "Toolbelt and Pouches", + "quests.tfg_tips.toolbelt.subtitle": "Those tools sure take a lot of space, lets fix that.", + "quests.tfg_tips.toolbelt.desc": "With a Toolbelt, you'll be able to easily manage multiple tools in a single inventory slot, simply swap them around and store them in your toolbelt when necesary! By default it contains 2 slots, but more can be added by crafting &oBelt Pouches&r.\n\nYou're going to need to know how to work Leather and some intermediary metalworking knowledge to craft these items. Check the dependencies!", + "quests.tfg_tips.maxed_out_toolbelt.title": "ALL THE TOOLS", + "quests.tfg_tips.maxed_out_toolbelt.subtitle": "That belt must be very heavy at this point...", + "quests.tfg_tips.maxed_out_toolbelt.desc": "A toolbelt can hold 7 extra pouches, thats 7 extra tools in one belt!", + "quests.tfg_tips.maxed_out_toolbelt.task": "Obtain a maxed out toolbelt.", + "quests.tfg_tips.vessels.title": "Large and Small Vessels", + "quests.tfg_tips.vessels.subtitle": "Clay can be quite useful.", + "quests.tfg_tips.vessels.desc": "With some Clay, Wood and Time you can create Vessels, Small vessels have 4 inventory slots while Large Vessels have 9! The Vessel not only lets you store items, but its a great way to melt basic metals to create alloys.", + "quests.tfg_tips.portable_cells.title": "Portable Item and Fluid Cells", + "quests.tfg_tips.portable_cells.subtitle": "Isn't this too advanced for this?", + "quests.tfg_tips.portable_cells.desc": "With Applied Energistics 2, you can create Portable Item and Fluid Cells, which allows you to store large amounts of items as pure raw data. Sadly, Applied Energistics 2 is locked behind High Voltage, so it might be a while until you can create these.", + "quests.tfg_tips.256m_portable_cells.title": "MEGA Portable Item and Fluid Cells", + "quests.tfg_tips.256m_portable_cells.subtitle": "When Kilobytes isnt enough.", + "quests.tfg_tips.256m_portable_cells.desc": "With MEGA Cells, you can create well, Mega Cells! These cells have LUDICROUS amounts of data storage and as such can be used to store INSANE amounts of items.\n\nFun Fact! A single 256M Portable Item Cell can store up to &lOne Billion&r of a single item type! That's enough to fill over 58 thousand chests!", + "quests.tfg_tips.backpack_materials.title": "Materials for a Backpack", + "quests.tfg_tips.backpack_materials.subtitle": "Maps not included", + "quests.tfg_tips.backpack_materials.desc": "A Sophisticated Backpack, as the name suggests, its a backpack that can be used to store items. Not only can it store items, but it can also store items that are <oo big&r for regular chests... Don't ask how that works.\n\nAlso, Sophisticated Backpacks can be upgraded to both increase their capacity and add extra functionalities to them!", + "quests.tfg_tips.first_backpack.title": "Your First Backpack", + "quests.tfg_tips.first_backpack.subtitle": "No, the map won't magically appear.", + "quests.tfg_tips.first_backpack.desc": "This is your First Sophisticated Backpack. It has a total of 27 inventory slots and 1 slot of a regular backpack upgrade. Check the two branches after this to learn about inventory upgrades and backpack upgrades.", + "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", + "quests.tfg_tips.red_steel_backpack.subtitle": "No, Blue Steel Backpacks don't exist, sorry!", + "quests.tfg_tips.red_steel_backpack.desc": "A Red Steel Backpack is your first proper backpack inventory upgrade, It has a total slot count of 54 and contains 2 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", + "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", + "quests.tfg_tips.aluminium_backpack.desc": "An Aluminium Backpack is your second proper backpack inventory upgrade, It has a total slot count of 81 and contains 3 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", + "quests.tfg_tips.titanium_backpack.subtitle": "Almost titanic.", + "quests.tfg_tips.titanium_backpack.desc": "A Titanium Backpack is your third proper backpack inventory upgrade, It has a total slot count of 108 and contains 5 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.tungstensteel_backpack.title": "Tungstensteel Backpack", + "quests.tfg_tips.tungstensteel_backpack.subtitle": "The ultimate backpack.", + "quests.tfg_tips.tungstensteel_backpack.desc": "The Tungstensteel Backpack is the final backpack inventory upgrade, It has a total slot count of 120 and contains 7 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.backpack_upgrades.title": "Backpack Upgrades", + "quests.tfg_tips.backpack_upgrades.subtitle": "When Inventory Slots just don't cut it.", + "quests.tfg_tips.backpack_upgrades.desc": "Backpack Upgrades can be installed in your Sophisticated Backpacks, giving your backpack new abilities and utilities.\n\nYou'll need a Blast Furnace to be able to craft these upgrade bases.", + "quests.tfg_tips.crafting_upgrade.title": "Crafting Upgrade", + "quests.tfg_tips.crafting_upgrade.subtitle": "A Workbench on the go!", + "quests.tfg_tips.crafting_upgrade.desc": "The Crafting Upgrade lets you carry a WorkBench in your backpack wherever you go, its pretty much mandatory.", + "quests.tfg_tips.advanced_upgrades.title": "Advanced Upgrades", + "quests.tfg_tips.advanced_upgrades.subtitle": "When the regular just doesn't cut it.", + "quests.tfg_tips.advanced_upgrades.desc": "Certain upgrades for your backpack can be upgraded to advanced upgrades. Advanced upgrades contain more utilities overall and improve the functionality of the original version. Try crafting a Filter and Advnaced Filter upgrade to complete this quest.", + "quests.tfg_tips.all_backpack_upgrades.title": "ALL THE UPGRADES", + "quests.tfg_tips.all_backpack_upgrades.subtitle": "You can't even fit all of these in a single backpack tho...", + "quests.tfg_tips.all_backpack_upgrades.desc": "These are all the backpack upgrades Sophisticated Backpacks have to offer. Can you craft them all?", + "quests.tfg_tips.gt.title": "GregTech", + "quests.tfg_tips.gt.subtitle": "One third of the modpack's name, after all.", + "quests.tfg_tips.gt.desc": "GregTech can be quite intimidating, this quest branch should help you out.", + "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft", + "quests.tfg_tips.terrafirmacraft.subtitle": "Its two thirds of the modpack's name after all.", + "quests.tfg_tips.terrafirmacraft.desc": "TerraFirmaCraft is one of the main mods for TerraFirmaGreg. This branch mostly helps out in letting you know about specific &lAdd-Ons&r the modpack has. Such as Aged Alcohol and Canes.", + "quests.tfg_tips.cane.title": "Walking Canes", + "quests.tfg_tips.cane.subtitle": "You can even whack people with it!", + "quests.tfg_tips.cane.desc": "A Walking Cane allows you to completely overcome any walk-thru block's slow down effects, such as snow and leaf litters. As long as you're holding one in one of your hands that is.", + "quests.tfg_tips.cane.task": "Any Cane", + "quests.tfg_tips.glassblowing.title": "Glassblowing", + "quests.tfg_tips.glassblowing.subtitle": "Realistic Glaswsworking!", + "quests.tfg_tips.glassblowing.desc": "In TerraFirmaCraft, to work with Glass items you need to create a Glassblowing station.\n\nThe Glassblowing station will require some sort of Blowpipe, and a small platform made out of Kaolin Clay to pour the molten glass. You'll need this station to be able to achieve Low Voltage, So it's a good idea to start working on this as soon as possible.\n\nTip: A BlowPipe can be used as a Tong to avoid burning yourself when picking up hot items, handy!", + "quests.tfg_tips.glassblowing.task.1": "At least 9x Kaolin Clay Blocks.", + "quests.tfg_tips.glassblowing_tools.title": "Glassblowing Tools", + "quests.tfg_tips.glassblowing_tools.subtitle": "Tools for the Trade.", + "quests.tfg_tips.glassblowing_tools.desc": "To work with glass you'll need different tools for each task.\n\n&lPaddle&r: Performs flatten, Mainly used for creating Glass Panes and Lamp Glasses.\n&lGem Saw&r: A saw utilizing precious gems which can cut thru the glass. Not only is this used in recipes, but you can use it to break glass blocks and you'll get the block back instead of shattering the block!\n&lJacks&r: Used to pinch glasses, mostly used for containers such as glass bottles.\n&lWool Cloth&r: Used for rolling glass, used for lenses and jars.", + "quests.tfg_tips.glass_blocks.title": "Glass Blocks", + "quests.tfg_tips.glass_blocks.subtitle": "Get yourself some windows.", + "quests.tfg_tips.glass_blocks.desc": "You may have noticed that depending with what type of sand you use to create the glass batch, your glasses will have different colors. Check out the Field Guide's section on Glassblowing to learn different ways to make specific colors. In the future you'll be able to use liquids such as Chlorine to bleach any kind of glass into regular glass.\n\nTip: If you're looking to make a lot of glass dust, try using glass panes and then macerating them, with a big enough Kaolin Clay platform you'll end up getting far more glass dust than what you'd obtain via just macerating a single block.", + "quests.tfg_tips.lamps.title": "Lamps", + "quests.tfg_tips.lamps.subtitle": "These are pretty.", + "quests.tfg_tips.lamps.desc": "Just like in regular Minecraft, Lamps can be hung down from the ceiling or placed on top of a block and give out a moderate amount of light. Lamps consume different kinds of fluid to keep themselves lit, some fuels last indefinetly but require particularly sturdy lamps.", + "quests.tfg_tips.creosote.title": "Lamp Fuel: Creosote", + "quests.tfg_tips.creosote.subtitle": "If you have a bunch of it laying around...", + "quests.tfg_tips.creosote.desc": "Creosote from GregTech can be utilized as a lamp fuel, a full lamp of the stuff lasts for 1 month and 2 days.", + "quests.tfg_tips.creosote.task": "A Bucket of Creosote", + "quests.tfg_tips.tallow.title": "Lamp Fuel: Tallow", + "quests.tfg_tips.tallow.subtitle": "Animal Fat", + "quests.tfg_tips.tallow.desc": "Tallow can be utilized as lamp fuel, a full lamp of the stuff lasts for 2 months and 2 days.", + "quests.tfg_tips.tallow.task": "A Bucket of Tallow", + "quests.tfg_tips.olive_oil.title": "Lamp Fuel: Olive Oil", + "quests.tfg_tips.olive_oil.subtitle": "Lilbito'liveoil", + "quests.tfg_tips.olive_oil.desc": "Olive Oil can be utilized as lamp fuel, while a bit expensive and tedious to craft, a full lamp of the stuff lasts for 10 months and 3 days.", + "quests.tfg_tips.olive_oil.task": "A Bucket of Olive Oil", + "quests.tfg_tips.lava_lamp.title": "Lamp Fuel: Lava?", + "quests.tfg_tips.lava_lamp.subtitle": "Not as mesmerizing as the real deal", + "quests.tfg_tips.lava_lamp.desc": "With a very heat resistant metal such as Blue Steel, you can create a Blue Steel Lamp. The Blue Steel Lamp can be filled with Lava, giving you an indefinite source of light.\n\nCareful handling a filled lava lamp, its very hot.", + "quests.tfg_tips.charcoal_pile.title": "Charcoal Pile", + "quests.tfg_tips.charcoal_pile.subtitle": "You're going to need this", + "quests.tfg_tips.charcoal_pile.desc.1": "Charcoal Piles are a multiblock structure that can be built in the early game to generate large quantities of Charcoal. You're going to need &oa lot&r of Charcoal if you want to succeed in TerraFirmaGreg, as it's key for working with metals, creating Wrought Iron and creating Steel.\n\nBegin by digging down a pit.", + "quests.tfg_tips.charcoal_pile.desc.2": "After creating your pit, place logs of your choice while sneaking, this will place log-piles in your pit. The more logs you place in a log pile the more Charcoal is created.", + "quests.tfg_tips.charcoal_pile.desc.3": "After placing your log piles, cover them with dirt, but leave one uncovered. Set fire to this uncovered one using a Fire Starter or other means such as a Lit Torch or Flint and Steel. After setting fire to the log, cover it and wait, Once the smoke particles cease to emit you can remove the top layer of dirt and harvest your Charcoal.", + "quests.tfg_tips.charcoal_pile.desc.4": "Pro Tip: You may want to invest in a Coke Oven from Gregtech, not only can it also create Charcoal from Logs, it'll create Creosote as a byproduct, which is a useful fuel for later.", + "quests.tfg_tips.thatch_bed.title": "Thatch Bed", + "quests.tfg_tips.thatch_bed.subtitle": "A place to rest... somewhat", + "quests.tfg_tips.thatch_bed.desc": "Utilizing some Thatch and a Large Raw Hide, you can create a Thatch Bed. The Thatch Bed cannot be used to sleep in, but it'll set your spawn point.\n\nTo create a Thatch Bed, place two thatch blocks side by side, then interact with the blocks while holding the Large Raw Hide.", + "quests.tfg_tips.loom.title": "Loom", + "quests.tfg_tips.loom.subtitle": "You'll need to work harder if you want to sleep...", + "quests.tfg_tips.loom.desc": "To create a better bed you'll need to create some textiles, The Loom is the work-station of choice for doing this, as it allows you to create different textiles that each have different uses.", + "quests.tfg_tips.burlap_cloth.title": "Burlap Cloth", + "quests.tfg_tips.burlap_cloth.subtitle": "Made out of Jute!", + "quests.tfg_tips.burlap_cloth.desc": "By soaking some Jute in a barrel, and working the resulting Jute Fibers in the loom, you can create Burlap Cloth.\n\nBurlap Cloth have a number of uses, such as creating Burlap Clothes that protect against hot environments, Beekeeper Armor that protects from angry bees, and a number of other utility items.", + "quests.tfg_tips.pineapple_leather.title": "Pineapple Leather", + "quests.tfg_tips.pineapple_leather.subtitle": "Who lives in a Pineapple Under the Sea?", + "quests.tfg_tips.pineapple_leather.desc": "By creating some pineapple fibers, spindling them into pineapple yarn and working the yarn in the loom you get Pineapple Leather, Which is an eco-friendly way to create Leather Items via Knapping", + "quests.tfg_tips.wool_cloth.title": "Wool Cloth", + "quests.tfg_tips.wool_cloth.subtitle": "Baaa...", + "quests.tfg_tips.wool_cloth.desc": "By shearing some friendly wool-producing livestock, such as a Sheep, you can spindle the resulting wool into wool yarn. Working the yarn in a loom gives you Wool Cloth.\n\nWool cloth not only works as a tool during Glassworking, but can be utilized to create Wooly Clothes which are perfect for cold, bitter environments. Wool is considered a &lHigh Quality Cloth&r.", + "quests.tfg_tips.silk_cloth.title": "Silk Cloth", + "quests.tfg_tips.silk_cloth.subtitle": "Very, Very Smooth.", + "quests.tfg_tips.silk_cloth.desc": "Silk Cloth can be created utilizing string from killing Spiders or via Polycaprolactam Ingots, no Silkworms exist yet, sorry!\n\nSilk Cloth can be used to create Silk Clothes, which are the best at protecting you against hot environments, Silk Cloth is considered a &lHigh Quality cloth&r.", + "quests.tfg_tips.unrefined_paper.title": "Unrefined Paper", + "quests.tfg_tips.unrefined_paper.subtitle": "Time to make some history.", + "quests.tfg_tips.unrefined_paper.desc": "Unrefined Paper is one step away from becoming real, usable Paper. There are a lot of ways to go about creating Paper, some could be easier to do while others can be considerably more difficult. Check the Papermaking entry on your Fieldguide!", + "quests.tfg_tips.bed.title": "Beds", + "quests.tfg_tips.bed.subtitle": "Rest your weary soul.", + "quests.tfg_tips.bed.desc": "Utilizing a &lHigh Quality Cloth&r, such as Wool or Silk Cloth, you can create your very own Bed. Unlike the Thatch Bed, a real Bed is comfortable enough to sleep through a night. Sweet Dreams!", + "quests.tfg_tips.sleeping_bags.title": "Sleeping Bags", + "quests.tfg_tips.sleeping_bags.subtitle": "Slumber Party!", + "quests.tfg_tips.sleeping_bags.desc": "A Sleeping Bag is an item you can use to Sleep through a night. Unlike Beds, Sleeping Bags &owon't&r set your Spawn Point.", + "quests.tfg_tips.hammocks.title": "Hammocks", + "quests.tfg_tips.hammocks.subtitle": "Perfect for Night Owls", + "quests.tfg_tips.hammocks.desc": "A Hammock does the exact oposite as a Sleeping Bag. It allows you to sleep your way from Daytime to Nighttime. Perfect for waiting for something to finish crafting.\nMuch like Sleeping Bags, they &owon't&r set your Spawn Point.", + "quests.tfg_tips.panning.title": "Panning", + "quests.tfg_tips.panning.subtitle": "Re-experience the gold rush!", + "quests.tfg_tips.panning.desc": "Along riverbeds you may notice gravel with slight specks of minerals, these are known as Native Ore Deposits. By right clicking a Native Ore Deposit with a pan you'll be able to transform this ore deposit into small pieces of native ores. These can come in pinch when you're missing small amounts of milibuckets to create something bigger, such as a saw or pickaxe head.", + "quests.tfg_tips.sluice.title": "Sluices", + "quests.tfg_tips.sluice.subtitle": "Panning on Steroids", + "quests.tfg_tips.sluice.desc": "A Sluice can be utilized to pan for ores in Ore Deposits in a faster, slightly automated way. Not only that, but sluices produce different outputs when compared to regular panning, check the field guide's entry for more information!", + "quests.tfg_tips.status_effects.title": "Status Effects", + "quests.tfg_tips.status_effects.subtitle": "No more drinking weird potions.", + "quests.tfg_tips.status_effects.desc": "While potion making is not accessible, you have other means of creating items that give you status effects.", + "quests.tfg_tips.aged_alcohol.title": "Aged Alcohols", + "quests.tfg_tips.aged_alcohol.subtitle": "Drink in moderation...", + "quests.tfg_tips.aged_alcohol.desc": "If you make some sort of drinkable Alcohol (such as beer). You can age it in a barrel for long periods of time. Aging an alcohol like this makes it more potent, giving you special status effects when drank.", + "quests.tfg_tips.pills.title": "Medicine: Pills", + "quests.tfg_tips.pills.subtitle": "Pills here!", + "quests.tfg_tips.pills.desc": "With a bit of Wax, some Spring Water, and other ingredients, you can create Pills! Pills give a myriad of different status effects, some good, some bad. They can come quite handy exploring, specially the Regeneration pill as it can be used when you're on very low health, and natural regeneration just doesnt cut it.", + "quests.tfg_tips.tablets.title": "Medicine: Tablets", + "quests.tfg_tips.tablets.subtitle": "Tablets here...?", + "quests.tfg_tips.tablets.desc": "While more difficult to craft than regular pills, tablets last considerably longer.", + "quests.tfg_tips.salvo.title": "Medicine: Salves", + "quests.tfg_tips.salvo.subtitle": "Apply directly to the forehead.", + "quests.tfg_tips.salvo.desc": "A Salvo is another type of medicine, usually applied on the skin. These can be used to grant you absorption, fire resistance, instant health, etc.", + "quests.tfg_tips.misc.title": "Misc Tips", + "quests.tfg_tips.misc.subtitle": "Even more tips!", + "quests.tfg_tips.misc.desc": "These are miscellaneous tips, they dont fit in the other categories but still useful to know about.", + "quests.tfg_tips.digger_helmet.title": "Digger Helmet", + "quests.tfg_tips.digger_helmet.subtitle": "For those days where you mine all day long", + "quests.tfg_tips.digger_helmet.desc.1": "The Digger Helmet is well, a Helmet you can wear that will automatically light up your surroundings. It'll require a bit of Glowstone to craft however, maybe you can reach to The Beneath for some easy glowstone...", + "quests.tfg_tips.digger_helmet.desc.2": "Worth mentioning, the Digger Helmet itself works thanks to a specific setting of Sodium Dynamic Lights, you'll have to toggle on \"Dynamic Entity Lighting\" for the Digger Helmet to work properly", + "quests.tfg_tips.grappling_hook.title": "Grappling Hook", + "quests.tfg_tips.grappling_hook.subtitle": "This is going to end poorly", + "quests.tfg_tips.grappling_hook.desc": "By combining 4 pieces of Rope Coil and a Wrought Iron Pickaxe Head you can create a Grappling Hook! The Grappling Hook is ideal for scaling big mountains and traversing the world at your liesure. It contains an upgrade system that allows you to combine and modify your Hook to your liesure.", + "quests_tfg_tips.grapple_repair.title": "Repairing your Hook", + "quests.tfg_tips.grapple_repair.subtitle": "READ ME, OR YOU MAY REGRET IT LATER!", + "quests.tfg_tips.grapple_repair.desc": "All of your grappling hook's upgrades are located as NBT Data inside the item. What this means is that trying to repair your Grappling Hook using another Grappling Hook &lWILL destroy all your upgrades!&r\n\nInstead, you should place your Grappling Hook and some Wrought Iron Dust in a Workbench to repair it, this will keep all your NBT data, and as such, your upgrades.", + "quests.tfg_tips.grapple_upgrades.title": "Upgrading your Grappling Hook", + "quests.tfg_tips.grapple_upgrades.subtitle": "Balanced around TFG, of course!", + "quests.tfg_tips.grapple_upgrades.desc.1": "Upgrading your Grappling Hook consists of adding or removing items to it. This is done via the Workbench and Crafting Recipes.\n\nTo see all the upgrades you can apply to your Grappling Hook you can press the \"Usage\" key in JEI. Each of the custom recipes will contain text describing what changes are being applied.", + "quests.tfg_tips.grapple_upgrades.desc.2": "All upgrades can be removed, the usual way to do this is by combining the Grappling Hook with the Upgrade, the Item used to Upgrade it, and a Hammer. After clicking the new Grappling Hook, the old item you used to upgrade it will be left in the crafting grid! This process of Downgrading is global unless specified otherwise in the respective upgrade quest.\n\nFinal note, Upgrades cannot be overriden, if you want to upgrade from an LV motor to an MV motor, you need to remove the LV motor upgrade first.", + "quests.tfg_tips.grapple_length.title": "Grappling Hook Upgrade: Length", + "quests.tfg_tips.grapple_length.subtitle": "Long Boy", + "quests.tfg_tips.grapple_length.desc": "By default, your Grappling Hook has 80 blocks in length, you can add 20 more blocks to it's length by adding more Rope Coils. Increasing it's length up to 200 Blocks.\n\nLength can be decreased by placing a Knife with your Grappling Hook, reducing the length by 20, down to 20.", + "quests.tfg_tips.grapple_motor.title": "Grappling Hook Upgrade: Motor", + "quests.tfg_tips.grapple_motor.subtitle": "That lazy huh?", + "quests.tfg_tips.grapple_motor.desc": "The Motor upgrade enables a Motor in your Grappling Hook, it'll automatically reel you in. Caution should be taken as high level motors may cause you to take fall damage from the reeling force.\n\nMotors are tiered utilizing the Gregtech voltage tiering system, their crafting recipe tells you exactly what was modified and how much.", + "quests.tfg_tips.grapple_smart_motor.title": "Grappling Hook Upgrade: Smart Motor", + "quests.tfg_tips.grapple_smart_motor.subtitle": "Does anyone even know what this does?", + "quests.tfg_tips.grapple_smart_motor.desc": "The Smart Motor upgrade enables the Smart Motor system, it requires a Motor to be installed first.", + "quests.tfg_tips.grapple_field.title": "Grappling Hook Upgrade: Repulsion Field", + "quests.tfg_tips.grapple_field.subtitle": "Look ma! I'm levitating!", + "quests.tfg_tips.grapple_field.desc": "The Repulsion Field upgrade causes you to be repelled from nearby blocks, caution should be taken as high level repulsion strength may cause you to take fall damage.\n\nRepulsion Fields are tiered utilizing the Gregtech voltage tiering system, their crafting recipe tells you exactly what was modified and how much.", + "quests.tfg_tips.grapple_magnet.title": "Grappling Hook Upgrade: Hook Magnet", + "quests.tfg_tips.grapple_magnet.subtitle": "Intense Attraction", + "quests.tfg_tips.grapple_magnet.desc": "The Magnet upgrade causes your hook to be attracted to any nearby blocks, causing it to latch to them.\n\nMagnet Upgrades are tiered utilizing GT's Magnetic Ingots, with the worst one being Magnetic Iron and the best being Magnetic Samarium", + "quests.tfg_tips.grapple_magnet.task": "Any Magnetic Ingot", + "quests.tfg_tips.grapple_sticky.title": "Grappling Hook Upgrade: Sticky Rope", + "quests.tfg_tips.grapple_sticky.subtitle": "Sticky!", + "quests.tfg_tips.grapple_sticky.desc": "The Sticky upgrade causes your hook to be attached to any rope piece that touches a block.", + "quests.tfg_tips.grapple_throw_speed.title": "Grappling Hook Upgrade: Throw Speed", + "quests.tfg_tips.grapple_throw_speed.subtitle": "Yeet!", + "quests.tfg_tips.grapple_throw_speed.desc": "The Throw Speed upgrade causes your hook to travel farther.\n\nThrow Speed upgrades are tiered utilizing the Gregtech voltage tiering system, their crafting recipe tells you exactly what was modified and how much.", + "quests.tfg_tips.grapple_double.title": "Grappling Hook Upgrade: Double Hook", + "quests.tfg_tips.grapple_double.subtitle": "Double the Fun!", + "quests.tfg_tips.grapple_double.desc": "The Double Hook upgrade causes you to throw two grappling hooks at an angle. You can specify key binds to throw each hook separately.", + "quests.tfg_tips.grapple_gravity_50.title": "Grappling Hook Upgrade: 0.5 Gravity", + "quests.tfg_tips.grapple_gravity_50.subtitle": "Does this even make sense?", + "quests.tfg_tips.grapple_gravity_50.desc": "The 0.5 Gravity upgrade causes your hook to have a Gravity Coefficient of 0.5, this means that it'll be affected 50% less from gravity! causing it to travel farther.\n\nInstead of using another Helium Bucket to remove the upgrade, utilize a regular bucket instead. It'll fill with the helium you used.", + "quests.tfg_tips.grapple_gravity_0.title": "Grappling Hook Upgrade: ZERO gravity", + "quests.tfg_tips.grapple_gravity_0.subtitle": "Kinda Expensive", + "quests.tfg_tips.grapple_gravity_0.desc": "The ZERO Gravity upgrade, as the name implies, causes your hook to have NO gravity.\n\nInstead of using another Gravitation Engine Module to remove the upgrade, utilize a Tungsten Block instead.", + "quests.tfg_tips.grapple_tweals.title": "Grappling Hook Upgrade: Tweaks", + "quests.tfg_tips.grapple_tweaks.subtitle": "Tweaking your Angles", + "quests.tfg_tips.grapple_tweaks.desc": "Utilizing a Wrench you can tweak the Upwards Angle when you throw the hook, while the Screwdriver is used to tweak the Horizontal Angle when you throw your hook using a Double Hook Upgrade.", + "quests.tfg_tips.chalk.title": "Chalk", + "quests.tfg_tips.chalk.subtitle": "You don't want to get lost, do you?", + "quests.tfg_tips.chalk.desc": "Chalk can be used to draw different symbols on blocks, they're very useful to mark important locations while cave exploring.\n\nBy creating a Chalk Box, you can store multiple chalk pieces in a single inventory slot, not only that, you can add some sort of glowing item (such as Glowstone) to cause your chalk doodles to glow in the dark!", + "quests.tfg_tips.tape_measure.title": "Tape Measure", + "quests.tfg_tips.tape_measure.subtitle": "Stop manually counting your block spaces.", + "quests.tfg_tips.tape_measure.desc": "You can use a Tape Measure to measure the perimeter of an area by blocks, specially useful when building large projects. Simply interact with a block while holding the Tape Measure to begin measuring, to stop, right click another block while holding the Tape Measure.", + "quests.tfg_tips.blank_disc.title": "Etched: Listen to Music", + "quests.tfg_tips.blank_disc.subtitle": "Listen to your tunes while gregging all over the place.", + "quests.tfg_tips.blank_disc.desc": "Etched is a Music Player mod that allows you to play music discs, not only that, it allows you to create &lcustom&r discs that can play virtually any song you want (as long as its in Bandcamp, Soundcloud.) It can also play in-game sounds via Sound Events.\n\nTo begin your journey with Etched, craft a \"Blank Music Disc\"", + "quests.tfg_tips.radio.title": "Radio", + "quests.tfg_tips.radio.subtitle": "Stream your music without discs", + "quests.tfg_tips.radio.desc": "The Radio allows you to query up any song you want. Right click the radio and then type out your desired song, such as a URL or a minecraft sound event.", + "quests.tfg_tips.dye_discs.title": "The Classics", + "quests.tfg_tips.dye_discs.subtitle": "These will never go old...", + "quests.tfg_tips.dye_discs.desc": "By dipping a Blank Disc on a barrel filled with Dye, you can create the basic ingame discs, such as Wait, 13 and Blocks.", + "quests.tfg_tips.special_discs.title": "The Uniques", + "quests.tfg_tips.special_discs.subtitle": "These are unique... Or they where, at least", + "quests.tfg_tips.special_discs.desc": "You can also craft unique discs if you want...", + "quests.tfg_tips.disc_collector.title": "Disc Collector", + "quests.tfg_tips.disc_collector.subtitle": "A full collection", + "quests.tfg_tips.disc_collector.desc": "Can you craft all the music discs?\n\nSince you're here, there are 2 hidden quests related to music discs. One is quite \"Suspicious\" and the other might require you to channel your inner Dwarf, good luck!", + "quests.tfg_tips.amogus.title": "AMONGUS", + "quests.tfg_tips.amogus.subtitle": "SUSSY BAKA!", + "quests.tfg_tips.amogus.desc": "Congratulations for unlocking this hidden, abhorrent quest. May your venting never be spotted.", + "quests.tfg_tips.label_album.title": "Labels and Albums", + "quests.tfg_tips.label_album.subtitle": "Labels for your Disc, and Album Covers to protect them", + "quests.tfg_tips.label_album.desc": "To Etch your first disc, you'll need a Label. Labels, much like the blank discs, can be dyed.\n\nAlbum Covers are used to cover your etched discs, If your etched disc pulls data from a site like sound-cloud, the song's icon will be compressed into a 16x16 texture! To store a disc, open your inventory, select your album cover, and right click your music disc you want to store. You can also store regular discs.", + "quests.tfg_tips.etching_disc.title": "Etching your first disc", + "quests.tfg_tips.etching_disc.subtitle": "Time for your first tunes", + "quests.tfg_tips.etching_disc.desc": "To Etch your first disc, you'll need the Etching Table. Right clicking the table will open the Etching Interface. By providing a blank disc with a Music Label, and providing a valid sound source on the top bar.\n\nSound source include things like Bandcamp/Soundcloud URLS (which can point to a single music or an album), In-game sound events, and file paths to .ogg/.wav/.mp3 files in your hard disk.\n\nTo complete this quest, Etch &lany&r disc.", + "quests.tfg_tips.disc_players.title": "Disc Players", + "quests.tfg_tips.disc_players.subtitle": "To play your discs of course!", + "quests.tfg_tips.disc_players.desc": "You can utilize a regular JukeBox to play music, however, you can also craft these two items!\n\n&oAlbum Jukebox&r: The Album Jukebox allows you to put multiple discs inside, and cycle across them, perfect to have it around your base to listen to music.\n\n&oBoombox&r: The Boombox lets you carry over music on the go.", + "quests.tfg_tips.disc_players.task": "Obtain an Album Jukebox or a Boombox", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.title": "I AM A DWARF AND I'M DIGGING A HOLE", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.subtitle": "DIGGY DIGGY HOLE, DIGGY DIGGY HOLE!", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.desc": "Congratulations for unlocking this hidden, awesome quest. May your mines never collapse and you find great loot underground.", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.task": "A Diggy Diggy Hole Disc.", + "quests.tfg_tips.camera.title": "Exposure: Capture your Memories", + "quests.tfg_tips.camera.subtitle": "Take pictures of your world", + "quests.tfg_tips.camera.desc": "Exposure is a mod that adds realistic picture processing into the game, start by creating your camera, film rolls, and then develop your pictures. It has complex systems such as color correction, filters and more.", + "quests.tfg_tips.selfie.title": "Selfies", + "quests.tfg_tips.selfie.subtitle": "Influencer moment", + "quests.tfg_tips.selfie.desc": "With your camera open, you can press F5 to enable Selfie mode, which as the name suggests, allows you to take Selfies.", + "quests.tfg_tips.camera_attachments.title": "Camera Attachments", + "quests.tfg_tips.camera_attachments.subtitle": "Improve your Camera", + "quests.tfg_tips.camera_attachments.desc": "By interacting with the camera while sneaking, you'll open the camera GUI. Which not only allows you to place your desired film roll, it allows you to attach things to your camera, enabling new functionalities.\n\n&oRedstone Lamp&r: The Redstone Lamp works as a Flash, which can be used to illuminate dark environments.\n&oSpyglass&r: The Spyglass enables zooming, letting you take pictures of objects far away.", + "quests.tfg_tips.camera_attachments.task": "A Redstone Lamp or a Spyglass", + "quests.tfg_tips.filters.title": "Color Filters", + "quests.tfg_tips.filters.subtitle": "Changing the look of your photos.", + "quests.tfg_tips.filters.desc": "Utilizing a glass pane, you can apply a filter to a picture, simply open your camera GUI and assign it to the camera filter slot. With filters you can change the overall color composition of your pictures. You can make a picture look extra cold by applying a Cyan or Light Blue filter to it.", + "quests.tfg_tips.filter.task": "Any Glass Pane", + "quests.tfg_tips.interplanar_projector.title": "Interplanar Projector", + "quests.tfg_tips.interplanar_projector.subtitle": "This doesn't look realistic...?", + "quests.tfg_tips.interplanar_projector.desc": "The Interplanar Projector is a special filter that allows you to take pictures of things &lOutside&r of the minecraft world, namely pictures in the Internet or pictures on your Hard Drive.\n\nYou can rename the lens in a Scribing Table that points either to an image in your Hard Drive or an image in the web, placing the lens on your camera and taking a picture should result int a picture of the specified image.", + "quests.tfg_tips.film_rolls.title": "Film Rolls", + "quests.tfg_tips.film_rolls.subtitle": "Its not Digital", + "quests.tfg_tips.film_rolls.desc": "To begin taking pictures you'll need to craft a film roll, there are two types, Black and White Film and Colored Film. As their names suggest, one will take Black and White pictures and the other will take Colored pictures.", + "quests.tfg_tips.developing_film.title": "Developing Films", + "quests.tfg_tips.developing_film.subtitle": "Pretend you're a Printer.", + "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin development by soaking the films in water. Afterwards, you'll need to craft a &oLightroom&r.\n\nThe Lightroom is used to develop film, You will need a strong light source above the block, and dyes. Namely Cyan, Magenta, Yellow and Black, as pictures are taken in the CYMK color spectrum. Black and White film will only need black dye while colored film will need CYMK.\n\nIf you fancy for some more interesting development, you can work with Chromatic Process...", + "quests.tfg_tips.photo.title": "Your first Photo", + "quests.tfg_tips.photo.subtitle": "Congratulations!", + "quests.tfg_tips.photo.desc": "With a photo you can do multiple things with it, you can Copy the photo by utilizing a blank sheet of paper, and the required dyes used to develop the original picture (Black for Black and White, CYMK for Colored Pictures).\nYou can also &lstack&r pictures to keep them neatly organized in your inventory, check JEI to know how to.\nYou can also artifically \"age\" a picture by applying brown dye to it, making it look old.", + "quests.tfg_tips.photo_album.title": "Photo Album", + "quests.tfg_tips.photo_album.subtitle": "Turns out memories are forever...", + "quests.tfg_tips.photo_album.desc": "If you want a place to store photos indefinetly, you can create a Photo Album. Not only can it be used to neatly store your pictures, you can also write small descriptions for them! Such as place where you took them, notes, and more.", + "quests.tfg_tips.photo_frame.title": "Photo Frame", + "quests.tfg_tips.photo_frame.subtitle": "For the astonishing pictures.", + "quests.tfg_tips.photo_frame.desc": "A photo frame can be used to display pictures, unlike Item Frames, Photo Frames can be 1x1, 2x2 or 3x3 in size, allowing you to display particularly beautiful photos in your base.", + "quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft", + "quests.tfg_tips.arborfirmacraft.subtitle": "Harvesting the Life-blood of Trees", + "quests.tfg_tips.arborfirmacraft.desc": "ArborFirmaCraft is a mod that adds multiple new trees, some are Variants of existing TFC trees, such as Ancient Kapok, while others are completely new, such as Baobab and Hevea. Some of the colors of the trees may remind you of vanilla tree colors, such as Baobab.\n\nThis part will go all over Tree Tapping.\nAs a bonus, all ArborFirmaCraft woods are compatible with FirmaLife, and FirmaCiv.", + "quests.tfg_tips.treetap.title": "Treetap", + "quests.tfg_tips.treetap.subtitle": "Now with less jank!", + "quests.tfg_tips.treetap.desc": "To begin tapping trees, you'll need to craft a Tree Tap, you'll need to at least know how to work Copper Ingots into these taps.\n\nFor returning players, you may recall the existence of the old \"Tap\" item from the \"Treetap\" mod, this item has been disabled and no longer does anything, however, you can convert it &lfor free&r into an ArborFirmaCraft Tree Tap!\n\nThe process of tapping requires finding a tree, there's a dedicated &oTapping Index&r in the Field Guide's section on ArborFirmaCraft that'll tell you how to find the trees. There's also the \"Tapping Trees\" entry, which can be used to learn how to actually tap the trees.", + "quests.tfg_tips.find_rosin_tree.title": "Rosin Trees", + "quests.tfg_tips.find_rosin_tree.subtitle": "It's going to be chilly...", + "quests.tfg_tips.find_rosin_tree.desc": "Rosin Trees can be found in cold areas of the world that receive moderate to large amounts of rainfall. It can be tapped to obtain Pitch. Pitch can be used to create both Sticky Resin and Conifer Rosin\n\nTo complete this quest, you need to look at a block that has the tag \"#tfg:rosin_logs\", you can use JEI to learn which blocks have this tag.", + "quests.tfg_tips.find_latex_tree.title": "Latex Trees", + "quests.tfg_tips.find_latex_tree.subtitle": "Seek for the Tropics", + "quests.tfg_tips.find_latex_tree.desc": "Latex Trees can be found in temperate areas of the world that receive large amounts of rainfall. It can be tapped to obtain Latex. Latex can be used to create both Sticky Resin, and Vulcanized Latex. Vulcanized Latex is used in the creation of Rubber Gloves, which protect you from poisonous materials on contact.\n\nTo complete this quest, you need to look at a block that has the tag \"#tfg:latex_logs\", you can use JEI to learn which blocks have this tag.", + "quests.tfg_tips.find_syrup_tree.title": "Syrup Trees", + "quests.tfg_tips.find_syrup_tree.subtitle": "Diabetes is Skyrocketing", + "quests.tfg_tips.find_syrup_tree.desc": "Syrup Trees can be found in moderate climates of the world that receive moderate amounts of rainfall. It can be tapped to obtain Syrup. Syrup can be used to create Tree Sugars, which works for sweetning food among other uses.To complete this quest, you need to look at a block that has the tag \"#tfg:latex_logs\", you can use JEI to learn which blocks have this tag.", + "quests.tfg_tips.create_conifer_rosin.title": "Conifer Rosin", + "quests.tfg_tips.create_conifer_rosin.subtitle": "No, it's not Resin", + "quests.tfg_tips.create_conifer_rosin.desc": "Conifer Rosin can be utilized as a Wax, letting you create Candles and other items.\n\nTo create the Conifer Rosin, you need to boil Confier Pitch in a vat mixed with Charcoal Powder.", + "quests.tfg_tips.create_sticky_resin.title": "Sticky Resin", + "quests.tfg_tips.create_sticky_resin.subtitle": "No, it's not Rosin", + "quests.tfg_tips.create_sticky_resin.desc": "Sticky Resin can be utilized to make things sticky, not only that, its key in the production of Raw Rubber Pulp and Rubber Ingots, which you'll need if you want to advance to the Low Voltage Age.\n\nTo create the Sticky Resin you need to boil either Latex or Conifer Pitch in a vat mixed with Sulfur Powder", + "quests.tfg_tips.create_tree_sugar.title": "Tree Sugar", + "quests.tfg_tips.create_tree_sugar.subtitle": "Sweet!", + "quests.tfg_tips.create_tree_sugar.desc": "Tree Sugar is a Sugar substitute, as such, it's mostly used to make things sweet.\n\nTo create the Tree Sugar, you'll need to boil your tree's Sap to get Concentrated Sap, then boil the Concentrated Sap to get Syrup, finally, use a Workbench to turn a bucket of syrup into tree sugar. Keep in mind that all the boiling processes require a stick in the vat or pot.", + "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", + "quests.tfg_tips.create_rubber_ingot.title": "Rubber Ingot", + "quests.tfg_tips.create_rubber_ingot.subtitle": "Insulate them cables", + "quests.tfg_tips.create_rubber_ingot.desc": "Utilizing some machinery from GregTech, you can extract Raw Rubber Pulp from both Latex Producing Trees and Sticky Resin. You can then place 3 raw rubber pulp with a bit of Sulfur Dust to create Rubber Ingots. Rubber Ingots are perfect for insulating cables and are very much necesary to advance in the tech tree.", + "quests.tfg_tips.transportation.title": "Transportation", + "quests.tfg_tips.transportation.subtitle": "For traveling this vast world", + "quests.tfg_tips.transportation.desc": "The world is a very big place, you might end up needing to travel far into the distances to find specific items for your survival. The mods in this spoke help out with just that.", + "quests.tfg_tips.glider.title": "Hang Glider", + "quests.tfg_tips.glider.subtitle": "This is not Breath of the Wild", + "quests.tfg_tips.glider.desc": "A Hang Glider can be crafted and used to glide along the air, you cannot gain altitude with this but it can be useful to traverse long distances if you jump from high altitudes.", + "quests.tfg_tips.reinforced_glider.title": "Reinforced Glider", + "quests.tfg_tips.reinforced_glider.subtitle": "Elytra well spent...?", + "quests.tfg_tips.reinforced_glider.desc": "If you combine an Elytra with a Hang Glider, you'll obtain a Reinforced Glider. The Reinforced Glider is very similar to the regular Glider, the only difference is that you'll have a higher velocity ceiling.", + "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", + "quests.tfg_tips.immersive_aircraft.subtitle": "Fly across the skies, with style.", + "quests.tfg_tips.immersive_aircraft.desc": "Immersive Aircraft is a mod all about Aircrafts such as Biplanes and traversing large amounts of blocks via the Sky.", + "quests.tfg_tips.aircraft_upgrades.title": "Aircraft Upgrades", + "quests.tfg_tips.aircraft_upgrades.subtitle": "Pimp up my ride", + "quests.tfg_tips.aircraft_upgrades.desc": "Immersive Aircraft comes with Aircraft Upgrades, which you can install in your Aircrafts to improve their stats, such as velocity, takeoff speed, fuel consumption, etc. There are two types of Upgrades, regular and Tiered.\n\nThese are the regular upgrades, think you can get them all?", + "quests.tfg_tips.steam_upgrades.title": "Aircraft Upgrades: Steam", + "quests.tfg_tips.steam_upgrade.subtitle": "Immersive Aircraft meets GregTech Tiering!", + "quests.tfg_tips.steam_upgrade.desc": "The second kind of Aircraft Upgrades are the Tiered Upgrades, these are made to match Gregtech's tiering system, going from Steam up to Extreme Voltage.\n\nSteam upgrades are the easiest to craft, and the earliest option, requiring at the very least knowledge of Black Steel.\n\nSteam-powered Aircraft Engines are used in the creation of some more sophisticated Aircrafts such as the Biplane and the Warship", + "quests.tfg_tips.steam_upgrade.task": "Any Steam Tier Aircraft Upgrade", + "quests.tfg_tips.lv_upgrades.title": "Aircraft Upgrades: LV", + "quests.tfg_tips.lv_upgrades.subtitle": "Red and Blue, certainly not clashing.", + "quests.tfg_tips.lv_upgrades.desc": "Low Voltage upgrades are slightly better than their Steam Counterparts, they require at the very least Red and Blue Steel. The Engine itself requires actual LV components, such as the Pistons and the Pump.\n\nYou can recycle the old upgrades using Crushing Wheels, returning some of your spent materials.", + "quests.tfg_tips.lv_upgrades.task": "Any Low Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.mv_upgrades.title": "Aircraft Upgrades: MV", + "quests.tfg_tips.mv_upgrades.subtitle": "Halfway there", + "quests.tfg_tips.mv_upgrades.desc": "Medium Voltage upgrades are the mid-point of Aircraft Upgrades, they require Aluminium as their main ingredient.\n\nThe Aluminium rotor are used in most Tier 2 Aircrafts, such as the Gyrodyne, Warship and the Scarlet Biplane, while the Medium Voltage Engine is used in the Scarlet Biplane.", + "quests.tfg_tips.mv_upgrades.task": "Any Medium Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.hv_upgrades.title": "Aircraft Upgrades: HV", + "quests.tfg_tips.hv_upgrades.subtitle": "Almost there", + "quests.tfg_tips.hv_upgrades.desc": "High Voltage upgrades are the penultimate point of Aircraft Upgrades, they require Stainless Steel as their main ingredient.", + "quests.tfg_tips.hv_upgrades.task": "Any High Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.ev_upgrades.title": "Aircraft Upgrades: EV", + "quests.tfg_tips.ev_upgrades.subtitle": "Are these components even legal?", + "quests.tfg_tips.ev_upgrades.desc": "The Extreme Voltage upgrades are the last type of Aircraft Upgrades, they require Titanium as their main ingredient.", + "quests.tfg_tips.ev_upgrades.task": "Any Extreme Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.aircraft_weapons.title": "Aircraft Weapons", + "quests.tfg_tips.aircraft_weapons.subtitle": "For the great WAAAGH, of course", + "quests.tfg_tips.aircraft_weapons.desc": "In case you want to kill something very menacing, or just conquer your enemies, you can create Weapons which can be used for destroying or maiming mobs.\n\nEach weapon can be fired by using the Interact button while riding the Airplane, most of them (except for the Telescope) consume some sort of Ammo.", + "quests.tfg_tips.airship.title": "Airship", + "quests.tfg_tips.airship.subtitle": "Baby's first Airship", + "quests.tfg_tips.airship.desc": "The Airship is an Aircraft that's relatively decent for travelling, it's main purpose however is to carry items around.\nThe Airship has a total of 16 Inventory Slots,1 Weapon Slot, and 3 Upgrade Slots.", + "quests.tfg_tips.cargo_airship.title": "Cargo Airship", + "quests.tfg_tips.cargo_airship.subtitle": "When you need to carry your entire base into the distance", + "quests.tfg_tips.cargo_airship.desc": "Attach some extra engines, rotors and 2 wooden crates and you'll upgrade your Airship into a Cargo Airship.\n\nThe Cargo Airship is more fuel hungry than its lesser counterpart.\n The Cargo Airship has a total of 80 Inventory Slots, and 4 Upgrade Slots.", + "quests.tfg_tips.waghship.title": "Warship", + "quests.tfg_tips.waghship.subtitle": "Otherwise known as a WAAAAGH-Ship", + "quests.tfg_tips.waghship.desc": "The Warship is the last upgrade to the Airship, it contains a total of 66 Item Slots, 6 Upgrade Slots and 2 Weapon Slots.", + "quests.tfg_tips.quadrocopter.title": "Quadrocopter", + "quests.tfg_tips.quadrocopter.subtitle": "Not a Quadcopter", + "quests.tfg_tips.quadrocopter.desc": "The Quadrocopter is a very basic Hovercraft, it contains 6 Item Slots, a single Upgrade Slot and a single Weapon Slot.\n\nIt excels in simple controls and being able to use it for building.", + "quests.tfg_tips.gyrodyne": "Gyrodyne", + "quests.tfg_tips.gyrodyne.subtitle": "Muscle powered copter", + "quests.tfg_tips.gyrodyne.desc": "The Gyrodyne is a unique Aircraft, instead of consuming fuel, it's powered exclusively by muscle. As such, it consumes your Hunger.\n\nIt contains 18 Inventory Slots, 3 Upgrade Slots and 1 Weapon Slot", + "quests.tfg_tips.economy_plane.title": "Economy Plane", + "quests.tfg_tips.economy_plane.subtitle": "Your first Plane... Not that great tho.", + "quests.tfg_tips.economy_plane.desc": "The Economy Plane is your very basic Plane. It's controlled utilizing Pitch and Yaw instead of Airships or Hovercrafts/Copters.\n\nIt has 4 Inventory Slots, and 4 Upgrade Slots.\nWhile slow, the Economy Plane, just like the Airship, can be Upgraded into better planes.", + "quests.tfg_tips.biplane.title": "Biplane", + "quests.tfg_tips.biplane.subtitle": "How come this is smaller than the Economy Plane?", + "quests.tfg_tips.biplane.desc": "The Biplane is a direct upgrade to the Economy Plane, crafted utilizing Hulls, Steam Boilers and an Enhanced Propeller.\n\nIt contians 16 Inventory Slots, 4 Upgrade Slots and 1 Weapon Slot. Unlike the Economy Plane, the Biplane can be Boosted utilizing Rockets.", + "quests.tfg_tips.scarlet_biplane.title": "Scarlet Biplane", + "quests.tfg_tips.scarlet_biplane.subtitle": "What a sight to behold", + "quests.tfg_tips.scarlet_biplane.desc": "The Scarlet Biplane is the final upgrade for Planes, Requiring HV components.\n\nIt contains 27 Inventory Slots, 4 Upgrade Slots, 2 Weapon Slots, and also a Booster Slot, just like the regular Biplane.\n\nWhile expensive, the Scarlet Biplane makes up for it with increased durability, increased max speed, and overall swag.", + "quests.tfg_tips.firmaciv.title": "FirmaCiv", + "quests.tfg_tips.firmaciv.subtitle": "Sail across the seas, with style.", + "quests.tfg_tips.firmaciv.desc": "FirmaCiv is a mod all about boats and traversing large bodies of water. It can also be used for creating tools that help you position yourself in the world.", + "quests.tfg_tips.firmaciv_info.title": "Voyage Gadgets", + "quests.tfg_tips.firmaciv_info.subtitle": "In case you care for realism", + "quests.tfg_tips.firmaciv_info.desc": "FirmaCiv comes with 4 different gadgets, each giving you important information about the position you are in the world.\n&lSextant&r: The Sextant is used to measure your latitude in the world.\n&lNavigator's Timepiece&r: The Navigator's Timepiece is used to measure your longitude in the world.\n&lBarometer&r: The Barometer is used to learn your Altitude, relative to the sea's level\n&lCompass&r: The Compass has a declination towards true north, and can be used to orient yourself.", + "quests.tfg_tips.warfare.title": "Sea Warfare", + "quests.tfg_tips.warfare.subtitle": "FIRE ALL CANNONS!", + "quests.tfg_tips.warfare.desc": "You can craft both a Cannon and a Cannonball, in case you want to blow something to smithereens.\nTo fire a cannon, you'll need to load it with some Gunpowder, Unrefined Paper and place your Cannonball, afterwards, light the wick with a Flint and Steel", + "quests.tfg_tips.kayak_beginning.title": "Boat 1: Kayak", + "quests.tfg_tips.kayak_beginning.subtitle": "The only portable boat", + "quests.tfg_tips.kayak_beginning.desc": "The kayak is a relatively simple boat to craft, while only one passenger can fit in it it makes up for it by being the only boat you can carry around with you.", + "quests.tfg_tips.kayak_materials.title": "Materials for a Kayak", + "quests.tfg_tips.kayak_materials.subtitle": "Get yourself that Kayak.", + "quests.tfg_tips.kayak_materials.desc": "The Kayak is probably the second most simple boat you can craft, you'll require some form of string, some lumber, and Large Waterproof Hides. The Waterproof Hides can be obtained utilizing Waxes.", + "quests.tfg_tips.create_kayak.title": "Create the Kayak", + "quests.tfg_tips.create_kayak.subtitle": "Happy Kayak-ing!", + "quests.tfg_tips.create_kayak.desc": "With the Kayak in hand, traversing small bodies of water should be relatively easy, make sure you create a paddle so you can go faster!", + "quests.tfg_tips.entity_boats.title": "Entity Boats", + "quests.tfg_tips.entity_boats.subtitle": "I can't carry these with me?", + "quests.tfg_tips.entity_boats.desc": "Entity type boats are unique compared to the Kayak, while the Kayak can be carried around as an item, Entity Type Boats such as Rowboats, Canoes and Sloops cannot be carried around as an Item. However, they have other upsides such as being able to fit multiple people, and also fit \"Compartments\", such as Chests, Barrels and Others.\nTo avoid your boat from drifting away into the horizon, you can leash them with a Lead, might be worth spending some time creating a Dock of sorts for your boats.\n\nWorth mentioning, most boats can receive damage if you traverse over harsh obstacles such as Corals, you can repair your boat by utilizing wood of the same type as your boat.", + "quests.tfg_tips.beneathxfirmaciv.title": "Disclaimer regarding Beneath and Firmaciv", + "quests.tfg_tips.beneathxfirmaciv.subtitle": "Read this, otherwise you may regret it", + "quests.tfg_tips.beneathxfirmaciv.desc": "While you can create Firmaciv Entity Boats out of Crimson and Warped stems, boats made out of these fireproof logs &oARE NOT&r resistant to lava! If you try to traverse a lava lake with these you &oWILL&r sink and die a horrible death!", + "quests.tfg_tips.canoe_beginning.title": "Boat 2: Canoe", + "quests.tfg_tips.canoe_beginning.subtitle": "Primitive", + "quests.tfg_tips.canoe_beginning.desc": "The Canoe is a type of boat that can fit one passenger or compartment. It's made out of soft wood and can be created relatively easily at the cost of some basic tools and time.", + "quests.tfg_tips.canoe_materials.title": "Materials for a Canoe", + "quests.tfg_tips.canoe_materials.subtitle": "It doesnt get simpler than this", + "quests.tfg_tips.canoe_materials.desc": "You'll need to find some sort of Softwood, the Field Guide contains information on which trees qualify as Softwood, alongside the process for actually creating the Canoe.", + "quests.tfg_tips.canoe_materials.task": "Some sort of Fire Starter", + "quests.tfg_tips.create_canoe.title": "Create the Canoe", + "quests.tfg_tips.create_canoe.subtitle": "Happy Canoe-ing!", + "quests.tfg_tips.create_canoe.desc": "With the Canoe, traversing medium sized bodies of water should be relatively easy, make sure you create a paddle so you can go faster!\n\nTo complete the first task of this quest, you need to look at any finished Canoe.", + "quests.tfg_tips.rowboat_beginning.title": "Boat 3: Rowboat", + "quests.tfg_tips.rowboat_beginning.subtitle": "Already using Wrought Iron huh?", + "quests.tfg_tips.rowboat_beginning.desc": "The Rowboat is a type of boat that can fit up to four compartments, or 2 passengers and 2 compartments. It's made out of hard wood and requires at the very least mastery over Wrought Iron.", + "quests.tfg_tips.rowboat_materials.title": "Materials for a Rowboat", + "quests.tfg_tips.rowboat_materials.subtitle": "Get ready for some work now.", + "quests.tfg_tips.rowboat_materials.desc": "You'll need to find some sort of Hardwood, the Field Guide contains information on which trees qualify as Hardwood, alongside the process for actually creating the Rowboat.\n\nKeep in mind that, while the first task accepts any form of hardwood planks, you need to make sure they're all the same type! Trying to create a Rowboat with mixed wood types will not work!", + "quests.tfg_tips.create_rowboat.title": "Create the Rowboat", + "quests.tfg_tips.create_rowboat.subtitle": "Happy Rowboat-ing!", + "quests.tfg_tips.create_rowboat.desc": "With the Rowboat, traversing medium to large sized bodies of water should be relatively easy, make sure you create two oars so you can go faster!\nYou can also dye your rowboat's color with a dye of your choice!\n\nTo complete the first task of this quest, you need to look at any finished Rowboat.", + "quests.tfg_tips.sloop_beginning.title": "Boat 4: Sloop", + "quests.tfg_tips.sloop_beginning.subtitle": "Looking for a Challenge?", + "quests.tfg_tips.sloop_beginning.desc": "The Sloop is a type of boat, it's in fact the biggest and most expensive boat. It can fit up to 2 passengers, although players can walk around the sloop as well. not only that, it can fit up to 12 compartments! and it's the only boat that can accept Cannons as Compartments! It's made out of hard wood and requires at the very least mastery over Steel.", + "quests.tfg_tips.sloop_under_construction_materials.title": "Materials for a Sloop; Pt 1", + "quests.tfg_tips.sloop_under_construction_materials.subtitle": "There are parts now?", + "quests.tfg_tips.sloop_under_construction_materials.desc": "Unlike Rowboats and Canoes, Sloops require two distinct construction phases, you'll first create a \"Sloop Under Construction\", which then you'll finish into a proper sloop.\nYou'll need to find some sort of Hardwood, the Field Guide contains information on which trees qualify as Hardwood, alongside the process for actually creating the Sloop Under Construction.\n\nKeep in mind that, while the fourth task accepts any form of hardwood planks, you need to make sure they're all the same type! Trying to create a Rowboat with mixed wood types will not work!", + "quests.tfg_tips.sloop_materials.title": "Materials for a Sloop; Pt 2", + "quests.tfg_tips.sloop_materials.subtitle": "Don't worry, there's only two parts.", + "quests.tfg_tips.sloop_materials.desc": "With the Sloop under Construction finished, you can recollect these other materials to finish the process of creating your Sloop. Check the Field guide if you need more guidance.\n\nKeep in mind that, while the first, second and third task accepts any form of hardwood planks, logs and lumber; you need to make sure they're all the same type! Trying to create a Rowboat with mixed wood types will not work!", + "quests.tfg_tips.create_sloop.title": "Create the Sloop", + "quests.tfg_tips.create_sloop.subtitle": "Where's the wind waker when you need it?", + "quests.tfg_tips.create_sloop.desc": "With the Sloop, traversing large sized bodies of water should be relatively easy. To make sure you dont end up at the mercy of the wind you can lower your Anchor to stop in place.\nYou can also dye your rowboat's color with a dye of your choice!\n\nTo complete the task of this quest, you need to look at any finished Sloop.", + "quests.tfg_tips.firmalife.title": "Firmalife", + "quests.tfg_tips.firmalife.subtitle": "Thrive in TerraFirmaCraft", + "quests.tfg_tips.firmalife.desc": "Firmalife is a mod all about making your experience in TerraFirmaCraft more enjoyable, containing things such as decorations, preservation, new foods, bees and a plethora of useful gadgets.", + "quests.tfg_tips.greenhouse.title": "Greenhouse", + "quests.tfg_tips.greenhouse.subtitle": "Grow your crops 24/7!", + "quests.tfg_tips.greenhouse.desc": "The Greenhouse is a complex multiblock structure that can be utilized to grow crops all year round. You can check out it's entry in the Field Guide for more information!", + "quests.tfg_tips.beekeeping.title": "Beekeeping", + "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", + "quests.tfg_tips.beekeeping.desc": "Beekeeping can be used for a plethora of things, not only can bees polinate nearby crops, you'll be able to also obtain Wax and Honey", + "quests.tfg_tips.beehive.title": "Beehive", + "quests.tfg_tips.beehive.subtitle": "Time for some rng...", + "quests.tfg_tips.beehive.desc": "To begin your journey as a beekeeper, you'll need both a Beehive and a Beehive Frame.\nUnlike in regular minecraft, Bees do not spawn naturally, and bees can only spawn from beehives with frames populated by queens. The chance for a queen to populate your frame is tied to RNG, but you can increase your odds by placing flowers around the hive.\n\nOnce your frames is populated, it'll begin spawning bees which will pollinate surrounding crops and produce honey.\n\nQueen Bees have &lGenes&r, these Genes can be used to improve your bees over the course of days, if a hive contains at least 2 queens and an empty frame, a new queen will eventually populate the empty frame. More information regarding genes can be read at the Field Guide.", + "quests.tfg_tips.not_the_bees.title": "Beekeeper Armor", + "quests.tfg_tips.not_the_bees.subtitle": "NOT THE BEES!", + "quests.tfg_tips.not_the_bees.desc": "The bees aren't so friendly and don't like it when people harvest their precious honey. There are three ways to harvest honey and wax from beehives.\n\n&lNight Time&r: Bees sleep during the night, which means you can harvest honey from them without suffering from a swarm.\n&lCampfire&r: Utilizing a campfire below the hive and lighting it on fire, the bees will be smoked, incapacitating them from attacking you.\n&lBeekeeper Armor&r: Probably the best option, you can also craft Beekeeper Armor, as long as you have all four pieces equiped, Bees will not be able to attack you.", + "quests.tfg_tips.not_the_bees.task": "I'll use either the Campfire or wait for Nightfall.", + "quests.tfg_tips.honey.title": "Honey", + "quests.tfg_tips.honey.subtitle": "Oh bother...", + "quests.tfg_tips.honey.desc": "With an Empty Jar, you can right click a hive filled with honey to obtain a Honey Jar. Honey is an excelent natural sweetner.", + "quests.tfg_tips.beeswax.title": "Beeswax", + "quests.tfg_tips.beeswax.subtitle": "A worthy sacrifice", + "quests.tfg_tips.beeswax.desc": "If you right click a Beehive Frame that has a Queen Bee, the Queen Bee will be sacrificed and in exchange you'll obtain one Beeswax.\n\nProtip: You can sacrifice Queens that have bad or lower genetic traits to encourage better traits over time.", + "quests.tfg_tips.candles.title": "Candles", + "quests.tfg_tips.candles.subtitle": "Cozy...", + "quests.tfg_tips.candles.desc": "While all candles can be created with Paraffin Wax or Rosin, Creating candles with Beeswax is probably the easiest method if you get lucky with bee RNG.\nCandles are good light source when compared to Torches, unlike Torches, Candles will stay lit for 1 month and 2 days.", + "quests.tfg_tips.oven.title": "Oven", + "quests.tfg_tips.oven.subtitle": "Caution, it's hot.", + "quests.tfg_tips.oven.desc": "The Oven is a multipurpose block that can be used to easily heat and cook items. The bottom oven accepts logs as fuel, the top oven can be used to cook food, while the chimney is necesary to vent out the smoke that rises from the logs. And the Peel is used for peeling off items from the Top Oven\n\nMore information on how to craft an oven can be found in the Field Guide.", + "quests.tfg_tips.oven_appliances.title": "Oven Appliances", + "quests.tfg_tips.oven_appliances.subtitle": "Get more out of your Ovens", + "quests.tfg_tips.oven_appliances.desc": "Oven appliances are blocks that can be placed on top of Bottom Ovens and recieve their heat from them. There are a couple that can be used that arent listed as tasks here:\n\n&lWrought Iron Grill&r: Allows you to grill food, food grilled in this receives a preservation bonus.\n&lVat&r: The Vat is a special block that can process Pot recipes in bulk\n&lJarring Station&r: If placed next to a vat, it can be used to fill jars in bulk with Jams.\n&lPot&r: You can also use Pots if you need to cook soups.", + "quests.tfg_tips.oven_finish.title": "Oven Finishes", + "quests.tfg_tips.oven_finish.subtitle": "Fancy", + "quests.tfg_tips.oven_finish.desc": "In case the look of Clay Bricks dont suit you, you can apply Finishes to your Top, Bottom and Chimney blocks. These will change the look of your block.", + "quests.tfg_tips.oven_finish.task": "Any Oven Finish", + "quests.tfg_tips.oven_utils.title": "Oven Utilities", + "quests.tfg_tips.oven_utils.subtitle": "You may want these.", + "quests.tfg_tips.oven_utils.desc": "The Ashtray is a block that's placed below a Bottom Oven. When fuel is consumed, there's a small chance for Wood Ash to be collected by the Ash Tray. Ash is extracted when you interact with the tray and placed when you attack the tray.\n\nThe Oven Hopper inputs logs into any Bottom Oven that it is facing. It can be automatically filled via automation from other mods as well.", + "quests.tfg_tips.jam.title": "Jam", + "quests.tfg_tips.jam.subtitle": "Not Jelly", + "quests.tfg_tips.jam.desc": "Jams are an excellent form of preserving fruits, a sealed jar of jam can last up to two years without being opened.\n\nTo properly bottle the jam you'll require a Jar with Lid. The lid itself is crafted out metal, with different metals yielding bigger amounts of lids. To open a Sealed Jar of Jam, interact with the Sealed Jar while sneaking, there's a chance that a dirty lid will appear alongside your opened jar of jam. The dirty lid can be then washed by soaking it in a barrel filled with water.", + "quests.tfg_tips.preservation.title": "The Preservation Tree", + "quests.tfg_tips.preservation.subtitle": "Making food last longer", + "quests.tfg_tips.preservation.desc": "As you may have already known, Food can &orot&r over time, and rotten food is not fit for consumption. Being able to thrive in TerraFirmaGreg will imply having to find ways to stretch the shelflife of food as far as possible.\n\nThe tree above this quest goes into details on how to preserve the main 5 types of raw nutrients in TerraFirmaCraft. Note that while some icons may show rotten food, this is purely a cosmetic issue.\n\nWorth mentioning, all preservation modifiers &lstack&r on top of each other.", + "quests.tfg_tips.brine_something.title": "General Preservation: Brining", + "quests.tfg_tips.brine_something.subtitle": "General Preservation N°2", + "quests.tfg_tips.brine_something.desc": "Brining either raw meat, a vegetable or a fruit can increase it's shelflife.", + "quests.tfg_tips.brine_something.tasks.1": "Meat, vegetable or fruit that has been brined.", + "quests.tfg_tips.brine_something.tasks.2": "A Bucket of Brine", + "quests.tfg_tips.pickle_something.title": "General Preservation: Pickling", + "quests.tfg_tips.pickle_something.subtitle": "General Preservation N°3", + "quests.tfg_tips.pickle_something.desc": "Pickling either raw meat, a vegetable or a fruit can increase it's shelflife. Once an item is pickled it can be left in a barrel filled with Vinegar, which gives it the \"Pickled\" preservation as long as the barrel is closed.", + "quests.tfg_tips.pickle_something.tasks.1": "A Bucket of Vinegar", + "quests.tfg_tips.pickle_something.tasks.2": "Meat, vegetable or fruit that has been pickled.", + "quests.tfg_tips.get_milk.title": "Milk Preservation", + "quests.tfg_tips.get_milk.subtitle": "Got milk?", + "quests.tfg_tips.get_milk.desc": "Milk can be obtained from at least 3 different animals, Cows, Goats and Yaks.\nWhile milk can be drank as is, it can also be processed into delicious cheese.\n\nTo complete this quest, get any bucket type filled with the milk of your choosing.", + "quests.tfg_tips.get_milk.task": "Any Bucket of Milk", + "quests.tfg_tips.create_cheese.title": "Milk Preservation: Cheese", + "quests.tfg_tips.create_cheese.subtitle": "Cheesy", + "quests.tfg_tips.create_cheese.desc": "Milk can be processed into Cheese Wheels, Cheese Wheels can then be placed and cut with a knife to obtain cheese slices.\n\nInformation on how to create cheeses can be found in the Field Guide", + "quests.tfg_tips.cheese_aging.title": "Milk Preservation: Cheese Aging", + "quests.tfg_tips.cheese_aging.subtitle": "Stinky", + "quests.tfg_tips.cheese_aging.desc": "If you have a cellar, you can place down the Cheese Weel to age, aging takes time but dramatically increases the shelflife of the Cheese. Do not break the cheese with your hands, otherwise all the aging will be lost!", + "quests.tfg_tips.smoke_cheese.title": "Milk Preservation: Smoke the Cheese", + "quests.tfg_tips.smoke_cheese.subtitle": "Improved flavour profile", + "quests.tfg_tips.smoke_cheese.desc": "You can hang a slice of cheese in a string that's over a lit Campfire to smoke it.", + "quests.tfg_tips.smoke_cheese.task": "A slice of Smoked Cheese", + "quests.tfg_tips.get_meat.title": "Meat Preservation", + "quests.tfg_tips.get_meat.subtitle": "Don't beat it.", + "quests.tfg_tips.get_meat.desc": "Most animals drop meat which is an excellent source of protein, although it's shelf-life is short when left raw.\n\nMeats can be pickled and brined, altho these steps must happen &obefore&r they're cooked.", + "quests.tfg_tips.salt_meat.title": "Meat Preservation: Salt", + "quests.tfg_tips.salt_meat.subtitle": "Not quite a jerky", + "quests.tfg_tips.salt_meat.desc": "Salting meat is a quick and relatively easy way to preserve it, Salt licks can be found in forests, alternatively, you can boil Salt Water to obtain salt if you live near an Ocean.", + "quests.tfg_tips.salt_meat.task": "A hunk of Salted Meat", + "quests.tfg_tips.smoke_meat.title": "Meat Preservation: Smoking", + "quests.tfg_tips.smoke_meat.subtitle": "Smokey", + "quests.tfg_tips.smoke_meat.desc": "You can hang a slice of raw meat in a string that's over a lit Campfire to smoke it. Keep in mind that the meat MUST be salted first.", + "quests.tfg_tips.smoke_meat.task": "A hunk of Smoked Meat", + "quests.tfg_tips.cook_meat.title": "Meat Preservation: Cooking", + "quests.tfg_tips.cook_meat.subtitle": "Pretty obvious in hindsight.", + "quests.tfg_tips.cook_meat.desc": "The easiest way to preserve meat is by cooking it. You should cook it either utilizing a Wrought Iron Grill or a Top Oven, trying to cook the meat in things like a Forge or Furnaces will give it bad preservation modifiers, lowering their shelflife instead!", + "quests.tfg_tips.cook_meat.tasks.1": "A hunk of either Grilled or Oven Baked Cooked Meat.", + "quests.tfg_tips.cook_meat.tasks.2": "A Wrought Iron Grill or a Top Oven", + "quests.tfg_tips.get_veggie.title": "Vegetable Preservation", + "quests.tfg_tips.get_veggie.subtitle": "They're good for you", + "quests.tfg_tips.get_veggie.desc": "Vegetables are mostly found in the wild or grown locally in farms. They can only be Brined and Pickled.", + "quests.tfg_tips.get_fruit.title": "Fruit Preservation", + "quests.tfg_tips.get_fruit.subtitle": "Tasty!", + "quests.tfg_tips.get_fruit.desc": "Fruits are mostly found in the wild, grown locally or harvested from Trees and Bushes. Unlike Vegetables, Fruits have their own preservation modifier, drying.", + "quests.tfg_tips.dry_fruit.title": "Fruit Preservation: Drying", + "quests.tfg_tips.dry_fruit.subtitle": "Water content basically zero", + "quests.tfg_tips.dry_fruit.desc": "Utilizing a Drying mat you can dry fuits, increasing their shelflife. You can also utilize a Solar Drier, which dries the fruit considerably faster.", + "quests.tfg_tips.dry_fruit.task.1": "A piece of Fruit that has been Dried", + "quests.tfg_tips.dry_fruit.task.2": "A Drying Mat or a Solar Drier", + "quests.tfg_tips.get_grain.title": "Grain Preservation", + "quests.tfg_tips.get_grain.subtitle": "Carbohydrates", + "quests.tfg_tips.get_grain.desc": "Grains are relativley abundant and easy to grow locally. While the regular raw grain may not last long there are easy ways on increasing its shelflife dramatically.", + "quests.tfg_tips.get_grain.task": "Any Grain", + "quests.tfg_tips.process_grain.title": "Grain Preservation: Knife Processing", + "quests.tfg_tips.process_grain.subtitle": "That was easy.", + "quests.tfg_tips.process_grain.desc": "By combining a Grain with a Knife in a Workbench, you'll get both Thatch and the loose pieces of the grain, these loose pieces can last up to a year.", + "quests.tfg_tips.passive_preservation.title": "Passive Preservation", + "quests.tfg_tips.passive_preservation.subtitle": "When modifiers aren't enough", + "quests.tfg_tips.passive_preservation.desc": "There are different ways to further preserve your food, above are three very good choices.", + "quests.tfg_tips.vessel_preservation.title": "General Preservation: Large Vessels", + "quests.tfg_tips.vessel_preservation.subtitle": "Better than just glorified backpacks.", + "quests.tfg_tips.vessel_preservation.desc": "Placing food in a Vessel then sealing it gives it the \"Sealed\" preservation modifier, increasing it's shelflife.", + "quests.tfg_tips.cellar.title": "Cellar", + "quests.tfg_tips.cellar.subtitle": "Its not a basement", + "quests.tfg_tips.cellar.desc": "The cellar is a multiblock structure that can be used to preserve a myriad of items, utilizing food shelves and hanging racks. You can also age cheeses in here.", + "quests.tfg_tips.cellar.task": "Any form of sealed entry.", + "quests.tfg_tips.refrigerator.title": "Refrigerator", + "quests.tfg_tips.refrigerator.subtitle": "This thing may be overpowered", + "quests.tfg_tips.refrigerator.desc": "If you've advanced up to the Low Voltage Age, you can create a refrigerator, it consumes power in exchange for GREATLY improving the shelflife of food inside of it.", + "quests.tfg_tips.cellar_blocks.title": "Cellar Blocks", + "quests.tfg_tips.cellar_blocks.subtitle": "Stuff to put your food in", + "quests.tfg_tips.cellar_blocks.desc": "Food Shelves can be used to store virtually any kind of food, while Hangers can be used to store Meats and Garlic. Food items in these blocks recieve a relatively powerful preservation modifier that's better than vessels.", + "quests.tfg_tips.beneath.title": "The Beneath", + "quests.tfg_tips.beneath.subtitle": "What's this \"Nether\" you speak of?", + "quests.tfg_tips.beneath.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers and relatively strange flora and fauna. While the beneath is completely optional, it contains a lot of things that could be considered Quality of Life improvements.", + "quests.tfg_tips.beneath_prep.title": "Preparations", + "quests.tfg_tips.beneath_prep.subtitle": "The Beneath is Hostile, better be prepared", + "quests.tfg_tips.beneath_prep.desc": "The Beneath is a very, VERY hostile environment, due to it being very deep underground the average temperature is always above 15°C, going higher as you go deeper. Not to mention the amount of hostile creatures overall.\nThe quests below this one provide basic preparations for your adventure.", + "quests.tfg_tips.beneath_temp_management.title": "Temperature Management: Active", + "quests.tfg_tips.beneath_temp_management.subtitle": "Things to cool off quickly", + "quests.tfg_tips.beneath_temp_management.desc": "In the beneath, while the temperature is relatively high, its not high enough to immediatly evaporate nearby sources of Water. As such, you should bring some Water to cool off on demand, or some Ice.\n\nYou can harvest Ice using a regular Saw.", + "quests.tfg_tips.beneath_clothes.title": "Temperature Management: Passive", + "quests.tfg_tips.beneath_clothes.subtitle": "Things to passively cool off", + "quests.tfg_tips.beneath_clothes.desc": "Clothes can also play an important role to cool off. The easiest cloth type to craft before going to the Beneath are Burlap Clothes.\n\nSilk Clothes require String, which can be found inside a Beneath Biome called the Webbed Lair.\n\nThere is a better alternative if you have access to Blue Steel however.", + "quests.tfg_tips.blue_steel_diving.title": "Blue Steel Diving Gear", + "quests.tfg_tips.blue_steel_diving.subtitle": "Perfect for taking a warm bath in a Lava Lake", + "quests.tfg_tips.blue_steel_diving.desc": "The Blue Steel Diving Gear is a special set of armor that makes you completely impervious to Lava while you're wearing it. The reduced Warmth but high Insulations means you'll be able to keep a very stable core temperature while in the Beneath.", + "quests.tfg_tips.juicer.title": "Juicer", + "quests.tfg_tips.juicer.subtitle": "Hydration on a Pinch", + "quests.tfg_tips.juicer.desc": "The Juicer is a special item that can extract the latent humidity of Fruits and Mushrooms into drinkable water.\n\nWater is only common in the upper layers of the beneath, as you go lower, it'll be increasingly scarce. However, mushrooms are very common in the Beneath, so you can juice them in the Juicer to get some drinkable Water.", + "quests.tfg_tips.how_to_go_beneath.title": "How to go to The Beneath", + "quests.tfg_tips.how_to_go_beneath.subtitle": "No Obsidian Required", + "quests.tfg_tips.how_to_go_beneath.desc": "The Beneath is located deep, deep underground. Past the overworld's layer of Bedrock.\n\nTo reach the Beneath, you'll have to stand on the Overworld's bedrock for a couple of seconds, Dimensional Forces will bring you to the Beneath.", + "quests.tfg_tips.how_to_go_beneath.task.1": "Reach and Stand on top of Bedrock", + "quests.tfg_tips.how_to_go_beneath.task.2": "Visit the Beneath", + "quests.tfg_tips.reach_the_beneath.title": "Welcome, to The Depths", + "quests.tfg_tips.reach_the_beneath.subtitle": "Otherwise known as The Beneath", + "quests.tfg_tips.reach_the_beneath.desc": "As soon as you reach The Beneath, you should mark your Point of Entry. Traveling in the Beneath is no faster than traveling in the Overworld. So marking your entry position can be used to quickly go back where you came from.", + "quests.tfg_tips.fuck_go_back.title": "How to escape The Beneath", + "quests.tfg_tips.fuck_go_back.subtitle": "Mom come pick me up, I'm scared.", + "quests.tfg_tips.fuck_go_back.desc": "To escape The Beneath, you need to reach the upper levels of the cave system, near it's ceiling of Bedrock. Staying still for a couple of seconds near the roof will transport you back to the Bedrock layer of the Overworld." +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index a5915d9c4..f761537b0 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1,126 +1,114 @@ { - "quests.naming-1": "t - Заголовок", - "quests.naming-2": "st - Подзаголовок", - "quests.naming-3": "d* - Описание, где * номер описания, например: d1, d2, d3, d4...", - "quests.naming-4": "t* - Задание, где * номер задания, например: t1, t2, t3, t4...", - - "quests.76EF4D00586A8B74.t": "&aTerraFirmaGreg Modpack!", - "quests.76EF4D00586A8B74.st": "Спасибо, что выбрали наш модпак!", - "quests.76EF4D00586A8B74.d1": "Самое интересное начинается прямо сейчас! Да одарит этот мир ваше существование!", - - "quests.387DEEADF4922AB3.t": "Генерация руд в мире TFG", - "quests.387DEEADF4922AB3.st": "Куда веселей чем в ванилле", - "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nTFG содержит небольшое Wiki для этого в таблице Excel. Для того, чтобы перейти по ссылке, выполните задание, после заберите награду и в чате отобразится кнопка по нажатию на которую вас перебросит на таблицу Excel с генерацией руды.", - - "quests.63E6C5684E12828C.st": "Вам нужно пить воду, чтобы не умереть, постарайтсь найти реку или озеро с обычной водой!", - "quests.63E6C5684E12828C.d1": "Используйте правую кнопку мыши, чтобы выпить немного воды. \nОсторожно! Если вы выпьете соленой воды у вас появится эффект усиленной жажды и скорее всего вы умрете.", - "quests.63E6C5684E12828C.t1": "Посмотрите на обычную воду (не соленую или горячую)", - - "quests.6D43C29AC049341D.t": "Как создать команду?", - "quests.6D43C29AC049341D.st": "Вы играете с друзьями? Удивляет...", - "quests.6D43C29AC049341D.d1": "Вы можете создать команду, чтобы вместе выполнять квесты. Для этого откройте инвентарь, после в левом верхнем углу выберите кнопку где нарисованы 3 разноцветных человечка, далее откроется интерфейс в котором вы можете создать команду, используйте кнопку §aСоздать команду§r, далее задайте ей имя и возможно какие-либо другие параметры, после успешного создания команды, вы можете приглашать в нее других игроков используя кнопку плюсика в зеленом круге в правом верхнем углу, в будущем ваши квесты будут синхронизироваться и любой участник команды сможет их выполнять. Удачи!", - "quests.6D43C29AC049341D.t1": "Нажми сюда, чтобы выполнить квест", - - "quests.0B42D4AE2AC67F93.t": "Как захватить территорию?", - "quests.0B42D4AE2AC67F93.st": "Ну или как загрузить чанки в своей территории", - "quests.0B42D4AE2AC67F93.d1": "Вы можете приватить чанки, которые хотите, если вы например играете на сервере. Как это сделать? Используйте кнопку, чтобы открыть мини-карту, после выделите чанки, которые вы хотите захватить, после нажатием на правую кнопку мыши выберите в списке §aЗахватить территорию§r, вроде бы оно будет третьим пунктом снизу, вуаля, вы захватили территорию. Внимание: ваши тиммейты смогут ломать блоки в вашем регионе, что логично.", - "quests.0B42D4AE2AC67F93.t1": "Нажми сюда, чтобы выполнить квест", - - "quests.2672C65095539E23.t": "Как получить дробленную руду без дробителя?", - "quests.2672C65095539E23.st": "На самом деле очень просто.", - "quests.2672C65095539E23.d1": "Просто сломайте блок руды молотом (кувалдой) и вы получите сразу же дробленную руду, которую можно раздробить вручную и получить порошок, например графита или серы.", - "quests.2672C65095539E23.t1": "Нажми сюда, чтобы выполнить квест", - - "quests.3D7B0F3134C30364.t": "Важная информация о квестах!", - "quests.3D7B0F3134C30364.d1": "Квесты все еще в разработке, в будущем будет добавлено больше описаний и другого. Частично вы можете использовать книгу TFC для поиска нужной информации. &cПолные квесты в каждой ветке с переводом появятся в обновлении 1.0.0, так как сейчас у разработчиков очень мало времени.", - "quests.3D7B0F3134C30364.t1": "Нажми сюда, чтобы выполнить квест", - - "quests.7196BB6BDBAE7B51.st": "Пропитание очень важно в этом мире!", - "quests.7196BB6BDBAE7B51.d1": "Попробуйте убить какое-нибудь животное и получить с него немного мяса. Кушать сырое мясо плохая идея, поэтому постарайтесь пожарить его на костре.", - "quests.7196BB6BDBAE7B51.t1": "Добудьте любое сырое мясо", - - "quests.557D3A67A36DF9D8.st": "Приготовьте мясо на костре!", - "quests.557D3A67A36DF9D8.d1": "Поздавляю, вы приготовили мясо, теперь можете безопасно его скушать.", - "quests.557D3A67A36DF9D8.t1": "Добудьте любое жаренное мясо", - - "quests.682B58EC2D39F1A1.st": "Костер, но не обычный", - "quests.682B58EC2D39F1A1.d1": "Бросьте на блок 3 палки и 1 бревно, после наведите на этот блок курсор мыши и используйте примитивную зажигалку (Просто зажимайте правую кнопку мыши, как будто вы целитесь с лука), с первого раза может не получиться. После успеха, на месте выброшенных 3 палок и 1 бревна появится костер, в который нужно закидывтаь бревна, чтобы костер продолжал гореть. Для увеличения шанса создания костра, вы можете добавить к уже лежащим палкам и бревну: бумагу, солому и другие легковоспламеняемые предметы, за каждый предмет по +10%.", - "quests.682B58EC2D39F1A1.t1": "Сделайте костер", - - "quests.6D940527BFF1D4C0.t": "Примитивное освещение", - "quests.6D940527BFF1D4C0.st": "Они тухнут? Да! Они могут потухнуть, я сам в шоке!", - "quests.6D940527BFF1D4C0.d1": "Вы удивитесь, но факела не бесконечные в TFC. Они будут гореть примерно 2 игровых дня, после потухнут. Но не бескокойтесь, в руках или инвентаре они не тухнут, поэтому вы можете носить с собой 1 факел и когда другие в вашем доме будут тухнуть, просто используйте на них правой кнопкой мыши факел из инвентаря, он подожжет уже потухшие факела.", - - "quests.3B3BA51C8CAEFC7F.t": "Примитивная зажигалка", - "quests.3B3BA51C8CAEFC7F.st": "Люди в древности разжигали костры при помощи такой штуки, а может быть и нет, откуда мне знать", - "quests.3B3BA51C8CAEFC7F.d1": "Эта штука позволит вам развести костер, или поджечь, что либо, просто наведите курсор мыши на любой блок, после зажмите и держите правую кнопку мыши, после максимального натяжения, отпустите, с шансом в 50% подожжется блок на которой вы смотрели. Как сделать костер используя примитивную зажигалку, в следующем квесте.", - - "quests.365F6F48E0BB2EFC.t": "Палки и камни", - "quests.365F6F48E0BB2EFC.st": "Соберите немного камней и палок для будущего развития", - "quests.365F6F48E0BB2EFC.d1": "При входе в мир, первое, что вы встречаете это полностью измененный мир. Основными предметами на старте являются палки и камушки, которые лежат на земле и появляются в любом биоме, так же они обновляются каждый сезон, то есть после зимы палки и камушки заного регенирируются на земле. Соберите несколько при помощи ПКМ и приступайте к след. шагу. \n\nВозьмите в руку 2 и более камня, после нажмите правую кнопку мыши, далее у вас откроется меню, в котором вы можете делать оголовия каменных инструментов, все рецепты можно посмотреть в EMI или просто нажав на иконку предмета каменного оголовия в квесте. После соедините оголовие с палкой и получите инструмент настоящего аборигена. \n\nТеперь вы умная обезьянка!", - "quests.365F6F48E0BB2EFC.t1": "Найдите любые палки", - "quests.365F6F48E0BB2EFC.t2": "Найдите любые камушки", - - "quests.508DA76FA2766B7B.st": "Это не ракетная установка!", - "quests.508DA76FA2766B7B.d1": "Копья работают по схожему принципу с трезубцем из ванильного майнкрафта, просто зажмите правую кнопку мыши и прицельтесь, после отпустите и ваш трезубец полетит туда куда вы смотрели.", - "quests.508DA76FA2766B7B.t1": "Создайте любое каменное копье", - - "quests.318BF1F671BC4620.st": "Спасибо, что не алмазная...", - "quests.318BF1F671BC4620.d1": "Мотыги используются для вскапывания грядок и посадки растений. Интересный факт: в TFC можно вскапывать грядки даже вдалеке от воды, главное при наведении смотрите на подсказу (панель сверху), в ней будет отображаться кол-во насыщения водой грядки. Далее выберите семяна собранные в мире с подходящими климатическими условиями (в том числе и влажностью грядки) посадите и ожидайте.", - - "quests.36A9E5CD45A79288.st": "Реалистично", - "quests.36A9E5CD45A79288.d1": "Используя правую кнопку мыши с мотыгой в руке вспахайте землю, серьезно, это очень просто, попробуйте.", - "quests.36A9E5CD45A79288.t1": "Вспахайте землю", - - "quests.5C396041880D32FF.st": "Выглядит многообещающе", - "quests.5C396041880D32FF.d1": "Исследуя мир вы можете найти дикие растения, соберите их при помощи ножа или руки, таким образом вы получите семяна и само растение.", - "quests.5C396041880D32FF.t1": "Найдите любые семяна", - - "quests.4CF472C9778068D6.t": "Соберите свой первый урожай", - "quests.4CF472C9778068D6.st": "Оно съедобно?", - "quests.4CF472C9778068D6.d1": "Не уверен. \n\nВнимание! Растения растут очень долго и также они очень прихотливы к условиям своего роста, обязательно сверяйтесь с условиями в которых растет то или иное растения прежде чем его посадить иначе оно превратится в мертвый куст.", - "quests.4CF472C9778068D6.t1": "Нажмите сюда, чтобы выполнить квест", - - "quests.2BFC2744E4DE4B5A.st": "Не рубите дерево рукой, это неправильно!", - "quests.2BFC2744E4DE4B5A.d1": "Топоры используются для рубки дерева, да в прочем и всего деревянного, ведь рукой в TFC нельзя сломать дерево.", - - "quests.716B407EEED8BE95.st": "Спасибо, что копает", - "quests.716B407EEED8BE95.d1": "Лопаты используются для создания тропинок и выкапывания земли, песка и возможно чего-то еще!", - - "quests.06C7B7138EDE4B38.st": "Ваш лучший друг", - "quests.06C7B7138EDE4B38.d1": "Ножи очень важный инструмент в TFC, позволяет срезать траву и получать солому, из него можно сделать огненную яму и обжаривать металлы и глинянные формы, но об этом дальше в квестах.", - - "quests.45D907EF7902A200.st": "Понадобится для создания укрытия или обжарной ямы", - "quests.45D907EF7902A200.d1": "Важный предмет на начальных этапах развития, вам его понадобится много, предлагаю накопать около 3 стаков.", - - "quests.27DA5AAB102611A2.st": "Милая шапочка, будет вас спасать от жары и палящего солнца", - - "quests.30AE1FF285B64716.st": "Это сноп соломы, из него можно построить милый домик", - - "quests.0ED8BE436A0ECDDB.st": "Это сноп сена, из него можно сделать красивые декорации", - "quests.0ED8BE436A0ECDDB.d1": "И вправду, этот блок всего лишь декоративный, не пытайтесь скормить его коню.", - - "quests.69D20168E26BBF59.st": "Реализм", - "quests.69D20168E26BBF59.d1": "Для начала выкопайте 1 блок в земле, или любой другой поверхности, дальше при помощи клавиши V установите в яму вещи, которые вы хотите обжарить. Если мы говорим о формах, их помещается 4 штуки. Дальше возьмите в руку Сено и нажмите ПКМ в яму, сено начнет заполнять яму, вам нужно использовать 8 сена, дальше таким же образом добавьте 8 бревен, далее вы можете спокойно поджечь это дело при помощи примитивного огнива или факела (просто бросьте факел сверху вашей ямы и оно начнет разгораться). Потом вы должны ожидать окончания обжига и после достать свои готовые предметы. Таким же образом происходит расплавка металла в емкостях. То есть кладете кусочки меди в сосуд и в эту самую яму, после вышеописанного процесса вы получите расплавленную медь, которую сможете отлить в слитки, оголовья и так далее.", - "quests.69D20168E26BBF59.t1": "Создайте обжарочную яму", - - "quests.373FD04AD6CA9F92.t": "Новое или старое дерево", - "quests.373FD04AD6CA9F92.st": "При помощи топора соберите немного древесины, хочу напомнить, что бревна рукой не добываются", - "quests.373FD04AD6CA9F92.t1": "Добудьте любое дерево", - - "quests.5DB0CA9F9724D301.t": "Угольные ямы", - "quests.5DB0CA9F9724D301.st": "Получите свой первый уголь! Стоп, а зачем он нужен?", - "quests.5DB0CA9F9724D301.d1": "Для создания угольной ямы вам понадобится много, много дерева. Для начала выкопайте яму, глубиной в 1 блок (можно и глубже, если позволяет кол-во древесины).", - "quests.5DB0CA9F9724D301.d2": "После, при помощи Shift + ПКМ нажмите в любой блок в яме, у вас появится охапка бревен, ее можно наполнять, нажимая ПКМ с бревном в руке по охапке, либо просто открыть интерфейс и наполнить вручную. От кол-ва дерева в охапке зависит количество получаемого впоследствии угля.", - "quests.5DB0CA9F9724D301.d3": "Далее, накрываете это все не горючим блоком, камнем или землей, оставляете один блок открытым и поджигаете при помощи выброшенного факела или примитивного зажигателя.", - "quests.5DB0CA9F9724D301.d4": "Теперь ваша куча земли начала дымиться, накройте последний блок, который вы поджигали опять же не горючим блоком и ожидайте, как только куча перестанет дымиться, раскапывайте ее и получайте уголь.", - - "quests.478D0DF94D7495EF.st": "Это вправду просто, или нет?", - "quests.478D0DF94D7495EF.d1": "Процесс отлития стекла показан в книге-гайде TFC, которую вы можете найти в инвентаре в правой его части, но для блоков стекла, точнее для их отлития используются блоки латуни, в TerraFirmaGreg для этого вы можете использовать блоки латуни из GTCEu или блоки каолинитовой глины, удачи! :)", - "quests.478D0DF94D7495EF.t1": "Отлейте любой блок стекла", - - "quests..t": "", - "quests..st": "", - "quests..d1": "", - "quests..t1": "" + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "material.tfg.latex": "Латекс", + "material.tfg.fluix": "Флакс", + "material.tfg.gabbro": "Габбро", + "material.tfg.shale": "Сланец", + "material.tfg.claystone": "Аргиллит", + "material.tfg.limestone": "Известняк", + "material.tfg.conglomerate": "Конгломерат", + "material.tfg.dolomite": "Доломит", + "material.tfg.chert": "Кремнистый сланец", + "material.tfg.rhyolite": "Риолит", + "material.tfg.dacite": "Дацит", + "material.tfg.slate": "Шиферный сланец", + "material.tfg.phyllite": "Филлит", + "material.tfg.schist": "Аспидный сланец", + "material.tfg.gneiss": "Гнейс", + "material.tfg.chalk": "Мел", + "tfg.disabled_portal": "Магия портала заблокирована неизветсной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", + "quests.naming-1": "t - Заголовок", + "quests.naming-2": "st - Подзаголовок", + "quests.naming-3": "d* - Описание, где * номер описания, например: d1, d2, d3, d4...", + "quests.naming-4": "t* - Задание, где * номер задания, например: t1, t2, t3, t4...", + "quests.76EF4D00586A8B74.t": "&aTerraFirmaGreg Modpack!", + "quests.76EF4D00586A8B74.st": "Спасибо, что выбрали наш модпак!", + "quests.76EF4D00586A8B74.d1": "Самое интересное начинается прямо сейчас! Да одарит этот мир ваше существование!", + "quests.387DEEADF4922AB3.t": "Генерация руд в мире TFG", + "quests.387DEEADF4922AB3.st": "Куда веселей чем в ванилле", + "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nTFG содержит небольшое Wiki для этого в таблице Excel. Для того, чтобы перейти по ссылке, выполните задание, после заберите награду и в чате отобразится кнопка по нажатию на которую вас перебросит на таблицу Excel с генерацией руды.", + "quests.63E6C5684E12828C.st": "Вам нужно пить воду, чтобы не умереть, постарайтсь найти реку или озеро с обычной водой!", + "quests.63E6C5684E12828C.d1": "Используйте правую кнопку мыши, чтобы выпить немного воды. \nОсторожно! Если вы выпьете соленой воды у вас появится эффект усиленной жажды и скорее всего вы умрете.", + "quests.63E6C5684E12828C.t1": "Посмотрите на обычную воду (не соленую или горячую)", + "quests.6D43C29AC049341D.t": "Как создать команду?", + "quests.6D43C29AC049341D.st": "Вы играете с друзьями? Удивляет...", + "quests.6D43C29AC049341D.d1": "Вы можете создать команду, чтобы вместе выполнять квесты. Для этого откройте инвентарь, после в левом верхнем углу выберите кнопку где нарисованы 3 разноцветных человечка, далее откроется интерфейс в котором вы можете создать команду, используйте кнопку §aСоздать команду§r, далее задайте ей имя и возможно какие-либо другие параметры, после успешного создания команды, вы можете приглашать в нее других игроков используя кнопку плюсика в зеленом круге в правом верхнем углу, в будущем ваши квесты будут синхронизироваться и любой участник команды сможет их выполнять. Удачи!", + "quests.6D43C29AC049341D.t1": "Нажми сюда, чтобы выполнить квест", + "quests.0B42D4AE2AC67F93.t": "Как захватить территорию?", + "quests.0B42D4AE2AC67F93.st": "Ну или как загрузить чанки в своей территории", + "quests.0B42D4AE2AC67F93.d1": "Вы можете приватить чанки, которые хотите, если вы например играете на сервере. Как это сделать? Используйте кнопку, чтобы открыть мини-карту, после выделите чанки, которые вы хотите захватить, после нажатием на правую кнопку мыши выберите в списке §aЗахватить территорию§r, вроде бы оно будет третьим пунктом снизу, вуаля, вы захватили территорию. Внимание: ваши тиммейты смогут ломать блоки в вашем регионе, что логично.", + "quests.0B42D4AE2AC67F93.t1": "Нажми сюда, чтобы выполнить квест", + "quests.2672C65095539E23.t": "Как получить дробленную руду без дробителя?", + "quests.2672C65095539E23.st": "На самом деле очень просто.", + "quests.2672C65095539E23.d1": "Просто сломайте блок руды молотом (кувалдой) и вы получите сразу же дробленную руду, которую можно раздробить вручную и получить порошок, например графита или серы.", + "quests.2672C65095539E23.t1": "Нажми сюда, чтобы выполнить квест", + "quests.3D7B0F3134C30364.t": "Важная информация о квестах!", + "quests.3D7B0F3134C30364.d1": "Квесты все еще в разработке, в будущем будет добавлено больше описаний и другого. Частично вы можете использовать книгу TFC для поиска нужной информации. &cПолные квесты в каждой ветке с переводом появятся в обновлении 1.0.0, так как сейчас у разработчиков очень мало времени.", + "quests.3D7B0F3134C30364.t1": "Нажми сюда, чтобы выполнить квест", + "quests.7196BB6BDBAE7B51.st": "Пропитание очень важно в этом мире!", + "quests.7196BB6BDBAE7B51.d1": "Попробуйте убить какое-нибудь животное и получить с него немного мяса. Кушать сырое мясо плохая идея, поэтому постарайтесь пожарить его на костре.", + "quests.7196BB6BDBAE7B51.t1": "Добудьте любое сырое мясо", + "quests.557D3A67A36DF9D8.st": "Приготовьте мясо на костре!", + "quests.557D3A67A36DF9D8.d1": "Поздавляю, вы приготовили мясо, теперь можете безопасно его скушать.", + "quests.557D3A67A36DF9D8.t1": "Добудьте любое жаренное мясо", + "quests.682B58EC2D39F1A1.st": "Костер, но не обычный", + "quests.682B58EC2D39F1A1.d1": "Бросьте на блок 3 палки и 1 бревно, после наведите на этот блок курсор мыши и используйте примитивную зажигалку (Просто зажимайте правую кнопку мыши, как будто вы целитесь с лука), с первого раза может не получиться. После успеха, на месте выброшенных 3 палок и 1 бревна появится костер, в который нужно закидывтаь бревна, чтобы костер продолжал гореть. Для увеличения шанса создания костра, вы можете добавить к уже лежащим палкам и бревну: бумагу, солому и другие легковоспламеняемые предметы, за каждый предмет по +10%.", + "quests.682B58EC2D39F1A1.t1": "Сделайте костер", + "quests.6D940527BFF1D4C0.t": "Примитивное освещение", + "quests.6D940527BFF1D4C0.st": "Они тухнут? Да! Они могут потухнуть, я сам в шоке!", + "quests.6D940527BFF1D4C0.d1": "Вы удивитесь, но факела не бесконечные в TFC. Они будут гореть примерно 2 игровых дня, после потухнут. Но не бескокойтесь, в руках или инвентаре они не тухнут, поэтому вы можете носить с собой 1 факел и когда другие в вашем доме будут тухнуть, просто используйте на них правой кнопкой мыши факел из инвентаря, он подожжет уже потухшие факела.", + "quests.3B3BA51C8CAEFC7F.t": "Примитивная зажигалка", + "quests.3B3BA51C8CAEFC7F.st": "Люди в древности разжигали костры при помощи такой штуки, а может быть и нет, откуда мне знать", + "quests.3B3BA51C8CAEFC7F.d1": "Эта штука позволит вам развести костер, или поджечь, что либо, просто наведите курсор мыши на любой блок, после зажмите и держите правую кнопку мыши, после максимального натяжения, отпустите, с шансом в 50% подожжется блок на которой вы смотрели. Как сделать костер используя примитивную зажигалку, в следующем квесте.", + "quests.365F6F48E0BB2EFC.t": "Палки и камни", + "quests.365F6F48E0BB2EFC.st": "Соберите немного камней и палок для будущего развития", + "quests.365F6F48E0BB2EFC.d1": "При входе в мир, первое, что вы встречаете это полностью измененный мир. Основными предметами на старте являются палки и камушки, которые лежат на земле и появляются в любом биоме, так же они обновляются каждый сезон, то есть после зимы палки и камушки заного регенирируются на земле. Соберите несколько при помощи ПКМ и приступайте к след. шагу. \n\nВозьмите в руку 2 и более камня, после нажмите правую кнопку мыши, далее у вас откроется меню, в котором вы можете делать оголовия каменных инструментов, все рецепты можно посмотреть в EMI или просто нажав на иконку предмета каменного оголовия в квесте. После соедините оголовие с палкой и получите инструмент настоящего аборигена. \n\nТеперь вы умная обезьянка!", + "quests.365F6F48E0BB2EFC.t1": "Найдите любые палки", + "quests.365F6F48E0BB2EFC.t2": "Найдите любые камушки", + "quests.508DA76FA2766B7B.st": "Это не ракетная установка!", + "quests.508DA76FA2766B7B.d1": "Копья работают по схожему принципу с трезубцем из ванильного майнкрафта, просто зажмите правую кнопку мыши и прицельтесь, после отпустите и ваш трезубец полетит туда куда вы смотрели.", + "quests.508DA76FA2766B7B.t1": "Создайте любое каменное копье", + "quests.318BF1F671BC4620.st": "Спасибо, что не алмазная...", + "quests.318BF1F671BC4620.d1": "Мотыги используются для вскапывания грядок и посадки растений. Интересный факт: в TFC можно вскапывать грядки даже вдалеке от воды, главное при наведении смотрите на подсказу (панель сверху), в ней будет отображаться кол-во насыщения водой грядки. Далее выберите семяна собранные в мире с подходящими климатическими условиями (в том числе и влажностью грядки) посадите и ожидайте.", + "quests.36A9E5CD45A79288.st": "Реалистично", + "quests.36A9E5CD45A79288.d1": "Используя правую кнопку мыши с мотыгой в руке вспахайте землю, серьезно, это очень просто, попробуйте.", + "quests.36A9E5CD45A79288.t1": "Вспахайте землю", + "quests.5C396041880D32FF.st": "Выглядит многообещающе", + "quests.5C396041880D32FF.d1": "Исследуя мир вы можете найти дикие растения, соберите их при помощи ножа или руки, таким образом вы получите семяна и само растение.", + "quests.5C396041880D32FF.t1": "Найдите любые семяна", + "quests.4CF472C9778068D6.t": "Соберите свой первый урожай", + "quests.4CF472C9778068D6.st": "Оно съедобно?", + "quests.4CF472C9778068D6.d1": "Не уверен. \n\nВнимание! Растения растут очень долго и также они очень прихотливы к условиям своего роста, обязательно сверяйтесь с условиями в которых растет то или иное растения прежде чем его посадить иначе оно превратится в мертвый куст.", + "quests.4CF472C9778068D6.t1": "Нажмите сюда, чтобы выполнить квест", + "quests.2BFC2744E4DE4B5A.st": "Не рубите дерево рукой, это неправильно!", + "quests.2BFC2744E4DE4B5A.d1": "Топоры используются для рубки дерева, да в прочем и всего деревянного, ведь рукой в TFC нельзя сломать дерево.", + "quests.716B407EEED8BE95.st": "Спасибо, что копает", + "quests.716B407EEED8BE95.d1": "Лопаты используются для создания тропинок и выкапывания земли, песка и возможно чего-то еще!", + "quests.06C7B7138EDE4B38.st": "Ваш лучший друг", + "quests.06C7B7138EDE4B38.d1": "Ножи очень важный инструмент в TFC, позволяет срезать траву и получать солому, из него можно сделать огненную яму и обжаривать металлы и глинянные формы, но об этом дальше в квестах.", + "quests.45D907EF7902A200.st": "Понадобится для создания укрытия или обжарной ямы", + "quests.45D907EF7902A200.d1": "Важный предмет на начальных этапах развития, вам его понадобится много, предлагаю накопать около 3 стаков.", + "quests.27DA5AAB102611A2.st": "Милая шапочка, будет вас спасать от жары и палящего солнца", + "quests.30AE1FF285B64716.st": "Это сноп соломы, из него можно построить милый домик", + "quests.0ED8BE436A0ECDDB.st": "Это сноп сена, из него можно сделать красивые декорации", + "quests.0ED8BE436A0ECDDB.d1": "И вправду, этот блок всего лишь декоративный, не пытайтесь скормить его коню.", + "quests.69D20168E26BBF59.st": "Реализм", + "quests.69D20168E26BBF59.d1": "Для начала выкопайте 1 блок в земле, или любой другой поверхности, дальше при помощи клавиши V установите в яму вещи, которые вы хотите обжарить. Если мы говорим о формах, их помещается 4 штуки. Дальше возьмите в руку Сено и нажмите ПКМ в яму, сено начнет заполнять яму, вам нужно использовать 8 сена, дальше таким же образом добавьте 8 бревен, далее вы можете спокойно поджечь это дело при помощи примитивного огнива или факела (просто бросьте факел сверху вашей ямы и оно начнет разгораться). Потом вы должны ожидать окончания обжига и после достать свои готовые предметы. Таким же образом происходит расплавка металла в емкостях. То есть кладете кусочки меди в сосуд и в эту самую яму, после вышеописанного процесса вы получите расплавленную медь, которую сможете отлить в слитки, оголовья и так далее.", + "quests.69D20168E26BBF59.t1": "Создайте обжарочную яму", + "quests.373FD04AD6CA9F92.t": "Новое или старое дерево", + "quests.373FD04AD6CA9F92.st": "При помощи топора соберите немного древесины, хочу напомнить, что бревна рукой не добываются", + "quests.373FD04AD6CA9F92.t1": "Добудьте любое дерево", + "quests.5DB0CA9F9724D301.t": "Угольные ямы", + "quests.5DB0CA9F9724D301.st": "Получите свой первый уголь! Стоп, а зачем он нужен?", + "quests.5DB0CA9F9724D301.d1": "Для создания угольной ямы вам понадобится много, много дерева. Для начала выкопайте яму, глубиной в 1 блок (можно и глубже, если позволяет кол-во древесины).", + "quests.5DB0CA9F9724D301.d2": "После, при помощи Shift + ПКМ нажмите в любой блок в яме, у вас появится охапка бревен, ее можно наполнять, нажимая ПКМ с бревном в руке по охапке, либо просто открыть интерфейс и наполнить вручную. От кол-ва дерева в охапке зависит количество получаемого впоследствии угля.", + "quests.5DB0CA9F9724D301.d3": "Далее, накрываете это все не горючим блоком, камнем или землей, оставляете один блок открытым и поджигаете при помощи выброшенного факела или примитивного зажигателя.", + "quests.5DB0CA9F9724D301.d4": "Теперь ваша куча земли начала дымиться, накройте последний блок, который вы поджигали опять же не горючим блоком и ожидайте, как только куча перестанет дымиться, раскапывайте ее и получайте уголь.", + "quests.478D0DF94D7495EF.st": "Это вправду просто, или нет?", + "quests.478D0DF94D7495EF.d1": "Процесс отлития стекла показан в книге-гайде TFC, которую вы можете найти в инвентаре в правой его части, но для блоков стекла, точнее для их отлития используются блоки латуни, в TerraFirmaGreg для этого вы можете использовать блоки латуни из GTCEu или блоки каолинитовой глины, удачи! :)", + "quests.478D0DF94D7495EF.t1": "Отлейте любой блок стекла", + "quests..t": "", + "quests..st": "", + "quests..d1": "", + "quests..t1": "" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 209e4a64d..6b1a559b8 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1,126 +1,97 @@ { + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", "quests.naming-4": "t* - Task, where * task number, for example: t1, t2, t3, t4...", - "quests.76EF4D00586A8B74.t": "&aTerraFirmaGreg Modpack!", "quests.76EF4D00586A8B74.st": "感谢你选择我们的整合包!", "quests.76EF4D00586A8B74.d1": "美好时光由此开始!愿这个世界因你的存在而受到祝福!", - "quests.387DEEADF4922AB3.t": "TFG的矿物生成", "quests.387DEEADF4922AB3.st": "比原(版)更好玩", "quests.387DEEADF4922AB3.d1": "在TerraFirmaGreg中,矿物的生成尤其特别。 \n1. 每种矿石都出现在它自己的岩石中——TFC增加了许多不同种类的岩石,这意味着你在任何地方都找不到原版的石头。因此,矿石只会在特定的岩石中生成,就像在现实生活中一样。 \n2. 矿脉分为几种类型:簇状、球形、管状,还有一些这里我们暂且不讨论的稀有类型。 \n3. 为了方便玩家, 矿物指示物会出现在地表,绝大多数情况下这就是包含该矿物的矿脉所在的位置。 \nTFG有一个小型Wiki,它是一张Excel表。为了获得链接,你需要完成任务,然后领取奖励。之后聊天中会显示一个按钮,点击这个按钮,你将被重定向到一个带有矿石生成信息的Excel表格。", - "quests.63E6C5684E12828C.st": "你得喝水来保持不死,试着找条包含淡水的河流或湖泊!", "quests.63E6C5684E12828C.d1": "使用右键喝水。 \n注意!如果你喝了咸水你的口渴值会上升并且你很有可能会似。", "quests.63E6C5684E12828C.t1": "找淡水(既不咸也不热)", - "quests.6D43C29AC049341D.t": "如何创建队伍?", "quests.6D43C29AC049341D.st": "你居然有朋友和你一起玩这个包,谔谔", "quests.6D43C29AC049341D.d1": "你可以创建一个团队来一起完成任务。为此,打开你的物品栏,然后在左上角选择画有3个彩色人物的按钮,然后会打开一个界面,在这个界面中你可以创建一个团队,使用§a创建团队§r按钮,然后给它起一个名字并设置一些其他参数。成功创建团队后,你可以使用右上角绿色圆圈中的加号按钮邀请其他玩家加入。从此开始你的任务将会同步,任何团队成员都将能够完成它们。祝你好运!", "quests.6D43C29AC049341D.t1": "点这里完成任务", - "quests.0B42D4AE2AC67F93.t": "如何划分领地?", "quests.0B42D4AE2AC67F93.st": "如何在你的领地内加载区块", "quests.0B42D4AE2AC67F93.d1": "如果你在服务器上玩游戏,你可以划分自己的私有区块。怎么做呢?使用按钮打开小地图,然后选择你想要划分的区块,接着通过点击鼠标右键,从列表中选择§a占领领地§r,它应该是从下往上数第三个选项。大功告成!你已经占领了这片领地。注意:你的队友将能够在你的区域内破坏方块,这很合理。", "quests.0B42D4AE2AC67F93.t1": "点这里完成任务", - "quests.2672C65095539E23.t": "没有粉碎机要怎么粉碎矿物?", "quests.2672C65095539E23.st": "其实很简单", "quests.2672C65095539E23.d1": "简单地用锤子(大锤)敲碎一块矿石块,你将立即得到粉碎的矿石,这些粉碎的矿石可以手工粉碎成如石墨或硫磺等粉末。", "quests.2672C65095539E23.t1": "点这里完成任务", - "quests.3D7B0F3134C30364.t": "关于任务的重要信息!", "quests.3D7B0F3134C30364.d1": "任务仍在开发中,将来会添加更多的描述等内容。你可以使用TFC书籍来找到一部分你需要的信息。&c每个分支中的完整任务和翻译将会在1.0.0更新中出现,因为现在开发者们的时间非常有限。", "quests.3D7B0F3134C30364.t1": "点这里完成任务", - "quests.7196BB6BDBAE7B51.st": "食物在这个世界里非常重要!", "quests.7196BB6BDBAE7B51.d1": "试着杀死一些动物并从他们身上获得肉。吃生肉是个坏主意,所以最好试着用火烤熟它们。", "quests.7196BB6BDBAE7B51.t1": "获得任意生肉", - "quests.557D3A67A36DF9D8.st": "烤肉Man!", "quests.557D3A67A36DF9D8.d1": "恭喜,现在肉烤熟了以后你终于可以放心吃了。", "quests.557D3A67A36DF9D8.t1": "获得任意熟肉", - "quests.682B58EC2D39F1A1.st": "这可不是一般的火", "quests.682B58EC2D39F1A1.d1": "在方块上扔下3根木棍和1个原木,然后将鼠标光标悬停在这个方块上并使用一种简易打火器。它可能没法一次成功。成功后,原本扔下的3根木棍和1个原木的位置会出现生出火焰,你需要继续扔原木进去以保持火焰燃烧。为了提高篝火生成的几率,你可以在扔下的物品中添加纸、干草等易燃物品,每增加一个物品,成功率提高10%。", "quests.682B58EC2D39F1A1.t1": "生一堆火", - "quests.6D940527BFF1D4C0.t": "原始照明", "quests.6D940527BFF1D4C0.st": "它们是灭了吗?没错!他们会熄灭, 我也很惊讶!", "quests.6D940527BFF1D4C0.d1": "你可能会感到惊讶,但在TFC中火把不是无限耐久的。它们大约会在燃烧两天后熄灭。不过不用担心,它们不会在你手中或者背包里熄灭,所以你可以随身携带一根火把,当你家里的其他火把熄灭时,只需走过去并右键点击它们。这会点燃火把,然后它们就会再次亮起来。", - "quests.3B3BA51C8CAEFC7F.t": "原始打火机", "quests.3B3BA51C8CAEFC7F.st": "古人就是靠这个点火的,也可能不是,我不到啊", "quests.3B3BA51C8CAEFC7F.d1": "这个东西能让你生火或者点燃任何东西。只需将鼠标光标悬停在任意方块上,然后按住鼠标右键,达到最大力度后释放,你所注视的方块会有50%的机会被点燃。下一个任务将解释如何制作篝火。", - "quests.365F6F48E0BB2EFC.t": "ROCK AND STONE!", "quests.365F6F48E0BB2EFC.st": "收集一些石子和木枝为今后做准备", "quests.365F6F48E0BB2EFC.d1": "进入这个世界后,你发现你所熟知的一切都变了。游戏初期最主要的物品是地上的木枝和石子,它们可以在任意生物群系被找到,并且每个季节都会刷新。使用鼠标右键收集它们并进入下一步。\n\n手持两个或以上的石子后右键可以看到一个菜单,在这个菜单中你可以制作石制工具的主要部分(工具头)。所有的配方都可以在REI中查看,你也可以在工具配方中单击查看石头工具头的制作方法。然后将这个工具头与一根木枝连接起来,你就得到了一个真正的土著人的工具。\n\n***现在,你会成为,我们中的一员***", "quests.365F6F48E0BB2EFC.t1": "收集任意木枝", "quests.365F6F48E0BB2EFC.t2": "收集任意石子", - "quests.508DA76FA2766B7B.st": "这可不是火箭发射器!", "quests.508DA76FA2766B7B.d1": "矛和原版游戏三叉戟的原理差不多,只需长按右键并瞄准,再松开,你的三叉戟(矛)就能指哪打哪。", "quests.508DA76FA2766B7B.t1": "合成任意石矛", - "quests.318BF1F671BC4620.st": "不是钻石锄我谢谢你啊...", "quests.318BF1F671BC4620.d1": "锄头用于挖掘田地和种植植物。有趣的事实:在TFC中,你甚至可以远离水源挖掘田地,重要的是在光标悬停在方块上时查看工具提示(上方的面板),它会显示田地的水分饱和度。接下来,选择适合当前气候条件(包括田地的湿度)作物的种子,种植并等待。", - "quests.36A9E5CD45A79288.st": "现实主义", "quests.36A9E5CD45A79288.d1": "手持锄头右键即可锄地。讲真,超简单,试试看。", "quests.36A9E5CD45A79288.t1": "锄大地", - "quests.5C396041880D32FF.st": "看上去挺靠谱", "quests.5C396041880D32FF.d1": "在探索世界时,你可以发现野生植物,用刀子或空手收集它们,你就可以获得种子和植物本身。", "quests.5C396041880D32FF.t1": "找到任意种子", - "quests.4CF472C9778068D6.t": "年轻人的第一次丰收", "quests.4CF472C9778068D6.st": "这能吃吗?", "quests.4CF472C9778068D6.d1": "我不好说。 \n\n注意!植物的生长周期非常长,它们对生长条件也非常挑剔;在种植之前,一定要检查特定植物的生长条件,否则它将变成一株枯萎的灌木。", "quests.4CF472C9778068D6.t1": "点击这里完成任务", - "quests.2BFC2744E4DE4B5A.st": "错误的,你不能徒手撸树!", "quests.2BFC2744E4DE4B5A.d1": "斧头用于砍木头和破坏一切木质的东西,因为在TFC里你不能空手伐木。", - "quests.716B407EEED8BE95.st": "空泥奇挖", "quests.716B407EEED8BE95.d1": "铲子可以用来制作道路方块,挖土,沙子,以及一些其他东西!", - "quests.06C7B7138EDE4B38.st": "你最好的朋友", "quests.06C7B7138EDE4B38.d1": "刀在TFC中是一个非常重要的工具,它允许你割草并制作干草捆,你还可以用它来制作火坑,烤制金属和烧制陶土模具,但更多内容会在任务指南中说明。", - "quests.45D907EF7902A200.st": "需要建造一个庇护所或烤火坑", "quests.45D907EF7902A200.d1": "前期非常重要的物品,你会用到很多。我的建议是整差不多三组。", - "quests.27DA5AAB102611A2.st": "一顶可爱的帽子,可以保护你免受炎热和烈日的侵扰。", - "quests.30AE1FF285B64716.st": "这是一捆稻草,你可以用它建造一个可爱的房子。", - "quests.0ED8BE436A0ECDDB.st": "这是一捆干草,你可以用它制作漂亮的装饰品。", "quests.0ED8BE436A0ECDDB.d1": "没错,它就是个装饰性方块,别试着拿它喂马。", - "quests.69D20168E26BBF59.st": "太真实了", "quests.69D20168E26BBF59.d1": "首先,在地面或任何其他表面挖一个一格高的洞,然后使用V键把你想要烤的东西放进洞里。如果是模具,那么可以放4个。接下来,手持干草捆,右键点击洞内,干草将开始填充这个洞,你需要使用8个干草捆,然后以相同的方式添加8根原木,然后你可以用原始的打火石或火把点燃这个东西(只需从洞顶扔下一个火把,它就会开始燃烧)。接着你必须等待烧制完成,然后取出你的成品。以同样的方式,金属也会在容器中熔化。也就是说,你把铜片放在一个容器中,再把容器放这个坑里,经过上述过程后你会得到熔化的铜,你可以将其铸造成锭、工具的头等。", "quests.69D20168E26BBF59.t1": "做一个烤火坑", - "quests.373FD04AD6CA9F92.t": "新树,旧树", "quests.373FD04AD6CA9F92.st": "用斧头整点木头,不过我要提醒你的是你没法空手撸树", "quests.373FD04AD6CA9F92.t1": "砍伐任意树木", - "quests.5DB0CA9F9724D301.t": "煤坑", "quests.5DB0CA9F9724D301.st": "获得你第一块煤炭!(等下我为啥要这玩意来着)", "quests.5DB0CA9F9724D301.d1": "你会需要非常非常多的原木来制作煤坑。首先你需要挖一个一格深的洞(如果你有足够多的木头也可以挖得更深)", "quests.5DB0CA9F9724D301.d2": "接着Shift右键坑中任意的方块,你将会得到一捆木头。你可以通过手持木头右键点击这捆木头来填充它,或者直接打开界面手动填充。木头的数量决定了最终获得的煤炭数量。", "quests.5DB0CA9F9724D301.d3": "接下来,用一个不可燃的方块,比如石头或泥土,覆盖所有木头,留下一个方块未盖,并用丢弃的火把或简易打火器将其点燃。", "quests.5DB0CA9F9724D301.d4": "泥土堆开始冒烟后,用一个不可燃的方块再次覆盖你点燃的最后一个方块。等到泥土堆停止冒烟,挖开它,你就能得到煤炭。", - "quests.478D0DF94D7495EF.st": "这真的很简单吗?", "quests.478D0DF94D7495EF.d1": "TFC指南书中展示了玻璃铸造过程,你可以在右侧的库存中找到这本书,但对于玻璃块,或者更确切地说,对于它们的铸造,你会需要黄铜块,在TerraFirmaGreg中,你可以使用GTCEu的黄铜块或高岭粘土块,祝你好运!:)", "quests.478D0DF94D7495EF.t1": "铸造任意玻璃", - "quests..t": "", "quests..st": "", "quests..d1": "", "quests..t1": "" -} +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_block.json b/kubejs/assets/tfg/models/block/ash_pile/ash_block.json new file mode 100644 index 000000000..e19c2e77a --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfc:block/powder/wood_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height10.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height10.json new file mode 100644 index 000000000..9add516e4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height10.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 10, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 6, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 6, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 6, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 6, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height12.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height12.json new file mode 100644 index 000000000..1b26a8032 --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height12.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 12, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 4, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 4, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 4, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 4, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height14.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height14.json new file mode 100644 index 000000000..67cc8a46b --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height14.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 14, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 2, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 2, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 2, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 2, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height2.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height2.json new file mode 100644 index 000000000..095ec57e2 --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height2.json @@ -0,0 +1,44 @@ +{ + "parent": "block/thin_block", + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 14, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 14, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 14, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 14, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height4.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height4.json new file mode 100644 index 000000000..5b83be6bd --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height4.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 4, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 12, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 12, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 12, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 12, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height6.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height6.json new file mode 100644 index 000000000..dea65dc31 --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height6.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 6, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 10, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 10, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 10, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 10, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/ash_pile/ash_height8.json b/kubejs/assets/tfg/models/block/ash_pile/ash_height8.json new file mode 100644 index 000000000..51a69e523 --- /dev/null +++ b/kubejs/assets/tfg/models/block/ash_pile/ash_height8.json @@ -0,0 +1,43 @@ +{ + "textures": { + "particle": "tfc:block/powder/wood_ash", + "texture": "tfc:block/powder/wood_ash" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 8, 16 ], + "faces": { + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#texture" + }, + "north": { + "uv": [ 0, 8, 16, 16 ], + "texture": "#texture", + "cullface": "north" + }, + "south": { + "uv": [ 0, 8, 16, 16 ], + "texture": "#texture", + "cullface": "south" + }, + "west": { + "uv": [ 0, 8, 16, 16 ], + "texture": "#texture", + "cullface": "west" + }, + "east": { + "uv": [ 0, 8, 16, 16 ], + "texture": "#texture", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/bud_indicator.json b/kubejs/assets/tfg/models/block/bud_indicator.json new file mode 100644 index 000000000..17bb265ed --- /dev/null +++ b/kubejs/assets/tfg/models/block/bud_indicator.json @@ -0,0 +1,159 @@ +{ + "credit": "Made by Redeix", + "textures": { + "0": "tfg:block/bud_indicator_layer_0", + "1": "tfg:block/bud_indicator_layer_1", + "particle": "tfg:block/bud_indicator_layer_0" + }, + "elements": [ + { + "from": [7, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [13, 5, 16, 6], "texture": "#0", "tintindex": 1}, + "east": {"uv": [10, 11, 14, 12], "texture": "#0", "tintindex": 1}, + "south": {"uv": [13, 7, 16, 8], "texture": "#0", "tintindex": 1}, + "west": {"uv": [13, 6, 16, 7], "texture": "#0", "tintindex": 1}, + "up": {"uv": [13, 9, 10, 5], "texture": "#0", "tintindex": 1}, + "down": {"uv": [13, 8, 10, 12], "texture": "#0", "tintindex": 1} + } + }, + { + "from": [5, 0, 5], + "to": [8, 2, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, + "faces": { + "north": {"uv": [10, 8, 13, 10], "texture": "#0", "tintindex": 1}, + "east": {"uv": [6.5, 2.5, 8, 3.5], "texture": "#0", "tintindex": 1}, + "south": {"uv": [10, 10, 13, 12], "texture": "#0", "tintindex": 1}, + "west": {"uv": [13, 5, 16, 7], "texture": "#0", "tintindex": 1}, + "up": {"uv": [13, 9, 10, 6], "texture": "#0", "tintindex": 1}, + "down": {"uv": [16, 5, 13, 8], "texture": "#0", "tintindex": 1} + } + }, + { + "from": [6, -1, 7], + "to": [8, 4, 9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [6, 0, 7]}, + "shade": false, + "faces": { + "north": {"uv": [10, 0, 12, 5], "texture": "#1", "tintindex": 0}, + "east": {"uv": [12, 0, 10, 5], "texture": "#1", "tintindex": 0}, + "south": {"uv": [12, 0, 14, 5], "texture": "#1", "tintindex": 0}, + "west": {"uv": [14, 0, 12, 5], "texture": "#1", "tintindex": 0}, + "up": {"uv": [12, 0, 10, 2], "texture": "#1", "tintindex": 0}, + "down": {"uv": [14, 3, 12, 5], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [7.5, 0, 5], + "to": [9.5, 5, 7], + "rotation": {"angle": -22.5, "axis": "y", "origin": [7.5, 0, 5]}, + "shade": false, + "faces": { + "north": {"uv": [10, 0, 12, 5], "texture": "#1", "tintindex": 0}, + "east": {"uv": [12, 0, 10, 5], "texture": "#1", "tintindex": 0}, + "south": {"uv": [12, 0, 14, 5], "texture": "#1", "tintindex": 0}, + "west": {"uv": [14, 0, 12, 5], "texture": "#1", "tintindex": 0}, + "up": {"uv": [12, 0, 10, 2], "texture": "#1", "tintindex": 0}, + "down": {"uv": [14, 3.5, 12, 5.5], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [7, 0, 6], + "to": [9, 4, 8], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7, 0, 6]}, + "shade": false, + "faces": { + "north": {"uv": [10, 0, 12, 4], "texture": "#1", "tintindex": 0}, + "east": {"uv": [12, 0, 10, 4], "texture": "#1", "tintindex": 0}, + "south": {"uv": [12, 0, 14, 4], "texture": "#1", "tintindex": 0}, + "west": {"uv": [12, 0, 14, 4], "texture": "#1", "tintindex": 0}, + "up": {"uv": [12, 0, 10, 2], "texture": "#1", "tintindex": 0}, + "down": {"uv": [14, 3, 12, 5], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [7, 1, 7], + "to": [8, 4, 8], + "rotation": {"angle": 45, "axis": "x", "origin": [6, 1, 6]}, + "shade": false, + "faces": { + "north": {"uv": [11, 0, 12, 3], "texture": "#1", "tintindex": 0}, + "east": {"uv": [11, 0, 12, 3], "texture": "#1", "tintindex": 0}, + "south": {"uv": [11, 1, 12, 4], "texture": "#1", "tintindex": 0}, + "west": {"uv": [11, 1, 12, 4], "texture": "#1", "tintindex": 0}, + "up": {"uv": [12, 1, 11, 0], "texture": "#1", "tintindex": 0}, + "down": {"uv": [1.5, 10, 1, 10.5], "texture": "#1", "tintindex": 0} + } + }, + { + "from": [7, 0, 4], + "to": [8, 1, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 3]}, + "shade": false, + "faces": { + "north": {"uv": [10, 1, 11, 2], "texture": "#1", "tintindex": 1}, + "east": {"uv": [10, 1, 11, 2], "texture": "#1", "tintindex": 1}, + "south": {"uv": [11, 3, 12, 4], "texture": "#1", "tintindex": 1}, + "west": {"uv": [11, 3, 12, 4], "texture": "#1", "tintindex": 1}, + "up": {"uv": [12, 2, 11, 1], "texture": "#1", "tintindex": 1}, + "down": {"uv": [13, 4, 12, 5], "texture": "#1", "tintindex": 1} + } + }, + { + "name": "plane", + "from": [3, 0.1, 3], + "to": [13, 0.1, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -1.9, 7]}, + "shade": false, + "faces": { + "north": {"uv": [0, 0, 5, 0], "texture": "#1", "tintindex": 0}, + "east": {"uv": [0, 0, 5, 0], "texture": "#1", "tintindex": 0}, + "south": {"uv": [0, 0, 5, 0], "texture": "#1", "tintindex": 0}, + "west": {"uv": [0, 0, 5, 0], "texture": "#1", "tintindex": 0}, + "up": {"uv": [10, 10, 0, 0], "texture": "#1", "tintindex": 0}, + "down": {"uv": [10, 3, 0, 13], "texture": "#1", "tintindex": 0} + } + } + ], + "groups": [ + { + "name": "indicator", + "origin": [7, -1.9, 7], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + } + ], + "display": { + "thirdperson_righthand": { + "translation": [ 0, 2.25, 8 ] + }, + "thirdperson_lefthand": { + "translation": [ 0, 2.25, 8 ] + }, + "firstperson_righthand": { + "rotation": [ 35, 0, 35 ], + "translation": [ -5.25, 6.75, 6.5 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "firstperson_lefthand": { + "rotation": [ 35, 0, 35 ], + "translation": [ -5.25, 6.75, 6.5 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "ground": { + "translation": [ 0, 5, 0 ] + }, + "gui": { + "rotation": [ 22.5, -30, 0 ], + "translation": [ 0, 8, 0 ], + "scale": [ 1.6, 1.6, 1.6 ] + }, + "fixed": { + "rotation": [ -90, 0, 0 ], + "translation": [ -0.25, 1, -7.5 ] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_almandine_bud.json b/kubejs/assets/tfg/models/block/buds/large_almandine_bud.json deleted file mode 100644 index 84342ea10..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_almandine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_almandine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_andradite_bud.json b/kubejs/assets/tfg/models/block/buds/large_andradite_bud.json deleted file mode 100644 index 99217f226..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_andradite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_andradite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_apatite_bud.json b/kubejs/assets/tfg/models/block/buds/large_apatite_bud.json deleted file mode 100644 index 34086b5eb..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_apatite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_apatite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_blue_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/large_blue_topaz_bud.json deleted file mode 100644 index 09a639425..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_blue_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_blue_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_cinnabar_bud.json b/kubejs/assets/tfg/models/block/buds/large_cinnabar_bud.json deleted file mode 100644 index f6a27a0b9..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_cinnabar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_cinnabar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_diamond_bud.json b/kubejs/assets/tfg/models/block/buds/large_diamond_bud.json deleted file mode 100644 index 457d50ba0..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_diamond_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_diamond_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_emerald_bud.json b/kubejs/assets/tfg/models/block/buds/large_emerald_bud.json deleted file mode 100644 index 6c4800532..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_emerald_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_emerald_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_green_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/large_green_sapphire_bud.json deleted file mode 100644 index 1358d6119..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_green_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_green_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_grossular_bud.json b/kubejs/assets/tfg/models/block/buds/large_grossular_bud.json deleted file mode 100644 index f7676e8a6..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_grossular_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_grossular_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_lapis_bud.json b/kubejs/assets/tfg/models/block/buds/large_lapis_bud.json deleted file mode 100644 index 22d9153ea..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_lapis_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_lapis_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_lazurite_bud.json b/kubejs/assets/tfg/models/block/buds/large_lazurite_bud.json deleted file mode 100644 index 847d3eef4..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_lazurite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_lazurite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_monazite_bud.json b/kubejs/assets/tfg/models/block/buds/large_monazite_bud.json deleted file mode 100644 index 916562eff..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_monazite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_monazite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_nether_quartz_bud.json b/kubejs/assets/tfg/models/block/buds/large_nether_quartz_bud.json deleted file mode 100644 index fda682e8d..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_nether_quartz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_nether_quartz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_olivine_bud.json b/kubejs/assets/tfg/models/block/buds/large_olivine_bud.json deleted file mode 100644 index 3aff34c0b..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_olivine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_olivine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_opal_bud.json b/kubejs/assets/tfg/models/block/buds/large_opal_bud.json deleted file mode 100644 index eb5f70351..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_opal_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_opal_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_pyrope_bud.json b/kubejs/assets/tfg/models/block/buds/large_pyrope_bud.json deleted file mode 100644 index d0950e3bc..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_pyrope_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_pyrope_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_quartzite_bud.json b/kubejs/assets/tfg/models/block/buds/large_quartzite_bud.json deleted file mode 100644 index ad36e4f2a..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_quartzite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_quartzite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_realgar_bud.json b/kubejs/assets/tfg/models/block/buds/large_realgar_bud.json deleted file mode 100644 index 233fe6994..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_realgar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_realgar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_red_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/large_red_garnet_bud.json deleted file mode 100644 index 44caf43c2..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_red_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_red_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_ruby_bud.json b/kubejs/assets/tfg/models/block/buds/large_ruby_bud.json deleted file mode 100644 index 3420a3868..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_ruby_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_ruby_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_rutile_bud.json b/kubejs/assets/tfg/models/block/buds/large_rutile_bud.json deleted file mode 100644 index e8d9b4fc2..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_rutile_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_rutile_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/large_sapphire_bud.json deleted file mode 100644 index bdc692e97..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_sodalite_bud.json b/kubejs/assets/tfg/models/block/buds/large_sodalite_bud.json deleted file mode 100644 index 5d6ecf301..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_sodalite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_sodalite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_spessartine_bud.json b/kubejs/assets/tfg/models/block/buds/large_spessartine_bud.json deleted file mode 100644 index a778ab81f..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_spessartine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_spessartine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/large_topaz_bud.json deleted file mode 100644 index 0c65c6e7c..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_uvarovite_bud.json b/kubejs/assets/tfg/models/block/buds/large_uvarovite_bud.json deleted file mode 100644 index 13a17858e..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_uvarovite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_uvarovite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/large_yellow_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/large_yellow_garnet_bud.json deleted file mode 100644 index 4c593288b..000000000 --- a/kubejs/assets/tfg/models/block/buds/large_yellow_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/large_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/large_yellow_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_almandine_bud.json b/kubejs/assets/tfg/models/block/buds/medium_almandine_bud.json deleted file mode 100644 index e28a346e1..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_almandine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_almandine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_andradite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_andradite_bud.json deleted file mode 100644 index 007c4de0f..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_andradite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_andradite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_apatite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_apatite_bud.json deleted file mode 100644 index 8cbb79722..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_apatite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_apatite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_blue_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/medium_blue_topaz_bud.json deleted file mode 100644 index 506d21f0d..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_blue_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_blue_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_cinnabar_bud.json b/kubejs/assets/tfg/models/block/buds/medium_cinnabar_bud.json deleted file mode 100644 index f8dfe89b2..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_cinnabar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_cinnabar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_diamond_bud.json b/kubejs/assets/tfg/models/block/buds/medium_diamond_bud.json deleted file mode 100644 index e660d76cd..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_diamond_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_diamond_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_emerald_bud.json b/kubejs/assets/tfg/models/block/buds/medium_emerald_bud.json deleted file mode 100644 index ce1e07dd1..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_emerald_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_emerald_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_green_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/medium_green_sapphire_bud.json deleted file mode 100644 index 6c9afbf58..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_green_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_green_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_grossular_bud.json b/kubejs/assets/tfg/models/block/buds/medium_grossular_bud.json deleted file mode 100644 index dbbf1e171..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_grossular_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_grossular_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_lapis_bud.json b/kubejs/assets/tfg/models/block/buds/medium_lapis_bud.json deleted file mode 100644 index 4ff651189..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_lapis_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_lapis_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_lazurite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_lazurite_bud.json deleted file mode 100644 index b0889f9e0..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_lazurite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_lazurite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_monazite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_monazite_bud.json deleted file mode 100644 index 35f8d3442..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_monazite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_monazite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_nether_quartz_bud.json b/kubejs/assets/tfg/models/block/buds/medium_nether_quartz_bud.json deleted file mode 100644 index 127452b98..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_nether_quartz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_nether_quartz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_olivine_bud.json b/kubejs/assets/tfg/models/block/buds/medium_olivine_bud.json deleted file mode 100644 index 472881b3e..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_olivine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_olivine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_opal_bud.json b/kubejs/assets/tfg/models/block/buds/medium_opal_bud.json deleted file mode 100644 index c2c3e6315..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_opal_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_opal_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_pyrope_bud.json b/kubejs/assets/tfg/models/block/buds/medium_pyrope_bud.json deleted file mode 100644 index 72cc382b5..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_pyrope_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_pyrope_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_quartzite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_quartzite_bud.json deleted file mode 100644 index 49a4f7e5d..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_quartzite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_quartzite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_realgar_bud.json b/kubejs/assets/tfg/models/block/buds/medium_realgar_bud.json deleted file mode 100644 index 51cd79096..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_realgar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_realgar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_red_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/medium_red_garnet_bud.json deleted file mode 100644 index 2368f8d9b..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_red_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_red_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_ruby_bud.json b/kubejs/assets/tfg/models/block/buds/medium_ruby_bud.json deleted file mode 100644 index 4f8aac203..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_ruby_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_ruby_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_rutile_bud.json b/kubejs/assets/tfg/models/block/buds/medium_rutile_bud.json deleted file mode 100644 index 3f497fcbe..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_rutile_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_rutile_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/medium_sapphire_bud.json deleted file mode 100644 index 3ee620294..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_sodalite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_sodalite_bud.json deleted file mode 100644 index eccb5ce0d..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_sodalite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_sodalite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_spessartine_bud.json b/kubejs/assets/tfg/models/block/buds/medium_spessartine_bud.json deleted file mode 100644 index 7094fc0e0..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_spessartine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_spessartine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/medium_topaz_bud.json deleted file mode 100644 index 878822cf9..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_uvarovite_bud.json b/kubejs/assets/tfg/models/block/buds/medium_uvarovite_bud.json deleted file mode 100644 index 6c8fe7ae9..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_uvarovite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_uvarovite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/medium_yellow_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/medium_yellow_garnet_bud.json deleted file mode 100644 index c5ed5486a..000000000 --- a/kubejs/assets/tfg/models/block/buds/medium_yellow_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/medium_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/medium_yellow_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_almandine_bud.json b/kubejs/assets/tfg/models/block/buds/small_almandine_bud.json deleted file mode 100644 index aab0d0eae..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_almandine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_almandine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_andradite_bud.json b/kubejs/assets/tfg/models/block/buds/small_andradite_bud.json deleted file mode 100644 index 39bdc1648..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_andradite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_andradite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_apatite_bud.json b/kubejs/assets/tfg/models/block/buds/small_apatite_bud.json deleted file mode 100644 index fe4091036..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_apatite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_apatite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_blue_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/small_blue_topaz_bud.json deleted file mode 100644 index b253d6e37..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_blue_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_blue_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_cinnabar_bud.json b/kubejs/assets/tfg/models/block/buds/small_cinnabar_bud.json deleted file mode 100644 index dbf7f9250..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_cinnabar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_cinnabar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_diamond_bud.json b/kubejs/assets/tfg/models/block/buds/small_diamond_bud.json deleted file mode 100644 index b91b39d1d..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_diamond_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_diamond_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_emerald_bud.json b/kubejs/assets/tfg/models/block/buds/small_emerald_bud.json deleted file mode 100644 index 2db82be78..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_emerald_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_emerald_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_green_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/small_green_sapphire_bud.json deleted file mode 100644 index 9aa85ba04..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_green_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_green_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_grossular_bud.json b/kubejs/assets/tfg/models/block/buds/small_grossular_bud.json deleted file mode 100644 index 37f795b70..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_grossular_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_grossular_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_lapis_bud.json b/kubejs/assets/tfg/models/block/buds/small_lapis_bud.json deleted file mode 100644 index 436abe282..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_lapis_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_lapis_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_lazurite_bud.json b/kubejs/assets/tfg/models/block/buds/small_lazurite_bud.json deleted file mode 100644 index 58c3e659b..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_lazurite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_lazurite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_monazite_bud.json b/kubejs/assets/tfg/models/block/buds/small_monazite_bud.json deleted file mode 100644 index ceee7a6bb..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_monazite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_monazite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_nether_quartz_bud.json b/kubejs/assets/tfg/models/block/buds/small_nether_quartz_bud.json deleted file mode 100644 index ddc6840b1..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_nether_quartz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_nether_quartz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_olivine_bud.json b/kubejs/assets/tfg/models/block/buds/small_olivine_bud.json deleted file mode 100644 index 238b0ad5e..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_olivine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_olivine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_opal_bud.json b/kubejs/assets/tfg/models/block/buds/small_opal_bud.json deleted file mode 100644 index 4b72f9d56..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_opal_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_opal_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_pyrope_bud.json b/kubejs/assets/tfg/models/block/buds/small_pyrope_bud.json deleted file mode 100644 index 2f7f03a23..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_pyrope_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_pyrope_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_quartzite_bud.json b/kubejs/assets/tfg/models/block/buds/small_quartzite_bud.json deleted file mode 100644 index 8cfa238c9..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_quartzite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_quartzite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_realgar_bud.json b/kubejs/assets/tfg/models/block/buds/small_realgar_bud.json deleted file mode 100644 index 095b3a2de..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_realgar_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_realgar_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_red_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/small_red_garnet_bud.json deleted file mode 100644 index 254013b05..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_red_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_red_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_ruby_bud.json b/kubejs/assets/tfg/models/block/buds/small_ruby_bud.json deleted file mode 100644 index ed81ddda8..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_ruby_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_ruby_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_rutile_bud.json b/kubejs/assets/tfg/models/block/buds/small_rutile_bud.json deleted file mode 100644 index 81bcb84ac..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_rutile_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_rutile_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_sapphire_bud.json b/kubejs/assets/tfg/models/block/buds/small_sapphire_bud.json deleted file mode 100644 index f52276aeb..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_sapphire_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_sapphire_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_sodalite_bud.json b/kubejs/assets/tfg/models/block/buds/small_sodalite_bud.json deleted file mode 100644 index 9628fd04d..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_sodalite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_sodalite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_spessartine_bud.json b/kubejs/assets/tfg/models/block/buds/small_spessartine_bud.json deleted file mode 100644 index c546b3824..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_spessartine_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_spessartine_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_topaz_bud.json b/kubejs/assets/tfg/models/block/buds/small_topaz_bud.json deleted file mode 100644 index 044f6342b..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_topaz_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_topaz_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_uvarovite_bud.json b/kubejs/assets/tfg/models/block/buds/small_uvarovite_bud.json deleted file mode 100644 index cb36845b7..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_uvarovite_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_uvarovite_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/buds/small_yellow_garnet_bud.json b/kubejs/assets/tfg/models/block/buds/small_yellow_garnet_bud.json deleted file mode 100644 index 60bb0188b..000000000 --- a/kubejs/assets/tfg/models/block/buds/small_yellow_garnet_bud.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/small_amethyst_bud", - "render_type": "cutout_mipped", - "textures": { - "cross": "tfg:block/buds/small_yellow_garnet_bud" - } -} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/charred_log.json b/kubejs/assets/tfg/models/block/charred_log.json new file mode 100644 index 000000000..069be26c3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/charred_log.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "tfc:block/wood/stripped_log_top/blackwood", + "side": "tfc:block/charcoal_pile" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_black.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_black.json new file mode 100644 index 000000000..18756b045 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_black.json @@ -0,0 +1,502 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_black", + "particle": "tfg:block/decorative_vase/loot_vase_black" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_blue.json new file mode 100644 index 000000000..509712b67 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_blue.json @@ -0,0 +1,503 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_blue", + "particle": "tfg:block/decorative_vase/loot_vase_blue" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_brown.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_brown.json new file mode 100644 index 000000000..39b9eb58d --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_brown.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_brown", + "particle": "tfg:block/decorative_vase/loot_vase_brown" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_cyan.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_cyan.json new file mode 100644 index 000000000..46c2e2052 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_cyan.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_cyan", + "particle": "tfg:block/decorative_vase/loot_vase_cyan" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_gray.json new file mode 100644 index 000000000..7573ba849 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_gray.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_gray", + "particle": "tfg:block/decorative_vase/loot_vase_gray" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_green.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_green.json new file mode 100644 index 000000000..5acb4471f --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_green.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_green", + "particle": "tfg:block/decorative_vase/loot_vase_green" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_blue.json new file mode 100644 index 000000000..a1787cc8d --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_blue.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_light_blue", + "particle": "tfg:block/decorative_vase/loot_vase_light_blue" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_gray.json new file mode 100644 index 000000000..6151d41ff --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_light_gray.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_light_gray", + "particle": "tfg:block/decorative_vase/loot_vase_light_gray" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_lime.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_lime.json new file mode 100644 index 000000000..4d47a7667 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_lime.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_lime", + "particle": "tfg:block/decorative_vase/loot_vase_lime" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_magenta.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_magenta.json new file mode 100644 index 000000000..216a79002 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_magenta.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_magenta", + "particle": "tfg:block/decorative_vase/loot_vase_magenta" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_orange.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_orange.json new file mode 100644 index 000000000..11b424f58 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_orange.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_orange", + "particle": "tfg:block/decorative_vase/loot_vase_orange" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_pink.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_pink.json new file mode 100644 index 000000000..d132e2eca --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_pink.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_pink", + "particle": "tfg:block/decorative_vase/loot_vase_pink" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_purple.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_purple.json new file mode 100644 index 000000000..a86f460a5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_purple.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_purple", + "particle": "tfg:block/decorative_vase/loot_vase_purple" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_red.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_red.json new file mode 100644 index 000000000..c1e2ce4ba --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_red.json @@ -0,0 +1,502 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_red", + "particle": "tfg:block/decorative_vase/loot_vase_red" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_white.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_white.json new file mode 100644 index 000000000..f1fa9c6c0 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_white.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_white", + "particle": "tfg:block/decorative_vase/loot_vase_white" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_yellow.json b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_yellow.json new file mode 100644 index 000000000..755bc61eb --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/loot_vase_yellow.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/loot_vase_yellow", + "particle": "tfg:block/decorative_vase/loot_vase_yellow" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase.json b/kubejs/assets/tfg/models/block/decorative_vase/vase.json new file mode 100644 index 000000000..0ab3ed446 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase", + "particle": "tfg:block/decorative_vase/vase" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_black.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_black.json new file mode 100644 index 000000000..a7075be0e --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_black.json @@ -0,0 +1,502 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_black", + "particle": "tfg:block/decorative_vase/vase_black" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_blue.json new file mode 100644 index 000000000..802a1e19c --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_blue.json @@ -0,0 +1,503 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_blue", + "particle": "tfg:block/decorative_vase/vase_blue" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_brown.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_brown.json new file mode 100644 index 000000000..efb437412 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_brown.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_brown", + "particle": "tfg:block/decorative_vase/vase_brown" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_cyan.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_cyan.json new file mode 100644 index 000000000..8d42b7ae9 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_cyan.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_cyan", + "particle": "tfg:block/decorative_vase/vase_cyan" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_gray.json new file mode 100644 index 000000000..e14eeeeba --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_gray.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_gray", + "particle": "tfg:block/decorative_vase/vase_gray" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_green.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_green.json new file mode 100644 index 000000000..1c59ada5a --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_green.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_green", + "particle": "tfg:block/decorative_vase/vase_green" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_light_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_light_blue.json new file mode 100644 index 000000000..3d6a3ab86 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_light_blue.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_light_blue", + "particle": "tfg:block/decorative_vase/vase_light_blue" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_light_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_light_gray.json new file mode 100644 index 000000000..47274b273 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_light_gray.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_light_gray", + "particle": "tfg:block/decorative_vase/vase_light_gray" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_lime.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_lime.json new file mode 100644 index 000000000..5b7244879 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_lime.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_lime", + "particle": "tfg:block/decorative_vase/vase_lime" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_magenta.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_magenta.json new file mode 100644 index 000000000..e36f6eec5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_magenta.json @@ -0,0 +1,352 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_magenta", + "particle": "tfg:block/decorative_vase/vase_magenta" + }, + "elements": [ + { + "name": "base1", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "south": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 10.5], "texture": "#0"}, + "up": {"uv": [5, 5, 1, 1], "texture": "#0"}, + "down": {"uv": [5, 1, 1, 5], "texture": "#0"} + } + }, + { + "name": "base2", + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "east": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 11, 2], "texture": "#0"}, + "up": {"uv": [5.5, 5.5, 0.5, 0.5], "texture": "#0"}, + "down": {"uv": [5.5, 0.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "base3", + "from": [2, 6, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 9.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [4, 14, 4], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [10, 17, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "texture": "#0"} + } + }, + { + "from": [3, 13, 3], + "to": [12, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 7]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [9, 27, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 4], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 7]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 15, 5], + "to": [11, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 13, 3], + "to": [13, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 7]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 17, 6], + "to": [10, 27, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 7]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 9]}, + "faces": { + "north": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "east": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "west": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 15, 10], + "to": [11, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "east": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "south": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "west": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 13, 12], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 9]}, + "faces": { + "north": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "east": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "west": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 17, 9], + "to": [10, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 9]}, + "faces": { + "north": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "south": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [5, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 9]}, + "faces": { + "north": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "south": {"uv": [8, 5.5, 8.5, 6], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11.5, 3], "texture": "#0"}, + "up": {"uv": [11.5, 3, 8, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 15, 6], + "to": [6, 17, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "east": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "south": {"uv": [8, 4.5, 8.5, 5.5], "texture": "#0"}, + "west": {"uv": [8, 3, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 4, 8, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 13, 4], + "to": [4, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 9]}, + "faces": { + "north": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "south": {"uv": [8, 6, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 2, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [12.5, 2.5, 8, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12.5, 2, 8, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 17, 7], + "to": [7, 27, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 9]}, + "faces": { + "north": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "east": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "south": {"uv": [7.5, 2, 8, 7], "texture": "#0"}, + "west": {"uv": [6, 2, 7.5, 7], "texture": "#0"}, + "up": {"uv": [7.5, 7.5, 6, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.5, 7, 6, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [7, 26, 7], + "to": [9, 28, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 26, 7]}, + "faces": { + "north": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"}, + "down": {"uv": [4, 9.5, 5, 10.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [10, 13, 8], + "to": [14, 25, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 13, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 12.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [12.5, 3.5, 10.5, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "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, 107, 0], + "translation": [-8.25, -10, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -10, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + { + "name": "side1", + "origin": [7, 17, 7], + "color": 0, + "children": [3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [7, 8, 9, 10] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [11, 12, 13, 14] + }, + { + "name": "side2", + "origin": [7, 17, 7], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19, + 20 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_orange.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_orange.json new file mode 100644 index 000000000..08e737295 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_orange.json @@ -0,0 +1,403 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_orange", + "particle": "tfg:block/decorative_vase/vase_orange" + }, + "elements": [ + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "east": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "south": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "west": {"uv": [6, 2.5, 8, 3], "texture": "#0"}, + "up": {"uv": [6, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [11, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 4], + "to": [12, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 17, 4], + "to": [12, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 18, 5], + "to": [11, 19, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10, 1, 6], + "to": [11, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [12, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 7, 4], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 17, 5], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [10, 18, 6], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 10], + "to": [10, 3, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "south": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 3, 11], + "to": [11, 7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "east": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "south": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 12], + "to": [12, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "west": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 17, 11], + "to": [11, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "west": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 10], + "to": [10, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "east": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "south": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "west": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [6, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "east": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [5.5, 6.5, 6, 7.5], "texture": "#0"}, + "west": {"uv": [4, 7.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 5, 5], "texture": "#0"}, + "down": {"uv": [5.5, 5, 5, 7.5], "texture": "#0"} + } + }, + { + "from": [4, 3, 4], + "to": [5, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "east": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "south": {"uv": [5, 2.5, 5.5, 4.5], "texture": "#0"}, + "west": {"uv": [6, 0, 9.5, 2], "texture": "#0"}, + "up": {"uv": [6, 6, 5.5, 2.5], "texture": "#0"}, + "down": {"uv": [6, 2.5, 5.5, 6], "texture": "#0"} + } + }, + { + "from": [3, 7, 4], + "to": [4, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 4.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "up": {"uv": [5, 6.5, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [5, 2.5, 4.5, 6.5], "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [5, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "east": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [6, 7, 6.5, 7.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 7.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 6.5, 6, 3], "texture": "#0"}, + "down": {"uv": [6.5, 3, 6, 6.5], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [6, 19, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "east": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "south": {"uv": [6.5, 7.5, 7, 8], "texture": "#0"}, + "west": {"uv": [6.5, 8, 9, 8.5], "texture": "#0"}, + "up": {"uv": [7, 5.5, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7, 3, 6.5, 5.5], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 19, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "east": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "south": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "west": {"uv": [4.016, 2.016, 7.984, 2.484], "texture": "#0"}, + "up": {"uv": [3.984, 8.984, 0.016, 5.016], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.984, 5.016, 0.016, 8.984], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [4, 16, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 16, 8], + "to": [14, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [2, 16, 8], + "to": [5, 19, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [7, 5, 8.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "face1", + "origin": [11, 18, 10], + "color": 0, + "children": [1, 2, 3, 4, 5] + }, + { + "name": "face2", + "origin": [11, 18, 10], + "color": 0, + "children": [6, 7, 8, 9, 10] + }, + { + "name": "face3", + "origin": [11, 18, 10], + "color": 0, + "children": [11, 12, 13, 14, 15] + }, + { + "name": "face4", + "origin": [11, 18, 10], + "color": 0, + "children": [16, 17, 18, 19, 20] + }, + 21, + 22, + 23, + 24 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_pink.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_pink.json new file mode 100644 index 000000000..7ef9b7815 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_pink.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_pink", + "particle": "tfg:block/decorative_vase/vase_pink" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_purple.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_purple.json new file mode 100644 index 000000000..4bac7aacf --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_purple.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_purple", + "particle": "tfg:block/decorative_vase/vase_purple" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_red.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_red.json new file mode 100644 index 000000000..751e586eb --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_red.json @@ -0,0 +1,502 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_red", + "particle": "tfg:block/decorative_vase/vase_red" + }, + "elements": [ + { + "name": "bottom", + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [10.5, 8, 6.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 4, 6.5, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 4], + "to": [4, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 17, 5], + "to": [5, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 16, 3], + "to": [3, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 11, 2], + "to": [2, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 6, 3], + "to": [3, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [12, 6, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 17, 4], + "to": [11, 18, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [13, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [13, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 6, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "south": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 17, 4], + "to": [12, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "south": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 16, 2], + "to": [14, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "east": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "south": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "west": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "south": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 11, 1], + "to": [15, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "south": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 6, 2], + "to": [14, 11, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "east": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 12], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "south": {"uv": [0, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [4.5, 5, 5, 7], "texture": "#0"}, + "up": {"uv": [15, 2, 10.5, 1.5], "texture": "#0"}, + "down": {"uv": [15, 1.5, 10.5, 2], "texture": "#0"} + } + }, + { + "from": [5, 17, 11], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "east": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.5, 14, 5], "texture": "#0"}, + "west": {"uv": [5, 5, 5.5, 5.5], "texture": "#0"}, + "up": {"uv": [14, 5.5, 10.5, 5], "texture": "#0"}, + "down": {"uv": [14, 5, 10.5, 5.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 13], + "to": [14, 17, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "east": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "south": {"uv": [10.5, 2, 16, 2.5], "texture": "#0"}, + "west": {"uv": [5, 5.5, 5.5, 6], "texture": "#0"}, + "up": {"uv": [16, 1.5, 10.5, 1], "texture": "#0"}, + "down": {"uv": [16, 1, 10.5, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "east": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 3.5, 15, 4], "texture": "#0"}, + "west": {"uv": [6, 5, 6.5, 5.5], "texture": "#0"}, + "up": {"uv": [15, 4.5, 10.5, 4], "texture": "#0"}, + "down": {"uv": [15, 4, 10.5, 4.5], "texture": "#0"} + } + }, + { + "from": [2, 11, 14], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "east": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 2.5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 6, 5], "texture": "#0"}, + "up": {"uv": [6.5, 9.5, 0, 9], "texture": "#0"}, + "down": {"uv": [6.5, 9, 0, 9.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 13], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "east": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5.5, 5], "texture": "#0"}, + "west": {"uv": [6, 2.5, 6.5, 5], "texture": "#0"}, + "up": {"uv": [16, 1, 10.5, 0.5], "texture": "#0"}, + "down": {"uv": [16, 0.5, 10.5, 1], "texture": "#0"} + } + }, + { + "name": "rope4", + "from": [4, 17, 12], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "texture": "#0"} + } + }, + { + "name": "rope1", + "from": [3, 17, 4], + "to": [4, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "rope2", + "from": [3, 17, 3], + "to": [12, 18, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "east": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "rope3", + "from": [12, 17, 3], + "to": [13, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "east": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "south": {"uv": [5.5, 5, 6, 5.5], "texture": "#0"}, + "west": {"uv": [10.5, 2.5, 15, 3], "texture": "#0"}, + "up": {"uv": [15, 3.5, 10.5, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 3, 10.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "up": {"uv": [10.5, 4, 6.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 0, 6.5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8.96234, 18.00205, 6], + "to": [8.96234, 20.00205, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [4, 7, 6, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [7.03766, 18.00205, 6], + "to": [7.03766, 20.00205, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [6, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 0, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, -6, 7], + "color": 0, + "children": [1, 2, 3, 4, 5, 6] + }, + { + "name": "side2", + "origin": [7, -6, 7], + "color": 0, + "children": [7, 8, 9, 10, 11, 12] + }, + { + "name": "side3", + "origin": [7, -6, 7], + "color": 0, + "children": [13, 14, 15, 16, 17, 18] + }, + { + "name": "side4", + "origin": [7, -6, 7], + "color": 0, + "children": [19, 20, 21, 22, 23, 24] + }, + { + "name": "rope", + "origin": [9, 18, 9], + "color": 0, + "children": [25, 26, 27, 28] + }, + 29, + 30, + 31 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired.json new file mode 100644 index 000000000..52309ad91 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired", + "particle": "tfg:block/decorative_vase/vase_unfired" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_black.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_black.json new file mode 100644 index 000000000..a1f7c7e40 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_black.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_black", + "particle": "tfg:block/decorative_vase/vase_unfired_black" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_blue.json new file mode 100644 index 000000000..febe72e6d --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_blue.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_blue", + "particle": "tfg:block/decorative_vase/vase_unfired_blue" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_brown.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_brown.json new file mode 100644 index 000000000..25b8ce9a4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_brown.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_brown", + "particle": "tfg:block/decorative_vase/vase_unfired_brown" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_cyan.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_cyan.json new file mode 100644 index 000000000..68ec4c0c1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_cyan.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_cyan", + "particle": "tfg:block/decorative_vase/vase_unfired_cyan" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_gray.json new file mode 100644 index 000000000..df5a57233 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_gray.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_gray", + "particle": "tfg:block/decorative_vase/vase_unfired_gray" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_green.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_green.json new file mode 100644 index 000000000..1b3b9a891 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_green.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_green", + "particle": "tfg:block/decorative_vase/vase_unfired_green" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_blue.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_blue.json new file mode 100644 index 000000000..78c48e34e --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_blue.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_light_blue", + "particle": "tfg:block/decorative_vase/vase_unfired_light_blue" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_gray.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_gray.json new file mode 100644 index 000000000..2cdfd40ef --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_light_gray.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_light_gray", + "particle": "tfg:block/decorative_vase/vase_unfired_light_gray" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_lime.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_lime.json new file mode 100644 index 000000000..90f4db6e3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_lime.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_lime", + "particle": "tfg:block/decorative_vase/vase_unfired_lime" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_magenta.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_magenta.json new file mode 100644 index 000000000..dd89f9b98 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_magenta.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_magenta", + "particle": "tfg:block/decorative_vase/vase_unfired_magenta" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_orange.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_orange.json new file mode 100644 index 000000000..aa43039fd --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_orange.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_orange", + "particle": "tfg:block/decorative_vase/vase_unfired_orange" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_pink.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_pink.json new file mode 100644 index 000000000..82b467c3e --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_pink.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_pink", + "particle": "tfg:block/decorative_vase/vase_unfired_pink" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_purple.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_purple.json new file mode 100644 index 000000000..4a10ba1cf --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_purple.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_purple", + "particle": "tfg:block/decorative_vase/vase_unfired_purple" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_red.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_red.json new file mode 100644 index 000000000..99bbf6ceb --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_red.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_red", + "particle": "tfg:block/decorative_vase/vase_unfired_red" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_white.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_white.json new file mode 100644 index 000000000..42f1724c4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_white.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_white", + "particle": "tfg:block/decorative_vase/vase_unfired_white" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_yellow.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_yellow.json new file mode 100644 index 000000000..fc2eaf8c9 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_unfired_yellow.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/decorative_vase/vase_unfired_yellow", + "particle": "tfg:block/decorative_vase/vase_unfired_yellow" + }, + "elements": [ + { + "name": "lid 1", + "from": [4, 17, 4], + "to": [12, 18, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [15.5, 9, 11.5, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9.5, 16, 13.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 13.5, 15.5, 14], "texture": "#0"}, + "west": {"uv": [11, 13.5, 11.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 4, 12, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 0, 12, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "lid 2", + "from": [3, 18, 3], + "to": [13, 19, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 9, 11, 9.5], "texture": "#0"}, + "east": {"uv": [15.5, 9, 16, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 13.5, 16, 14], "texture": "#0"}, + "west": {"uv": [11, 14, 11.5, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 14, 11, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 9, 11, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "handle 1", + "from": [13, 11, 8], + "to": [15, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 6]}, + "faces": { + "north": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle 2", + "from": [1, 11, 8], + "to": [3, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-4, 11, 10]}, + "faces": { + "north": {"uv": [11, 6, 12, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [12, 6, 11, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base 2", + "from": [3, 11, 3], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 8]}, + "faces": { + "north": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "east": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "south": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "west": {"uv": [6, 6, 11, 9], "texture": "#0"}, + "up": {"uv": [11, 14, 6, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11, 9, 6, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "base 1", + "from": [2, 0, 2], + "to": [14, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "up": {"uv": [6, 12, 0, 6], "texture": "#0"}, + "down": {"uv": [12, 0, 6, 6], "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, 107, 0], + "translation": [-8.25, -5.75, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "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": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_white.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_white.json new file mode 100644 index 000000000..7b1d8b43e --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_white.json @@ -0,0 +1,248 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_white", + "particle": "tfg:block/decorative_vase/vase_white" + }, + "elements": [ + { + "name": "base1", + "from": [2, 0, 2], + "to": [14, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "east": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "south": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "west": {"uv": [6, 0, 12, 3.5], "texture": "#0"}, + "up": {"uv": [6, 6, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 0, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "base2", + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 7], "texture": "#0"}, + "up": {"uv": [10, 7.5, 6, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10, 3.5, 6, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 22, 10], + "to": [11, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"} + } + }, + { + "from": [7, 9, 9], + "to": [10, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 22, 6], + "to": [6, 23, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6, 9, 7], + "to": [7, 22, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 22, 5], + "to": [10, 23, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [9, 22, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "south": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "west": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 22, 5], + "to": [11, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 7, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 0.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 2.5, 7.5], "texture": "#0"}, + "up": {"uv": [2.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7, 2.5, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 9, 6], + "to": [10, 22, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "east": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "south": {"uv": [11.5, 3.5, 12, 10], "texture": "#0"}, + "west": {"uv": [10, 3.5, 11.5, 10], "texture": "#0"}, + "up": {"uv": [12, 5, 11.5, 3.5], "texture": "#0"}, + "down": {"uv": [12, 8.5, 11.5, 10], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [6, 22, 6], + "to": [10, 24, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [2, 9.5, 1, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "south": {"uv": [1, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 7.5, 2, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 7.5, 2, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [3, 9, 8], + "to": [5, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [11, 9, 8], + "to": [13, 23, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [13.5, 0, 12.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "south": {"uv": [12.5, 0, 13.5, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3.5], "texture": "#0"}, + "up": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0.5, 0, 0], "rotation": 270, "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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 145, 0], + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, -0.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + { + "name": "side1", + "origin": [0, 8, 0], + "color": 0, + "children": [2, 3] + }, + { + "name": "side2", + "origin": [0, 8, 0], + "color": 0, + "children": [4, 5] + }, + { + "name": "side3", + "origin": [0, 8, 0], + "color": 0, + "children": [6, 7] + }, + { + "name": "side4", + "origin": [0, 8, 0], + "color": 0, + "children": [8, 9] + }, + 10, + 11, + 12 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/decorative_vase/vase_yellow.json b/kubejs/assets/tfg/models/block/decorative_vase/vase_yellow.json new file mode 100644 index 000000000..863f6ecd7 --- /dev/null +++ b/kubejs/assets/tfg/models/block/decorative_vase/vase_yellow.json @@ -0,0 +1,387 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/decorative_vase/vase_yellow", + "particle": "tfg:block/decorative_vase/vase_yellow" + }, + "elements": [ + { + "name": "bottom", + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "east": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "south": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "west": {"uv": [5.5, 5, 10.5, 6], "texture": "#0"}, + "up": {"uv": [11.5, 5, 6.5, 0], "texture": "#0"}, + "down": {"uv": [11.5, 0, 6.5, 5], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [14, 15, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "texture": "#0"} + } + }, + { + "from": [2, 2, 2], + "to": [13, 5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [13, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 7]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [12, 17, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 7]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "texture": "#0"} + } + }, + { + "from": [14, 5, 1], + "to": [15, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 7]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 2], + "to": [14, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 7]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 7]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 16, 3], + "to": [13, 17, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 5, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "east": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "west": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 2, 9]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 15, 9]}, + "faces": { + "north": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "south": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "west": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 16, 12], + "to": [13, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 9]}, + "faces": { + "north": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "east": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "south": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "west": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5, 2], + "to": [2, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 9]}, + "faces": { + "north": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "south": {"uv": [11.5, 0, 12, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 5], "texture": "#0"}, + "up": {"uv": [6.5, 7, 0, 6.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 6.5, 0, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 9]}, + "faces": { + "north": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 8.5, 8], "texture": "#0"}, + "west": {"uv": [0, 5, 5.5, 6.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 15, 3], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "east": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [0, 7, 5.5, 7.5], "texture": "#0"}, + "up": {"uv": [5.5, 7.5, 0, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [5.5, 7, 0, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 16, 4], + "to": [4, 17, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 16, 9]}, + "faces": { + "north": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "east": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "south": {"uv": [8.5, 6.5, 9, 7], "texture": "#0"}, + "west": {"uv": [5.5, 6, 10, 6.5], "texture": "#0"}, + "up": {"uv": [10, 6.5, 5.5, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [16.5, 5.5, 12, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "handle1", + "from": [8, 15, 0], + "to": [8, 18, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "name": "handle2", + "from": [8, 15, 13], + "to": [8, 18, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "handle3", + "from": [0, 15, 8], + "to": [3, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 6]}, + "faces": { + "north": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "handle4", + "from": [13, 15, 8], + "to": [16, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 15, 6]}, + "faces": { + "north": {"uv": [6.5, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [8, 6.5, 6.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "lid", + "from": [3, 17, 3], + "to": [13, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 17, 3]}, + "faces": { + "north": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "south": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "west": {"uv": [5, 8, 10, 8.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"}, + "down": {"uv": [0, 7.5, 5, 12.5], "texture": "#0"} + } + }, + { + "name": "lid2", + "from": [4, 18, 7], + "to": [12, 19, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 18, 8]}, + "faces": { + "north": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 10, 6, 10.5], "texture": "#0"}, + "south": {"uv": [5, 9.5, 9, 10], "texture": "#0"}, + "west": {"uv": [6, 10, 5, 10.5], "texture": "#0"}, + "up": {"uv": [5, 8.5, 9, 9.5], "texture": "#0"}, + "down": {"uv": [5, 8.5, 9, 9.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, 107, 0], + "translation": [-8.25, -6, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -79, 0], + "translation": [-8.25, -6, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -0.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + { + "name": "side1", + "origin": [7, 16, 7], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "side2", + "origin": [7, 16, 7], + "color": 0, + "children": [5, 6, 7, 8] + }, + { + "name": "side3", + "origin": [7, 16, 7], + "color": 0, + "children": [9, 10, 11, 12] + }, + { + "name": "side4", + "origin": [7, 16, 7], + "color": 0, + "children": [13, 14, 15, 16] + }, + 17, + 18, + 19, + 20, + { + "name": "lid", + "origin": [3, 18, 8], + "color": 0, + "children": [21, 22] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/deepslate_1.json b/kubejs/assets/tfg/models/block/loose/deepslate_1.json new file mode 100644 index 000000000..03f298a62 --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/deepslate_1.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_metamorphic_1", + "textures": { + "texture": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/deepslate_2.json b/kubejs/assets/tfg/models/block/loose/deepslate_2.json new file mode 100644 index 000000000..5830fc03c --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/deepslate_2.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_metamorphic_2", + "textures": { + "texture": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/deepslate_3.json b/kubejs/assets/tfg/models/block/loose/deepslate_3.json new file mode 100644 index 000000000..f1e5803cb --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/deepslate_3.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_metamorphic_3", + "textures": { + "texture": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/dripstone_1.json b/kubejs/assets/tfg/models/block/loose/dripstone_1.json new file mode 100644 index 000000000..9b7cfcf3b --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/dripstone_1.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_sedimentary_1", + "textures": { + "texture": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/dripstone_2.json b/kubejs/assets/tfg/models/block/loose/dripstone_2.json new file mode 100644 index 000000000..ace78057f --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/dripstone_2.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_sedimentary_2", + "textures": { + "texture": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/dripstone_3.json b/kubejs/assets/tfg/models/block/loose/dripstone_3.json new file mode 100644 index 000000000..cb34f6d51 --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/dripstone_3.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_sedimentary_3", + "textures": { + "texture": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/mushroom_roots.json b/kubejs/assets/tfg/models/block/mushroom_roots.json new file mode 100644 index 000000000..ef71b9d43 --- /dev/null +++ b/kubejs/assets/tfg/models/block/mushroom_roots.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "cutout_mipped", + "textures": { + "cross": "tfg:block/mushroom_roots" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/mushroom_sprouts.json b/kubejs/assets/tfg/models/block/mushroom_sprouts.json new file mode 100644 index 000000000..809c7e7e6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/mushroom_sprouts.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "render_type": "cutout_mipped", + "textures": { + "cross": "tfg:block/mushroom_sprouts" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/hardened_blackstone.json b/kubejs/assets/tfg/models/block/rock/hardened_blackstone.json new file mode 100644 index 000000000..936ed7c84 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/hardened_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/hardened_deepslate.json b/kubejs/assets/tfg/models/block/rock/hardened_deepslate.json new file mode 100644 index 000000000..aaaf1eba8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/hardened_deepslate.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "minecraft:block/deepslate_top", + "side": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/hardened_dripstone.json b/kubejs/assets/tfg/models/block/rock/hardened_dripstone.json new file mode 100644 index 000000000..e00e67469 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/hardened_dripstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/blackstone_base.json b/kubejs/assets/tfg/models/block/spike/blackstone_base.json new file mode 100644 index 000000000..85b687af0 --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/blackstone_base.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_base", + "textures": { + "texture": "minecraft:block/blackstone", + "particle": "minecraft:block/blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/blackstone_middle.json b/kubejs/assets/tfg/models/block/spike/blackstone_middle.json new file mode 100644 index 000000000..c97f86e7c --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/blackstone_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_middle", + "textures": { + "texture": "minecraft:block/blackstone", + "particle": "minecraft:block/blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/blackstone_tip.json b/kubejs/assets/tfg/models/block/spike/blackstone_tip.json new file mode 100644 index 000000000..c5cc7ee46 --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/blackstone_tip.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_tip", + "textures": { + "texture": "minecraft:block/blackstone", + "particle": "minecraft:block/blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/deepslate_base.json b/kubejs/assets/tfg/models/block/spike/deepslate_base.json new file mode 100644 index 000000000..d2eedaedb --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/deepslate_base.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_base", + "textures": { + "texture": "minecraft:block/deepslate", + "particle": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/deepslate_middle.json b/kubejs/assets/tfg/models/block/spike/deepslate_middle.json new file mode 100644 index 000000000..d05f072e8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/deepslate_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_middle", + "textures": { + "texture": "minecraft:block/deepslate", + "particle": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/deepslate_tip.json b/kubejs/assets/tfg/models/block/spike/deepslate_tip.json new file mode 100644 index 000000000..a5e1642c1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/deepslate_tip.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_tip", + "textures": { + "texture": "minecraft:block/deepslate", + "particle": "minecraft:block/deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/dripstone_base.json b/kubejs/assets/tfg/models/block/spike/dripstone_base.json new file mode 100644 index 000000000..5071380fa --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/dripstone_base.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_base", + "textures": { + "texture": "minecraft:block/dripstone_block", + "particle": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/dripstone_middle.json b/kubejs/assets/tfg/models/block/spike/dripstone_middle.json new file mode 100644 index 000000000..49152e0c5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/dripstone_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_middle", + "textures": { + "texture": "minecraft:block/dripstone_block", + "particle": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/spike/dripstone_tip.json b/kubejs/assets/tfg/models/block/spike/dripstone_tip.json new file mode 100644 index 000000000..ee555face --- /dev/null +++ b/kubejs/assets/tfg/models/block/spike/dripstone_tip.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/spike_tip", + "textures": { + "texture": "minecraft:block/dripstone_block", + "particle": "minecraft:block/dripstone_block" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/ash_pile.json b/kubejs/assets/tfg/models/item/ash_pile.json new file mode 100644 index 000000000..d09e4eb4b --- /dev/null +++ b/kubejs/assets/tfg/models/item/ash_pile.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfc:item/powder/wood_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/charred_log.json b/kubejs/assets/tfg/models/item/charred_log.json new file mode 100644 index 000000000..9aa18a818 --- /dev/null +++ b/kubejs/assets/tfg/models/item/charred_log.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "minecraft:item/charcoal" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/buds/medium_rutile_bud.png b/kubejs/assets/tfg/textures/block/bud_indicator_layer_0.png similarity index 51% rename from kubejs/assets/tfg/textures/block/buds/medium_rutile_bud.png rename to kubejs/assets/tfg/textures/block/bud_indicator_layer_0.png index 2aafaf1f3ad8b683e27cb2cf1ed09ea5a36495a4..361cd395262f8a78e5c3c071f970b6b77293766a 100644 GIT binary patch delta 476 zcmaFM{g!*f6eccXT_fWVBLgc_qsjA_WK1DkLn{*lD}(#lixFyq?j3|Bpa9~Ch8`oS*Ge*7@3&sCMH@W>Ka%YTBapgS|%qO z8-mUA^|f-zPcF?(%`5SAu~n+bEznEJOtB(H|K#J$Dk?-N-LBM!*XqSngtw^TE;r~Cl_!mAB zoU(^8P^i;6$+c^3amngZ+il0b@x0vom@}@TLtda_zU-B#@0Ig5zPFCbj<_y*?bc_e zIiH(ll3R-Twua^0E{juWX~>+V(Bk05*|RZQ?AWcPB08s;mWu40V{}mA*&P1++oL|* uYYwW~@22@w@X?6_5})_hfBMf_!|?U0Rk?S1Y&-)41B0ilpUXO@geCxzx1~`4 delta 476 zcmaFM{g!*f6ecc1T|>(d0|P4~^U3p=WK6+aBO@yV3o8@DC?$o8+yX1#)RM%M#F9jp z#FA87B_jhPQ(XfTb(7ySm84i2nWtH#B_`^cS{SD4rW%@9=q4s5o9Y@ETUuBenI#$} zrdWc_^YyiI$xklLP0cIubg@;c$Su%I$xN{#M*rmF%ql8GDdcAfb0S8el0tEbYgvg^ zc}8j;ir*kXvYcgVeTn*+{e_v(d>Q>%azs2F5895+tN8 zq9i`b&zIYy$B=n#^TvZ&9AWx3an?`m?T#u~PLP^&u2GZW;wvAX|FRJh2XZ8MCp&*M z+r_AG)Nqeaf>a7e5AWiOya_IRdm`+f{a?QSAMsjqy^ upyJbC`8m9obq=3ox%T6a{4yy428IO5zV?dWH9ias3=E#GelF{r5}E)S_?*xH diff --git a/kubejs/assets/tfg/textures/block/buds/medium_uvarovite_bud.png b/kubejs/assets/tfg/textures/block/bud_indicator_layer_0_emissive.png similarity index 51% rename from kubejs/assets/tfg/textures/block/buds/medium_uvarovite_bud.png rename to kubejs/assets/tfg/textures/block/bud_indicator_layer_0_emissive.png index e7bfda82fda1c326dee443b65e6929f7c40dbc32..361cd395262f8a78e5c3c071f970b6b77293766a 100644 GIT binary patch delta 482 zcmaFO{g!*f6eeC{T_fWVBLgc_BP#>b$qShzO(7zNRwf2kMy63p3Kh8pR=%kvi7AOC zi7tsHskTZ+21cg31}N$#zh^2*F*8g_HZV_2)J;mWOx3k8GBMXpOteVUHLx_aOiQw~ zOing71e@pUYvq!kT$-DjSK{ent5lI&pqG-FVnvMp$;X*hRESc@&l2WJj6x-a;u6=g z607oz)I3zb!9ryf%cS~UiU&S3FfdH@ba4!^IQ=%*lJAIufbr_kE)zjpkxY%l|9^1t zFMK38We;PZP^WW}YuDQ1lGUZQ+m3zXdAav7XIw>xygP*7N^kCkU2}C#lefSXJfY5v0F<;bWSrZ71=q*=%B*0IsEsx xM}4^098|U6P4lVXqZ0=tKJTsn^q;kc;p(d0|P5#6Dt$5$qShzO~E2YMpgzERz`+VN(vRZ1y;VPC5b7C zC5bMHC8@SbMg~Tvx&|ofCckGYNij(^Gc`y~G}bk;OiR(Vv@kK#O*A$!(={`-G)*=$ zG%`&yGXb0D>ucqbpIn-onpfiKVyjejIgRaA&l$j=hyN{m7!h2j#| zvJ$KEjMO|7zrjOg70aahoik?}GB7Yq_H=O!vFJ_y^Z&m+vuZ=9(%r>uJmSm}4xF5A z8ykX%a$k1HklRtf4)P9CGBv=3>iQD z10tvIOk}>S;GB>n(VNGhyy<@G`&0kxcRtabp)03+h9SwAee>a`|JVKH6f>w_^Jjvf x+OeiLbItGXKXB9FtkN7C9s}o#R~r}@w$0smXv@*o9SjT%44$rjF6*2UngH3`qgDU_ diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_1.png b/kubejs/assets/tfg/textures/block/bud_indicator_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..81ae0abfb75bd81275b03d4d87ef50f979e4c793 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+So-U3d7QJsL8gd;r;BlQ_JYwk&li%I5^>MH+yN8LSAsY(2Gm^IasQG z#S4YHx=5^?vgq`t3B_y&qO=*<4p=T%K2U6Ntm1`qgTSHgR=Hid(uQu!GOZlW+&m^X zD=2ARdc)p2mM>A)r(ToV8WxpZ9luU4@ax~1de#<~_cFZy`(f?@#Z7Zkf1f%i|3Ucx t^9nvU_ny5rVGIlme5nzhX}-P;S_}*f91IX}DR?r7;pyt_2HSsDNU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_1_emissive.png b/kubejs/assets/tfg/textures/block/bud_indicator_layer_1_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..81ae0abfb75bd81275b03d4d87ef50f979e4c793 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+So-U3d7QJsL8gd;r;BlQ_JYwk&li%I5^>MH+yN8LSAsY(2Gm^IasQG z#S4YHx=5^?vgq`t3B_y&qO=*<4p=T%K2U6Ntm1`qgTSHgR=Hid(uQu!GOZlW+&m^X zD=2ARdc)p2mM>A)r(ToV8WxpZ9luU4@ax~1de#<~_cFZy`(f?@#Z7Zkf1f%i|3Ucx t^9nvU_ny5rVGIlme5nzhX}-P;S_}*f91IX}DR?r7;pyt_2HSsDNU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/buds/large_almandine_bud.png b/kubejs/assets/tfg/textures/block/buds/large_almandine_bud.png deleted file mode 100644 index cd00e91791d21c4dd3e9170c9f4d3c392f3dc829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Ym-)eDB?AM)OHUWa5R22vfByfsXI5?KY;-cnVi0IZVvP5xiQo6f-mbPHmf>>E z-UScrPsTZH`+4wa_YU5JPgy6lndQCvuVB^Q`gA|L@a6hFaSS&*a!&ucxp`w0M^N({ zs~wE|e)CcS49wfDzur7Qzu@`(pWpir_DvSnVGm*s>Ne%^N=`o5)-Z?f5{uE3KP!U^ zDksQz@ERqw{M_u>9!g4ac1C?{Cg!yZH0lH=byIdA8Hu8#fz=)criv@u+Fl z`glo4Aq9hv4;**!Hm+Qm;GB@8V5+dypi(U5c|#0Ckrl^*oc4{53_9$ksyqw~3ANLl Tew5{zfeLv~S3j3^P6sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yx4OySiGhLPil>WXh{fsTKmY&RGpjaqHaZz(F$gpyF~k8yLENB!jaj?lnsvc=vtcMAsJXGxM%)7hl(KRE0Z7 z!iQ%G+Y+(W;tqaoH?7j&if?d}kY-7^=fuX)etTN2!;wr+PgTe~DWM4faN!PK diff --git a/kubejs/assets/tfg/textures/block/buds/large_apatite_bud.png b/kubejs/assets/tfg/textures/block/buds/large_apatite_bud.png deleted file mode 100644 index 380255c513e5dd2c5b509c66333819986eba7dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1581 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y=d``mj)8&Us;7%%h{fsTKmY&RGpjaqHaZz(F$gpyF~Jhf`SLc6Ue{e3H;nq31FrI15D;ZZFm14X0`CAijVtna)dk^6g6DIfX zKlIeGNWnB>FGI1BN8?T%^BZn#D)r4r5@t=@%WnQ4eTIQ}M zNx@WMYeX{RoBS1P?Zdx1#W1EeGoFafXyjsWb*M|29pYsKD$qS${an^LB{Ts5+3X3Y diff --git a/kubejs/assets/tfg/textures/block/buds/large_blue_topaz_bud.png b/kubejs/assets/tfg/textures/block/buds/large_blue_topaz_bud.png deleted file mode 100644 index 6322846f6961b409a1bafb8e6cc4abb964971f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e{E#U#Z@*D}$> zT-U-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_slV+oPmMilBbJfh{fsTKmY&RGpjaqHaZz(F$gpyF~vYEL^Y^DlR6gKw-qFl?cvFg&PuOxhBI&)Hi_1LRV3DOh)@(ML)x_y(o({N8k-Yqjx(O`GIlYI=MhJa(+!6Ob? v4p|$k7@wrfSlhmBJ#%);Mn{Hcx+x3{DlzS8JH8v0f=Y8wS3j3^P6sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y*Qb+h&cMKM!_&nv#Nu@Fpa1{unN=G)8=VZY7z7%U7~_5Z#P0fPZ&zCp%W(OR z?e@3!C*vHp{k;A(dk62qr>qm&#F?c2JAPpmSNe^x)m} z`T^S?tHOzmXPxBVU6H?Ue`xOhNB7O!Sn@nK$awI2=w36Zm@|dRjO9tm1hol@_x0yA zo^F2PkhP(W(L?yedWAn171`d@PuQPm;=!ZFFLaoLxs%^q!qVdB!8b46%@6B7=7K5BF6*2UngHxj B1FHZ4 diff --git a/kubejs/assets/tfg/textures/block/buds/large_diamond_bud.png b/kubejs/assets/tfg/textures/block/buds/large_diamond_bud.png deleted file mode 100644 index 739426c0bf3eccfcf00bf68693a34e44bba8a09f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e)xgrgB*jSA#Mr`A*V57? zP1nN2z);uJFfrLEH7U_7Db)a`-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_jO7EsH{BY>Eak-ar$kbHP;~rfw?-|mW{Pi{0}1cG(NGKW~S(&_kh!;B_TUG zF+EY-!^7y=+H*!n-!&~MT{WTd{>`45nI|QpEb1F8KX9#_Ug0wBkhhw^r&O7r&$({> zH1!P>loqaNGU3^>aoV|B|Le;<)f*Osd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&ew*+|#Y+%U~3$=ozGG0gy`-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yrxa&6mw|!djHioZh{fsTKmY&RGpjaqHaZz(F$gpyF~<9x`M3YMyJAH9Q(8XnlqNIKlNX7dDp+=uURMbp4g`IceBXqRt3`& z>zbtt-rNsm(^kvf5&Zv8C3pG1|E%*RB7#K@7Acr2Y>haq@Hg7(hQNf&jG4luUU^W8O~F@Tf76DG?|nA>cl_6OQNeJA%?+lA8;a~oX9QAuHymKum^iC&8S{k6 qj(+To_lw^(|K&|?Hg(+F%EK_t>yTE-x6n*bIqvD|=d#Wzp$PySa0j{o diff --git a/kubejs/assets/tfg/textures/block/buds/large_green_sapphire_bud.png b/kubejs/assets/tfg/textures/block/buds/large_green_sapphire_bud.png deleted file mode 100644 index 924a7daf420a0c000d1795efe8d7b47b1e499c8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_v=pEd&B`HxLnSf?}c@3Tq0@#_Uc^Y%H+hx^*CCFSz>^xkJxke-;!n0buN zA!|bH@s^y$O#LQzR{HO^X|R@0+3mVTJA!Ws+Y+&CiIBNjtkRQ;cD}Rs5I!;CbbkJ! zr;bGmrV)D?ij6!P*KM%6;g(Y0d?aDk#J%k134M9Oi%t5OX4qC=64}8NpwPtA+}U`g v;Y!k1rV}R(qWyL5@?PUeZe}bP0l+XkKsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)L~YDr>BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e|&8*UZqw zOgAYp%~;pO%q-2!G|ke&&?E__-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yx9vc~I|c@ZE1oWnAr_~T|NQ@N&#c>vYEd^X?}6*j#VP+?}j)c)hK)gjh^e-+fjE>4~|Fna9{1 zvL?hHZ^==fJcaGf%KCZx8m;ROF8$7sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YH?NLQiGhLPf~SjPh{fsTKmY&RGpjaqHaZz(F$gpyF~!>gmYKkQ~mQQoAhaP|g+ z2k)lWGbZGQOiyjH{`&N?eZlkQoa?1NjHer~G+asIZT_<>Kf$?1yZ#@0CX-~*KQ1Rj z556UAtHl%i*fb5UBr@IZc#}Ut!pC^i_Xlh_dFkmQ)7x5JE;_mS0hdD~hY^n&TM%8M^}{)P_tf)6DEII(8RRQ6Gh92`cFMT;Nj9h~_jL7hS?83{1ON$4{nG#d diff --git a/kubejs/assets/tfg/textures/block/buds/large_lazurite_bud.png b/kubejs/assets/tfg/textures/block/buds/large_lazurite_bud.png deleted file mode 100644 index 4519c7509bf509b4430216f17bd44a3b525bd50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 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 diff --git a/kubejs/assets/tfg/textures/block/buds/large_opal_bud.png b/kubejs/assets/tfg/textures/block/buds/large_opal_bud.png deleted file mode 100644 index 1f3450b80121b17f524c9db018237f30cdfa3fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e5z#v68*~r9L*T}@g zLO0RWJW)3-H6<}A#mq7_CB+n`-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YmwUhdDgy(SE**a`Ru*C{bQ3B*6ED%Du3%W?^tDYcqwzaMA^I>efL=vq$lPwW*%d6 z$eIv)yd_6jT3`OoO8#}VP1f=$)m1?j5qwM7mWX9b$ix*1XgHDBd6P;VCb(An9T>+;RqgJ+rK&FTW?D|gOHh;I3D;LW?flLf2`99SgTgqc?| wt~~mRb;9JtZRh4}7g{5DjE!-|_6dv(`7b&@n1+4+2`bG!UHx3vIVCg!0Aghbe*gdg diff --git a/kubejs/assets/tfg/textures/block/buds/large_pyrope_bud.png b/kubejs/assets/tfg/textures/block/buds/large_pyrope_bud.png deleted file mode 100644 index 03abdb608b1838d681965597f9f74634db018a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1580 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 Qr9cI|r>mdKI;Vst0L6t6I{*Lx diff --git a/kubejs/assets/tfg/textures/block/buds/large_rutile_bud.png b/kubejs/assets/tfg/textures/block/buds/large_rutile_bud.png deleted file mode 100644 index 6cb8eaefdeb86be2fc99d273db0d14eed5a6e6b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1575 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)paO67i`^Nw!MMFUn0U zu~o{nD> zp{1Fbu92Q0*pa@zR-SpqC5d^-sh%#jN)@>UdYPFiR>@|`NhX$-mb!_?CKkHpNhX%M zmPQ7Ky5@$4Nfu^F1}RBKrZD|3`N^fA7>DUkAyL17QD%B(USbZ}=791cD5+R^WEPj? z7ga)YN^oi+l$DdI08SlNiOHZ;Z>y9Hitf}DC8%&F*&zTiwmc&>4_88fs3^`)D=AMb zN_9+6%_||0!u0JFZ1h1H6XF4Va5g~l8(0o06T_4TxwwIt;PM7k_Sh*P3boX{6kDYt zC40L{i@mN43=HQzT^vI!PAC8Q|KFZjwV|`o$smhCpdpDd-lrzc`l-ELZAC1@<(e%9 zkL*vzIc)p+s?~c3@4=_66WS!=mi4pf3aM>A&MiY`Hj^M z#_4@Bi5E6+Y_$G*@_T*3b9;6p-<>lL6e*Z0Y>ha4z}$vChvURc1z!bczPURYr?a1I zypq7nJV9+jyko_*#bP)9E7Tv(m>}UJr^3c>{luX~vT2Q=*bD_TALC6&bxy2fwESs# r`f*vU`-g%{prYK<)z4*}Q$iB}k*Wfd diff --git a/kubejs/assets/tfg/textures/block/buds/large_sapphire_bud.png b/kubejs/assets/tfg/textures/block/buds/large_sapphire_bud.png deleted file mode 100644 index bb2e4c46eab823df79088f409d80f6039725795e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y=lMwT8v_Hw4Nn)x5R22vfByfsXI5?KY;-cnVi0IZVvP6E+57dkykF$Z;D7K5BF6*2UngC1Q B2XX)a diff --git a/kubejs/assets/tfg/textures/block/buds/large_sodalite_bud.png b/kubejs/assets/tfg/textures/block/buds/large_sodalite_bud.png deleted file mode 100644 index bf4b39a797c18df02998877997aa4c650bfdccde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YH~rQ%Z3YI0Q=Tr4Ar_~T|NQ@N&#c|wa1u=vww`;KRVe}BzyE`L?OCywD}N6zUM*ZK`n96`-* ztadOS*Z-5e!6c!{`s?B2_65)X|J>N%=widF!yd#O)NRUhXY&3=UPepVC7dZIE*f(j zRj`~OwI-3_63ZuTj&}DyY`^87sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yw<%TYF#`j`6;Bt(5R22vfByfsXI5?KY;-cnVi0IZVvP6sQ@`Pjy`6N7^ZE&D6BPgJ z#X4xPooc+2@RjMz$pq&wJO|90cp9}?x(=EsSM%pFR39&Q6U#I+sJ^D+($L5xm?GiB xvxIGl*lKYHzqXrJ&ky)-aFdW`Nx0|4#^BD`YAPP{?sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#VRS)z|zdp%s|)J!rWXpG0DVS zH_61*RM*%jEiEW`UB|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1ZmORZ}Y0|UcVPZ!4!i_^(}{{OdUR&D5PbTY_d5NJqZjQ9ETckd&6yV{CahRc6G zrhcrSw6`JW^LPH~g;Ix_PB-Yk_cONHxod)>oAtbh7q=?&NPm|(@SbTx?}=>0oX z6`vmeB<7U|U$M@Z?8w!!wD*8n6Hg=K1PLGGP2V4|WmxY`eDdr$(`I#lCl(0}0mrt3 zM;x*ovNl#RK1rFe_Vl$nrtFrDjttLqQy3UFK5a|>dv&cYs6h90^>bP0l+XkKofZpZ diff --git a/kubejs/assets/tfg/textures/block/buds/large_uvarovite_bud.png b/kubejs/assets/tfg/textures/block/buds/large_uvarovite_bud.png deleted file mode 100644 index 16bc7bdce4e6497f53e4c4304af7dfcff8ca7eb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1580 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&ez}yU`-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yx1;{{0R{$!E1oWnAr_~T|NQ@N&#cmSHc^x)m} z`T^UUABFP{HXjyvcg6hv{sVLWm%sIA`zVpPLB@mEL-(4&guT;v%vhe3Oi-JkXl*~Q z@pSVOhpY{3N@q?gu)h1FmLToec7VZyXPM;9>H_9@D{PWP9zJ2*Ebe=kGyHO3hIY*YIi=-jZp64WirTDWM+8$d&1?Zrmg!y<+-P;pUXO@geCw@LkC#^ diff --git a/kubejs/assets/tfg/textures/block/buds/large_yellow_garnet_bud.png b/kubejs/assets/tfg/textures/block/buds/large_yellow_garnet_bud.png deleted file mode 100644 index d6b6afc0e809c073575d5c9492255ee4b6bafe47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1576 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#VXY_CC$Jf$wD_NB`sAq&Cn!C zHz_GOQ8&pVDJd!0A}QH8(F~^FB|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1X=X!1Cgfq~(Ir;B5V#p&cf|Nq-Ft2T5tIvHd!2s9)y#{2yFoBL6IzTFLyf1GDNpMC0s%~R7VZhmb}d^&Uak64CHf;Yt`q~$Oy zVY^xCbHZ$s;mJdDfBm#L^i%u1fx(g|PA1J)8m=VqHvg7YKhU=4&fyR8OE^ai&_ubKKd)g2H?#73)fQV#osd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e#L~bZ+0;Zg(a^+F*D%#2 zS=YiKDOuOV#5Bd!)Wpc#z#;{v-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yw^@Sy5d#CmbWaz@5R22vfByfsXI5?KY;-cnISfAP#22XZ8MCp&*M+r_AGbZJgb zf>a7e5AWiOya_IRdyLAy{co@T&$c-?GE&kZC)Leu$Dh~*Q4=bzpPyggD3sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#mXo-+1SK5%~IDeG09lhBGJTL zH_5=#QrF1DAUV;}*wiA$G#RGfB|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1Z$GktD50|UcMPZ!4!i_^(}{{OdUR&D5PbTY^~u)&~#ams`Q3F#ld*L9phDTx)z4*}Q$iB}f$r>A diff --git a/kubejs/assets/tfg/textures/block/buds/medium_apatite_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_apatite_bud.png deleted file mode 100644 index 166c174093e6c71320ecbf2b050df7aacd7e77a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#mXqnz{t=fEk)Nd%{WarG1(+Z z*CH*+Sl2Wq*(5p9(lFWB)BvX6B|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1ZGT@k3vz`!uW)5S5w;&k$#|NrfoRU0}RoeZ)LY%pkGoH8LnLVCr%pC9e*Y%5|J zF1=Ab(sor~O`OHAU%%^Xx*UrXOf7hCe0wL(eCODNH~-g4^EDrJFgatYV0X`9%e?K= z7e0R!&Bhk&&(?PNwqlL~!$k$lJ#h@$Y+1i{uA1H$8_2Em?ejlVmfjQvo(&4c30((s n7APu&H}EiR4!ojq=qH1La0Z{N-MrZh3=9mOu6{1-oD!Msd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#VR!=(a6Nm(pWde#5hscD9yxB z*TOi(OxM8FB-t#{*w`#B#R8_^B|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1Y*tl0A#0|UciPZ!4!i_^(}{{OdUR&D5PbTY^~u)&~#ams`Q32BSc_ebmZRDF^ajrnNw)3t_ooI-6=Bmh;r0D>e|wpD1dmJe5r-lLJEH{0 z?W)D6ir6v}71>ga+1qw6=QCKtvdJ;wX`?ZZ|NVW*8eCe&DQ diff --git a/kubejs/assets/tfg/textures/block/buds/medium_cinnabar_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_cinnabar_bud.png deleted file mode 100644 index dbee7162bfb58bee2f683a68fde65a2de059018f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y=l7sOn1O*|wx^3@h{fsTKmY&RGpjaqHaZz(9oS&dz&K?>f`s&sdAGmG&zIYy z$B>z}`NHumjxhZ{vAe$7+Z|P~oFFxa?T=OAM8>pacJ2TFr*BqkKI&j{##F)1?|*}c zZNl_F|D7C|eVTb1Hzt~R@SZdHv7@vrh6wv&xl6qvsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_r=ojH3I{~Tu&Fr5R22vfByfsXI5?KY;-cnIsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Ym%8TfL++u2sc zGF-|zx}^82z?!%jf9ucJ*K|1+DVSRDT6}x2#eBx?*vdu!#sAG<5o5k+aJ}J&#b4&2 zBVR&)+TZp!HsCd4Io5Vj!PMe#!pr$fdH##nB>k{`ZpX~sZ4mM1{QT_&QY!30%{&nk sEDeq-Fc`HMHuC2Pbo4H2<6X$k@Gqz3hl|n8>!5 diff --git a/kubejs/assets/tfg/textures/block/buds/medium_green_sapphire_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_green_sapphire_bud.png deleted file mode 100644 index 157aff77c9c95bf9ff966fc2f25afd24fcf4cf6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)nj~YDr>BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y#~;>N&%nU2$kW9!#Nu@Fpa1{unN=G)8=VZY4s0-JV4N}`K|(s>f8qW5nyL@G z7?wmfx=XEAjM!W7@BP{TKSY|JIAj$_eRyy>m~BR{mFTqp>9NraV$2r}t~dNR(ZG6l z+N$8SJeO>^csBi8#nW$oFYU&uVg{XkUoSGYEsvKoSdyvw;2V>NpvUFTrMnNdH86Mx y_pnL-c)^e-en6y|;e@~hZ3ni-8#k^rFfeFJWS2~x_Iw?vboO-hb6Mw<&;$Tj2l6Wb diff --git a/kubejs/assets/tfg/textures/block/buds/medium_grossular_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_grossular_bud.png deleted file mode 100644 index 450dbdf1e93a1686edff262a98d3b876d2a9d03c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1521 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&eBH7r$z{FJ7z{Ju-Hz~=) zTsO%g$z0dO$UM!$ILX}9FewqH-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_c+pF9|Hr!Oivfb5R22vfByfsXI5?KY;-cnIcjh+ylgXigJYNe`yXK>sl&D?aUJ8wk8F>& zught(|2^GUiF pqY4a0EKj&5I4YQJk}^}VWw?GacNO`v|>yiKf diff --git a/kubejs/assets/tfg/textures/block/buds/medium_lapis_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_lapis_bud.png deleted file mode 100644 index 639877ebbfff4068ad1d7ce415c8cfe25b9c7724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e|UC`H#W&Ct>~%{1A<+{hTF-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y=M%o=Hvmvv4FO#oPc?*sq< diff --git a/kubejs/assets/tfg/textures/block/buds/medium_lazurite_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_lazurite_bud.png deleted file mode 100644 index 3ebf52c7ac20198fdc91bbdde8032c3c6f64e26a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e`)hxx_&>$72-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YcU<+$Qw9cxMV>B>Ar_~T|NQ@N&#czp}IYDX;+Z>Buy^Lwf#?c@D@9Y&nn4}=}OiDn0dA&nd zgeCu<=VJSLmN~W^xM3i*ge{U^x#+=1kC>nTAOB@CnC)!P$ao|z>09gR|G#%j>im1! y%BSqp!+O(nzun%}&55&a{%Da*Xj`sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e)Hu=1C^<>jFxkvh*T~ew zP}jmJHAUCd$jsCrCDAC&G6k;RB|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1ZGoW}Trfq`MAr;B5V#p&cf|Nq-Ft2T5tIvHdg*kI7WIAubDgmlHH6))}WY%5|J zF6o?6Yr85Sk>L2Orrz-J|J(8FB~qTelK3de!O|0Pm|=-zTJoOmH~(XWuQwibF!3?& z=)cUWuwhR%TXRRFM)Tf%28R!J=S#Zq$+30MXTFrLw4x3SrC%U5*SX94AB-njNGZC1QCw7#JS(W$}r}T=@nnq&;2zT-G@yGywq0 C8tB3R diff --git a/kubejs/assets/tfg/textures/block/buds/medium_nether_quartz_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_nether_quartz_bud.png deleted file mode 100644 index c74b41f596555fd961f4bc2c405cf92329004414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e zRW~WcJXzP$#M~gs!q_-5ImsBN-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yccf`s&spZ{*w*HnGj z#js>%Yp?Wb#fZHhzP~>H|A$EP6Njtl4@D2W*Zsd`X*?2TAW;fgNiM&U$7<>#l n8h99YGNlN3D03`c&B(}5{sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e%Ek)PJ!qnKnD9s`z$vhdR-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YH|2nlDFXw;Vow*x5R22vfByfsXI5?KY;-cnI2A!Jk?l~Ea-ieQ z_iTBk1G7{rW=O=<{5)Pz%gx-J%+kUueEKS9`URnggB@2{SIe(q%f7XrX%Qof!>j}o y556UAk{c9?6S^E3QaYCLGv81Uke)3iz`*cpK|z)6*BLyZ;@Q*H&t;ucLK6T|L+~2_ diff --git a/kubejs/assets/tfg/textures/block/buds/medium_opal_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_opal_bud.png deleted file mode 100644 index ec202d6b3006f8442ec8240d55f359e17abcc35a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YSK!{o%D})d+tbA{#Nu@Fpa1{unN=G)8=VZY4s0-JV4N}`K|=aR#rwDQHB}#W zF)W$cJDq>EV#MALf4{!}|3jqti9=R_)Q8uf)!AnB9({Q9zki+$zZmmHgX;}HDwsch znAFUppMO8KVEc!Z8W7n-Xy05p%cgj&GcP%F-OnIwxdi qBndD`G8M6&P!N!g>|G`8#Lr;xqj1}rPvZXpUXO@geCy^Gw%QZ diff --git a/kubejs/assets/tfg/textures/block/buds/medium_pyrope_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_pyrope_bud.png deleted file mode 100644 index 40b3919a56808f7487ef6529316bf16fa854fc6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1510 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qWNnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)8bh!dFe_D@bI#7&dnK$TTrY*D^UNP1nTG#8NlO zAkkbm)zm1(JlWjX)Wk3irr#w$xfB%FF#Rbc>h~|oOwY_q%puzxP!0qo5-X3);*$KL zN@yMlPA!D8axxXb>B1^88I;~_m6AabotmNq70x6(1R%ziXQbxgN&*lS#rbI^<%vb9 zj_Ij+B?QuzzMX=NJ}65mYSDht5l?9 zZ+9|_@dyJ0!xT>!#}JFt$$$R;w`W#u=xlT{$U3mWpn-A9gaircA2YT*wYRgah-J8R zCONbBs=%7KAJ)JB*4K177Acro%w-N{ShQNQ_22xYNz9uQO?>!{-hRQ>AQGRto#C>A zb3%?pZyrOJ_&lB5#2Y{Ub06Lmzg=QSsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e(lj;6z}QsR&@wqu*UZGk zK-V(O#85ZQG{wXs&CEE-+{hfJ-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y_r$8@9RmYHx2KC^h{fsTKmY&RGpjaqHaZz(9oS&dz&K?>f`s&s-CF zj%AK*2W}Wht!GqlRq!?FH3&ao;3E^s&%LSq-=05w>E|mywJJ7Fo!RI*NBE3e*x|M% a>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)~a?a1mFY?V#NwrlnMi%#Ub`B`YPs_|nwN)w(a(7bj zbagf}v@|o*HPSN#JJQ$J$}_LHBrz{J)zigRsUo*PFEca6D#^&mz``skRoC3oGD$Zj z*~C&eG11Uc*TBTk*v!Zx$#u4S^JiEfHza*C;OQgWJkiW$r_|Dw$F%)G=LWK%(|O36&IGBq|$OtrK$ z(ltmjH`GnFG%?q;FfcRJHBU3Lv@kNZOieSh0Htzp!m;wmEH23}s)Xj7;M77WD<@L{ zoK~z7lR1P1;paw{Irtt#G+Kk^whi(0_ja3 zm#d2t%kaC|BGJq!CB@Q6H_^hxLf0hO#6s61In7Kr*(AlnC^gZ@IMFf<=4UiFTZR}I zSQ!{u85%^vRFL9kXh0-qB<7{3rr0X!E0OOD;!+|cTrqrsl+_?ADEEavsK|sQCVljD z29`rAUhNcYz(PSTZXhPOCIHn6b_$5kv#}JFt$$$R; zw`W#u=xlT{$U3mWpn-A9gairc9UD__*6*qMAjxp)&)>JV|G#KccI^g4^>E|Ukx;-vlktWcPIgKT22kX_Ib!;pQ-&gf5)0Mc>45}zS MUHx3vIVCg!0CjI}E&u=k diff --git a/kubejs/assets/tfg/textures/block/buds/medium_ruby_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_ruby_bud.png deleted file mode 100644 index 72fa25e3e4100ee5a672104ce0039b4cceee4e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1529 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YH}$Qi3j+hgLQfaR5R22vfByfsXI5?KY;-cnIIsi{^$4h5qCbm x*59GPy(!!7-!JC$!zQ0MZ!|c-;~LJ)#E{)n^J^fCYd diff --git a/kubejs/assets/tfg/textures/block/buds/medium_sapphire_bud.png b/kubejs/assets/tfg/textures/block/buds/medium_sapphire_bud.png deleted file mode 100644 index f74d1a1157f01f77b044f5a000e8e7d81f153a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1521 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 diff --git a/kubejs/assets/tfg/textures/block/buds/small_almandine_bud.png b/kubejs/assets/tfg/textures/block/buds/small_almandine_bud.png deleted file mode 100644 index f17a4f5e48fd3b240a7368008b158b80b9f1927b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1505 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y#~FIfhJk^h)6>N<#Nu@Fpa1{unN=GKuQUWQv(0Dh>FJT+^16BBU-|!EtxAoH z*yl4UoK3rRi$_{7E+yjEdwJzRwl!uZEZhwycUe!}+_cHa=J)4zMTdC#HELh}RJzS! zo3e59;oLpkqTy^(TuIFt6BHG8s@DHEN-{k#sq>}%iDQTN*B>_Z-nikwPlKJ0J?=3w Y1h2?_I6dTsHK-8wboFyt=akR{00!jgH2?qr diff --git a/kubejs/assets/tfg/textures/block/buds/small_andradite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_andradite_bud.png deleted file mode 100644 index 088d9d7ca66663672ca48427b1fb02e5e578efe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&eFgXpT-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Ymwm6MmVtqx!_&nv#Nu@Fpa1{unN=G)8=VZY4y<4dF>GL*G9^($`p3@B|Mqsa z6|oGL&Zy*{`%o&UeU9gFM~<zopr01D#bKmY&$ diff --git a/kubejs/assets/tfg/textures/block/buds/small_apatite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_apatite_bud.png deleted file mode 100644 index bfe71200529f4eb21cf9013972a536c3d03998ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y*VW;5gn@yf!_&nv#Nu@Fpa1{unN=GKuQUWQv(0Dh>FJT+x)FZ&_kUv_PFE&Z zemiD|S!YvsO7h8Cojnln?y$!c#U?In4`dJ#G>+j|C!l>ySbf;|25~vT;;xgX59+b=ZByCTR)Gsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)8bh!dFe_D@bI#7&dh~|oOwY_q%puzxP!0qo5-X3);*$KL zN@yMlPA!D8axxXb>B1^88I;~_m6Aab4e|j*IFsxUfaovJNX^5Q1RyGk^V3So6N^$E z(^KU$~ z%2}g#Uf|+hj`X%fNAZZVFGdj`mnA=!@ diff --git a/kubejs/assets/tfg/textures/block/buds/small_cinnabar_bud.png b/kubejs/assets/tfg/textures/block/buds/small_cinnabar_bud.png deleted file mode 100644 index b21723a2da41fc8d70b6c06bd5d889739fdb5eda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yr>yGL*G9^($xsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y7ZO)z$-uzS>FMGaVsSe8&;S4S%&HBYjZOwx2UakK7&b6YnUW|Wo$x#JoBVva zJ$ek8*Ak7=5`L}fF+Oadbosd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e$wC^a!j*EGe% zP&Y9(#XvX7I5joJ(Ad~K#n23<-z7h}6cpny{V62s_b8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YXT2y!hk=2i&eO#)#Nu@Fpa1{unN=G)8=VZY4y<4dF>GL*G9^($+GA(Tclr5p zd-NDGuZf1Gf3T5jH$J>!0k==hHjywNoin%O{Fg^lUOI!8l>l*doEn?IbD`ZrW^Nu|hvoCy+}WOx`DBrCmy{v^Cq1(m#> Lu6{1-oD!Msd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YCl)uYn1O+z#?!?y#Nu@Fpa1{unN=G)8=VZY4y<4dF>GL*G9^($`p3=m|MK(Y z_UJKWrd={g{1LUL*ZA;;1>Aq`#qosw$v)55W_df`c*%m!%~juw9`P{GD0ZAB9#h3H z_WSb}-Wj|?%#0=17f3K{`gs4Valu*6swN(tOG*i59z2nJYz*@^dR^RX8&Cx*cRgMG KT-G@yGywp|`Qab{ diff --git a/kubejs/assets/tfg/textures/block/buds/small_lapis_bud.png b/kubejs/assets/tfg/textures/block/buds/small_lapis_bud.png deleted file mode 100644 index 36d779d64dd9a164c11f78d1351c5f61490c81cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1493 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#VWTQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1ZW8hmay0|P^?r;B5V#p&cf|Nq-Ft2T5tIvHdgSiu-#*uXetN}`1HhqZrx%FmbE zqsNeGb|o>%p!;{1@!<^%xUcB`s=?NfV^jZBK4$ZbD5mBeCPyYJ7^YZCFfbH%dM#NMlA!`Bcs*VH KT-G@yGywpoEa86u diff --git a/kubejs/assets/tfg/textures/block/buds/small_lazurite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_lazurite_bud.png deleted file mode 100644 index 80af90b20fa3da6506ecb10c15042a3183ae279d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YchN#Lmw|zy!_&nv#Nu@Fpa1{unN=G)8=VZY4y<4dF>GL*G9^($`hnQ~Kl1bC z_UJKWUfV8~lJL}~!T7L&((N-RPMk;({lcPCQ1x53t-jvexPU{=;Loow(+*wsd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y=UJDT$-ux+>*?YcVsSe8&;S4S%&HBYjZOwx2UakK7&b6YnUW|WePhdwul9Df z6|oGLbn;goGgyCvA-yfpQG7>*y7ZbKZ@w(%$rittz~Lr*J$&Y=4r88#bF7(m6(4mY z-kfc{o?zy|!*U_EIf>!KvG(Kn2TgCk<~Ht-=xDmBV3=Yl!N5=vcs*VH KT-G@yGywq1qT4J0 diff --git a/kubejs/assets/tfg/textures/block/buds/small_nether_quartz_bud.png b/kubejs/assets/tfg/textures/block/buds/small_nether_quartz_bud.png deleted file mode 100644 index 27b4ef099ce13c2eefba5712fc4262754fc737af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YXCWrX!@$5$=IP=XVsSe8&;S4S%&HBYjZOwx2UakK7&b6YnUW|WT~Yn|NPSJ! zhg}RyX7>7bJbcww`M>kqq37b;|1}$UT)y&eCeMDmz0QKivl-6p?DvyNjM)9zAmYu@ zt=S1?9y}};Vw;l~&bZBZmQWte#;L1oAg$7-!_LeQ77{)^{PsLIP>Jj5>gTe~DWM4f D(RANx diff --git a/kubejs/assets/tfg/textures/block/buds/small_olivine_bud.png b/kubejs/assets/tfg/textures/block/buds/small_olivine_bud.png deleted file mode 100644 index 119e9b2d2fef41a7c850158b231e06d3b8cda94a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1493 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Y$Nt541_J{_t*47)h{fsTKmY&RGpjaqHaZz(9azB_V%WeqWlExibcV(GFY@!{ z_UJKWnhAy`pRhR7V0?JP0`8p3MT}v4p8n%)`>XxW(7@%6li>G>I}dgk^CX;O&D^(- zRq5NK)Ak0^Dr`(I);St7q&%K^efxu1rnM3hDisP|4oN493>X+%U%GM_zu~?CDtJ9z L{an^LB{Ts5fREb8 diff --git a/kubejs/assets/tfg/textures/block/buds/small_opal_bud.png b/kubejs/assets/tfg/textures/block/buds/small_opal_bud.png deleted file mode 100644 index 725c6174304dc4e353bf0852f83f98ce3e0b6517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yr`hOL&A`A==IP=XVsSe8&;S4S%&HBYjZOwx2UakK7&b6YnUW|Wy<_X=EA=&1 zA9gV;nd$G-lNkPg-hY?shev<1|96yFlKE`URG#^9dz}Q2XEU7HIi2rL;*H8A>xef8 zxB4fTdGN4Yh;2?{IO8@Wt(@DRjaApqKw70uhn<9)z4*}Q$iB} DUHaGv diff --git a/kubejs/assets/tfg/textures/block/buds/small_pyrope_bud.png b/kubejs/assets/tfg/textures/block/buds/small_pyrope_bud.png deleted file mode 100644 index a1e3e489afc2474625388a7aed88542923d83584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5YXMJ0CHvYt3Y1oRB6Ut-{9iVx6O5!p-&3Jo)S2G-ZEFf0FnhZ7S1d$D|WQ1`G^0 Xrum!Sxe}QGDuX>;{an^LB{Ts5;AZF~ diff --git a/kubejs/assets/tfg/textures/block/buds/small_quartzite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_quartzite_bud.png deleted file mode 100644 index b1e9feb8bb4a107da5d2c1e37a2e88cba0471ce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e)#4J@e%`nwm*Tm8! zSvS$h#8}rb$8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yr=|C>nt_3#%+tj&#Nu@Fpa1{unN=G)8=VZY4y<4dF>GL*G9^($y5h^DXZ1Bz zA9gV;nK^m#{KV@|-~R9XcIb7#{=a4ekKq43nLPLR*SiQF&t^EY^SS)o^c(xi*dyK? zdtIGi=E1{qA+|Y*;f&jiwDSr4Y`lT02GS~RI_%60?sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)BVo4%Cbt%bKY57ID zi6yp5nYoGSsrm(Z=}HRlP_uH*&&e8W`o1X7s3oq~-%C}ToApbyRlNPYv$A!TBi@*o#C5EES9fXW^_1w^5inwMg$ zRHS5Yw|xdvGy?-eho_5Uh{fsTKmY&RGpjaqHaZz(9azB_V%WeqWlExi^pBNVKji1j z?a^b%Oe-=^`Elxaqw!$_rQ2stoH+5p`Z%Y~hwO`nZLItM8!b8U!QfBj&$*4d=eX9i zm7cN_vGutzhx;-QlfqdAGY=k?3$e{f2j-~9OZYd$jJX#xX- WW1|1TyUTZi3t>-JKbLh*2~7ZiXzLIF diff --git a/kubejs/assets/tfg/textures/block/buds/small_red_garnet_bud.png b/kubejs/assets/tfg/textures/block/buds/small_red_garnet_bud.png deleted file mode 100644 index 27308f63bb6f93d118efc66a5ed778a65c425682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1909 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 UkoD%@JWwI*>FVdQ&MBb@0ABa!zyJUM diff --git a/kubejs/assets/tfg/textures/block/buds/small_sapphire_bud.png b/kubejs/assets/tfg/textures/block/buds/small_sapphire_bud.png deleted file mode 100644 index 9f98781b210eb419732d48369ebb096724e1331e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW) zRm#jwOi$G>$V*pJfQOoubAC>Kk#BxVs;!bSvbd+Sb3jpkT4qkFtx|E2yOV;atFxJ* zrJ0$ok)9#gk-olGo_WP3iFwJXo-VdZ6}bg^nVBh828rg$$*Be=x(4PcCc4SSCI-5R zX~xOAsg{YB$tDJArYYu0F#Rt1$)%tehv`otQNMptW_o5`Vh-8nfbt$t9WjdA3T)py*CbQGyC*k{tpNW6LvA^Kc~uh>GI;w370~ zqEyH9)VvY`DNNr^!A2jHF(Dq%2WJB$zk%hDGBHefkc%6L2`+CyWsjW#qEJiCOR-fd zQnI(>=qdihz`)Sq>Eak-aXR_W|Nr*PstuiuP6k;ARxpMbHZV?^k|-f9Fv0S>{Cv4R zdJLInB|?c09$0l4A2v|Bedff86AvW5bLbS*oULu!U%$9+nHS%}EEYho6=__r99>`k6D24j)iF!kyN9WWv(~28O0A Vzt?RaXT1TH!Je*uF6*2UngG#_>2Lr5 diff --git a/kubejs/assets/tfg/textures/block/buds/small_sodalite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_sodalite_bud.png deleted file mode 100644 index 5d4dbc4919c0aec38a82c96967a5464f3480a8a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW) zRm#jwOi$G>$V*pJfQOoubAC>Kk#BxVs;!bSvbd+Sb3jpkT4qkFtx|E2yOV;atFxJ* zrJ0$ok)9#gk-olGo_WP3iFwJXo-VdZ6}bg^nVBh8scET(Y38Phy2fb+#=1!sCT6;c zMy4sc$!V5}=9X!xhQ@~GF#Rt1$)%tehv`otQNMptW_o5`Vh-8nfbt$)HqktCS3i?$i_|sBk9PApkM9JR>y^S3-cOD9%qSDNig) zbxcpqD}^>jv*GOlmGnxZ_ljS(Anr@kab`MV~Ak`=Fr3g3J1FVdQ&MBb@0Nz&THUIzs diff --git a/kubejs/assets/tfg/textures/block/buds/small_spessartine_bud.png b/kubejs/assets/tfg/textures/block/buds/small_spessartine_bud.png deleted file mode 100644 index ca891a4a5b5c193b0f2e7f03baeb5c14a2842b99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1494 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW) zRm#jwOi$G>$V*pJfQOoubAC>Kk#BxVs;!bSvbd+Sb3jpkT4qkFtx|E2yOV;atFxJ* zrJ0$ok)9#gk-olGo_WP3iFwJXo-VdZ6}bg^nVBh8DaM9ohQ`Sjx~6HSCc3ExCZ@Vc zX6A{y=H_O`iOH#!sfi}3F#Rt1$)%tehv`otQNMptW_o5`Vh-8nfbt$)HqktCS3i?$i_|sBk9PApkM9JR>y^S3-cOD9%qSDNig) zbxcpqD9PWKoe-mrlCPh1*j*q`j*nr)Wsbw*1JVjKk1d#%oO81p2YW6g{!kWP9z zfBF6cITIu}7VKs_$}pk#zg}!ZwqHPMO2Wi6=FN^tCyERh7)-u;ohzO0@*7n0db;|# JtaD0e0stqO-}V3i diff --git a/kubejs/assets/tfg/textures/block/buds/small_topaz_bud.png b/kubejs/assets/tfg/textures/block/buds/small_topaz_bud.png deleted file mode 100644 index a0be767404707eafce3afe51bf41f192dac0f185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)CsY^+=O3N?GO)Rlh z%FInnPt`BTOIK2WhnkgheolUoZ+=Rut&%aaxTmvoKv8~LW=^WDQgM*GlY*zKvzei# znVGJUo*~$gzP?tTdBr7(dC94sF1AV)xdnQenJHGONonS0N#=>VW~QbVx~a(~#=40~ zMya}nDMl8l7DkqarfF#~{Vw^*rJxvx=}#e1zkg9?dS+f?4%y~_@*yaxSb1a?m*f{! zLUT%RY9W-Blc@ks9af3Spj2{e_v(d>Q>%a=e5W@z>DN_<9q<8G{e`0TETM^4} zNk=F5NI{mZ_&J`#9XZCz%F2hkXXhm}x?k@z$hq^mT~TXB|HIeE^LdJ*%o0q6UhNL} zVvty@=VQ##VA6a;!BD`VoVSbd^tHOAir-&kVm9yR=4Ljx7oWi^PSuU`^1K Rh&!M%*wfX|Wt~$(69DU_;nDyA diff --git a/kubejs/assets/tfg/textures/block/buds/small_uvarovite_bud.png b/kubejs/assets/tfg/textures/block/buds/small_uvarovite_bud.png deleted file mode 100644 index c46ab7922629297e3d27312d26dd5c837a2dfc30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)paO67i`^Nw!MMFUn0U zu~o{nD> zp{1Fbu92Q0*pa@zR-SpqC5d^-sh%#jN)@>UdYPFiR+fe-Nv6h0NxFtDUkAyL17QD%B(USbZ}=791cD5+R^WEPj? z7ga)YN^oi+l$DdI08SlNiOHZ;Z>y9Hitf}DC8%&F*&zTiwmc&>4_88fs3^`)D=AMb zN_9+6%_||0!u0JFZ1h1H6XF4Va5g~l8(0o06T_4TxwwIt;PM7k_Sh*P3boX{6kDYt zC3`z-)frD17#KP{T^vI!PAC8Q|KFZjwV|`o$sp^%3dRt_2F58<5+$T3>{R|PKVNQ- z9z$l?bMwRpJ9Ju%4;v`mK6B#4i3xwKICM6AIm+0!KfB(j<2Z-$o}d3(6{8L@u1Q<> z!b-%}=f)iF%REd9XBEsmcvvpPHYXi8t(q@cR%gR}{fx|+a|(w}GN&~knea4$f#IHr Vzmfm5C=XB>?CI*~vd$@?2>^OC<#zx8 diff --git a/kubejs/assets/tfg/textures/block/buds/small_yellow_garnet_bud.png b/kubejs/assets/tfg/textures/block/buds/small_yellow_garnet_bud.png deleted file mode 100644 index 692c64e735f56ccb00cb8d8bbafde289d367df1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1488 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)paO67i`^Nw!MMFUn0U zu~o{nD> zp{1Fbu92Q0*pa@zR-SpqC5d^-sh%#jN)@>UdYPFiRwk+DDP~C~X}XDq<_5Y(7AA(e zmPUp~x+%$tMy7_T#s=obaQ!a%$)%tehv`otQNMptW_o5`Vh-8nfbt$)HqktCS3i?$i_|sBk9PApkM9JR>y^S3-cOD9%qSDNig) zbxcpqDBU(jv*GOlmGnxZ_ljS(Anr@kab`MV~Ak`sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#VR>1)xgX=DOoqg(A+}TGTFpf z*V4$uRM*_Z#LzU+*vLH9$O5L{B|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1Y*dn4Nk1_p+Mo-U3d7QJr+ck>=r5I7n*ErG+UEI~vqkxlD-;zlM_?i~z<%%T^S zty)wI9$yPjyeED?EIZZz*=LWxQh(T^cieW-Oy!#NZX09g`Oh(GI=si8Ou2OF$!?<) zmYW}2%n0hTd>+yBaUY}5agmO6=5sgJNh?e&zPI|(>{rUMUN;R2ICe`U^cbE!5*4k; zWY}_{FyVpEe21xy0!~|we7w6u`Qwj0c?-7Qo6vCc`(EJ>!ijF>4;s9Gq;jwDS$Xfb f+7jcmZJqKyui9+u*Z$ZID!e^i{an^LB{Ts57!U*_ diff --git a/kubejs/assets/tfg/textures/block/buds/template/medium_bud.png b/kubejs/assets/tfg/textures/block/buds/template/medium_bud.png deleted file mode 100644 index 81247589be00bb371ae4e70f9349ed0256e415bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1521 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#mdy!G%?lE(n!}J$=pyk)zZXV z*TTTeP}e-o$kM{d*fKTE%mSw0B|o_o6yq@cDJ1ImFUm~M%uCE6+Z<3n1SJ(KkIdqd z{Gv)|P6TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1aR>ZqCo0|UcMPZ!4!i_>o>-Q{Ff6ll3VL5=00mX3$c8M8MB)kIjbKV%-(siCd2XUU?X#+QZnzF7FLVLpR^-6a|8sX;%?irF11dJcx4m}ME8n0}9O|31g} zbGKYe;!!N<3H%nYvE6u0_{yzcqgJ;p+ql*3+)n16S9{g7*WN0d5Hu;^TqM)x)scm4 o=U09I$`#xok<8Na^Bi+6!wJh?Ep{!d<)A{@)78&qol`;+0GS-@9RL6T diff --git a/kubejs/assets/tfg/textures/block/buds/template/small_bud.png b/kubejs/assets/tfg/textures/block/buds/template/small_bud.png deleted file mode 100644 index 3b53e65d76e25557c7400d6eba0d2c3d13c8f845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1490 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)2mF1Uu5#*UB@mxFj(zIn~p}R;ePlKrb^h#mdmk(84s)&{Q`m$-+?A$j~HF zH!01`QrF1TFvZBy(89TQ*hLD8L>q68JrBs&Bk#+GNK=HW^R5EaGwX(i=} zMX8SIsd*&?QkcG-f{i{XV?sQj56%Wiegn%PWn!4}AQv|f6I|Ya${srfM4^_Nmtw0_ zq-1Y5f2!wk1_p*IPZ!4!i_^(}{{OdUR&D5PbTY^~u!1qfuz_*Pltc;X8HUNn>T9Y# z>|$6F86G};;l6!x>1~OQ;uck3G$KB(i`^~ZH{Y&TF)ugwY=<#V!a3H=x=&9yBi{V{ z{5-+TgNNlpZ1W?g8NCK)jf{+VCQX`@V8;=^uSQajotYuU%{xGUbw@v_)b(`rb6Mw< G&;$T}iP^XS diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_black.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_black.png new file mode 100644 index 0000000000000000000000000000000000000000..d9988511ee65b2ea3adfee5e01683466a3d94234 GIT binary patch literal 1032 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|WCePZ!6Kh}O4L<2_mr4D{P(JFX1uGZ&Uk*^ zQft|!DvtdH7JusYfBsu%f4_eJ;!mGGu{q9c%br_O)}itcACVP?qmfQQT4dGNaUrT+Ku}SHYi9nRP1c_* zl$tscZkvh!x?LDM{mq-4$oGaf4?YbiIEFjr;+GqYn~u4p{XH(fZz zXhW&)eIp|yCr3v{hQ7xag2K;Cy!F}bdTA`fxj8zEH!ZvVqPp(NhwFxxqW>F1v{)ND zSmso7ZObiwRKaQfT>QnW-KQ>YQc8+F{Or#ExVSjJ8!z5zEMH_LcVqVK*})9E78ZBh zt59ATkTJEG-^0bCa8FCuD+}Ja&W**lw^UXGY~NI0{kyVH({dxl zCVIFiP3%~aVWRc;@#81YpR*f1aD8II=k4vCu{O|4QEAV{|D0^~J~MP?l-#>q`FHEz zC6_a|T+@k*KXNa#xcsK7ak2XL{JYN%#?IU_?^W1$uZ1(`NtyaCn_|?)5cQgW-K*~P zdhyCry)IrYpL+f_|L2?P?Myd!e?Bf-_NIb?r7Sg7v7A*~xw+(*SeP4|`8xf7v5)TD zi7AYo{%lqF3ya^j4KLZ3iuB6w@p-&lJkaZ*1>eaOBZe1K586-4o?5i@%$YM9%n7&6 zl$<^qS66=7xOdC<7{kx+=kxGCduUtTqqzRtKb^mJ_WKJP4jppJ%+_FiaCem)!@d_a zv%6kZBrsiiX|nG1qOE2O>t3@l*mQhlusJ^OMT!xpL+%q^#8#mO8$SST~APj125 zg(6Eu^zFV+Y5X*&I`~oh%^pyQDLIw9TW&qed?4QT!&wJ)?oLnR{nJtvmCl?wv*J(f z?<2+U&Nl>ctu;*+7M9-E6>1_Ss=uh;zGmv0_A+)oUj0WmZ$>76sbh-Je*Q1wach0Z zr>wVMTb93n-^|PWL!5W6vy9aTmFI2sM%9lWKlbtO-85mwl-ZxTW!C+=wA+EFW&6D~ z#SE_}7FcX3Ont=mZ*Tm%*k?DNpB8oaYpu`1cISP8_BqCoxVU+1_E;pj$1QsKMRiKh z>|fjSU48g}DAxTht-5+|zv`{o$^VQ0JvyJZ?(oA6Er$~&-}HN0$V{6vXU=c0rT@A$ nu1{WDdd}? zYtrjxd@7x_jL|^Gf8xoMoQ5ZlwllQsp11g#!~tU&|DCgY?#x*kpuSY)(&f(o5zGwN zmC_}46>eV^{q*m&X<|%`3`MIQmMj-ufBp1Z{deKL%#94EZrz$?Yi8-*{N1ze$47Ox zMGv_I{Zjgr`z~ZpG+uY&?)$2EyTHS5gzWt5&#zuSPgR6VlR-{X_3z%;KZ$?BT=@jN zb#`6!)Qmk;?^IlD+}X-wH=lq0dG{p6$9>ASb5+EQ)~s1`<7Un^vA!bpTc73}6Y6HD z*c-Rql!rN#qx{{wud4)n{EubaGMh28YxBl^2QMC59P!L7UQJ!&3AfGL?-%dgiz_85vDUtbv&=ny-n>tBfnt_LPdGOmynm%7_a=w$VS`T`zK^GW zgdP-J0m zWO%{7KO|`C9`*w_FRRD0%LvX|7P|C+iLcJ-TQ_s~m6{GF994ZWKK zaXEZvmM`;%drylc+8hleLhkjsWPHGHsr+|y zChO7**RE}Q?)#lN(C^iphAWrKV=7digw)E?mzQ|x>tCO@aqp?l=lYrq%(V-<{L3vLI`%Kz zv~y>sbX(x(rPp8EZn3{Pz(<>ik3JyM=j%*JET79(-)}ef}eMFZ&MLxldpI%}zzu4eNgHWc$!_;qGnroH}urN8QDnePuta zu0LpeC@h-c!sYJ~f7ZNM7JBZV-Pt2oV!XwETr5(s;9V^w7_zmhCo3STR*Yr)F~j7n zsh|TWw)YnpMXz0V_WQ}T&n*8Ry}EnCZH5EiZNomZt|^sJo^o2$WkH12(b~kG4-b!? z{=c$-XM+9|jcKPGGImNha`Z1)CB!0TxO(j}8RW0@y}?R#HtJga`&J?0(kAL`kEh#NKE6nV(_ SbP@vt1B0ilpUXO@geCyvZUCzQ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_cyan.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..5c893b678b0e3566978fb8b9c95b93be00485ddc GIT binary patch literal 1018 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|WCKPZ!6Kh}O5$&ic!w${e@f{Q1n8b9x(eR$tnrb3w={Idjj8rG^WuCa`>6r8dp1 zYQxI#y;(ND^taqwlbQ5r;XajDjs|9OT1Q!KGx2^3TiD2wc5{1WZJIp)0k<_54`l86 zu-Erl<-GULzt`4%wpncZ|5CS?W=8(`2^UJ&gm5vW7Yl2uPJI5bT8_c<_Ol4P^N0S} zEN^dP*kNye{K3j#56z!XUb#!LPsuo)Qjl%B>Z;bf=NG4)OpsF3w07MZbnLs0)BSuO z2?>dW%0j`zCX5$a4;Y+1_PLRU- zL=<@*7ce+VeENJvB*^R4DnF679qYIog1R22pLpKTtl1B=zu#M5z;OQajeFh)Hgz1Dpl|=5DR=waeSZtPmgEMn4tW`IKP@GtW#2-R z@bxhdzkYt+c%Cox=e#Y`0FgEc4Q= zlQx@9oL#^FB7>Qk86S^ASD$mW8MlLuYWC{YIn%uk_)SjT9QmkfZjeC2EVV>|gs5wF zkJD5hSsYt?RlsS(TZ=zNw!99q9ET??$u)od@jJs;3$+imNs0_B!d5eQXmZxb8%ZwG zShRZg>{EG0|FsTqpSSbP_U1lh5-}rQW%k*GNU=i#5n+=$Pg=J)HiWNCxLKxL*RXNB z{_21K>g+0>-*wJ!y;0VcBi@~|Ir5OffkK&*Sa%ND(_TqYV$ri_OYHi0;@*9hxXRDG zS3{VV7O^UpXib&sJmROw8T()tW9ibsJGY!J3qAQ<*<_){bGVjUM_zj*!f;kEL|zaRa}eDr(SzLu6LLg&A0 zO!b~}N;T$st^~W|g%uT-3pGTzY)Zf71W)`Q`RHJ?X;gHy0T1(G0}iIno~Q3#b2$na zl)cntEqMDldrtK`nUhPF=JooU)Uq*jOjfUsjK9Ai;6$SkVgX)^hH zU1~wW1h1t{L8V-+Oy%$HJw5VLUDRu1d7A#+*_I*`%6?vAo$B%CPNfq^)a_dpJAMgR zPgR-gSN!{**W>mjaqAaPIb^`ol4xLDSv~({Vqa43d$}L`r~G)X=+1zE|JT;B2N=z+ VPDo>X&%nUI;OXk;vd$@?2>{5<*dqV{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_gray.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab028e61b608e141c0fddad80923a4eb5939f2e GIT binary patch literal 1264 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|Uz~+s_h=|`GH%vi zqw^;5=H+>R`Q$_7mWzrFTq*4Bx)CLVb4LgVx2 z&u7k@5ol9n*!N!ec%k%#KYwh*^|`C}=Cb9> zXU?7b^xRzQIo9QUJr5o|QetrLmn#jO$e71|-|o7nZNn+HsBEpNT~p=AJ86oy^>j>`v~c0Vb8;ud7>^X5nXK*~!})99 z`G<$w??+BqrnxhQFMBQXS&m%)CvW#Ys#VjA-8IEbig%GlRxoR{XNcC+6Hkkte69@d zipsveW|NJESof39m9M^9^~>1`F|1y_+PXR+DTyhWr`PSU=JlxE{7ni9986rTOx)bu zewAV08?yKAd;j?NKIZ=d!J9X4Hks|ascp*N5Ulp5 zPNy2$+3A^?nMFiK{yY?Q`e?VfrU;jO_iLZt+OMh)=hts5-F_ucZSiuODM4GJbkp|z zJh-xZQHQvG+?76g`*Uw^Z{Jz=_LjT$c^{p>-?F3nUqxiky}fkGIpLi#e447QHFExy zEf3jZV_msgney*lIq|e+N>Ix~w(9TS3=O}QO3&;Iy>R=wce#INc5vnDIFEz3ZpriT zy>rg?-MY(f)-sKyE3PXq@=$JBa53XjR_mWHpY?ZtYGSJRyUWYJ++5AD&tux%vuTsV zR=dW>>;J5ocSPmJl}D9w(hu2etE)VGHc7wnWm+G%_CikHw}v&FQ)}(|lEcEnKHBuZ zdnXjQRV(2JGEiJz>-Ly{CLO-4w66pI-Zy_kQjF$L}uw>vYhY zpT0Nh=!_-4u@Y^$?dMj$%>N&n;J#p6+~Te|g z`NQv9Qq9f3WhSms+GJ3}HF-nnkxzeRGIy1(`dZWKDYVOLslS`UpIYvJ>)&2x{chZN gp5>oD%Ri>A#mhIXmucO^z`(%Z>FVdQ&MBb@0N3(g{r~^~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_green.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_green.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8ff458de69baec5e1f324bd42c96a2056864e9 GIT binary patch literal 1418 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|Tp#r;B4qMC;pWxASGfWslnz>lx4cT3Q=#U3N$1o`oNi=d7-777osj4HE)XD>SoO zS@i$tdU)70h%_DvmR}KYdC|58FYbk+Or?>veXeu`kvoy9lyY?;bw{PDquGyb@^-k<{m$rF!SiB(WXeaP86Fri-*@txtixAq%zsX4N&l6#fl?+XX8IEjhoLIJHEo-t)boA{v zZ$dU+duSifAALJD?RUH8xBf?KSowoIp1G@a9-h!zUCwA>YB*L`~I ze3bD@wRNgrzrSrrn?{#_lEUerUAvT81Q^cr`w6fxy)$A>v7kyi`r#MB;+0(UL@A#d7#+mmV z_mrDVR@?kDkYQfkvuL|awI!LqP6(~2e;Z~od3M%rMz72kfr|J1zZP8WQ9OFEaFNC# ziNlY=IG@YB*ZD8|TIN{PlqoKWM~v^+o_l{SYtOew>+Q^hlj=%79k>{^aH~?6(jyBs z9_KlqBW`P*4N8^G);(wWtXTv%7;bnsR7~+^X`*Nf5pS4?jCM_#DZn-9p7oJP(dAfai{KMP+ z^^;GZ-+!UgE-9~~skQob#OocA`<&Bsx@VW4?0M>zDf-;D`@2`g`^Ys@EW&3zJb5x% zB0FligXg-q%Gvh&KeDfjtK@FTuK(rj{)izQUbyF&-&U{17a!cZn>tD5V5EDRj+57%?u;v4N}q7_l-1WIok3l#XRY77d#`x=?!VXZ`($dKO2>cZ_dCh# zeR;`e9+OFG@7LUW_AidN;dOcVjkV?<4t)J8`tJSviIRukPhS^!ceUWF2?3csh75n+ zJ-yD9ts6NlDL4D$A=7-90=! z+vGTy_I%&-@6u}apVNXK*(to5^H%1-0je63TWs+!4Jbd;AQa=!?!`4#gSL zdKd2BZ4TnPIIoIbUyy0(mER2Vrsw$$mrgy_+PAs&W%E()yXt)Jo-YZ@$T((6#GAl;Ckg&q+#4 zpWIBJ|NDvVy>0IQCLJxjGq0vigX`nH#ibnrYtNY-TeS6`|5p2JO#eAweZ6n+(LS`E m=Yzxp!vo0;|JfVrnXd&!Y1fo8Y-V6!VDNPHb6Mw<&;$UIRJAz( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_light_blue.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_light_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..cf473a277e7f599b8ae2fa500642c7ff46ec7fff GIT binary patch literal 902 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|T>#r;B4qMC;qBu^GYX636Q;EuTMmvSq7URI6KHxW*-|JRUY?bKMY@po0J}{ z<9T#7pe0r_Z&U2eW7)Eg*rNq6^0ie73OIJJSn$BD%XF=LWOdT4Idk@?drpp>GDp?- zrpM*GPwT(hy|29Y`TyMSmG{2y=#%@uO`|12FLTzh<*%(bY>s5GS#>JETuy*TPFdtt z`6sWB>#ytWd{%RDzlWI9hWzt#OmE-19A6Z(v#9h~%ymJhg!Iif4y`k={(d-;!EcTY z>w_boC&n1f*G-Jf*cE3w-(%Jsi^?vSODYphWG7tOk=78;#x6K5)bQr69ij}@vkxy` zb#9M)=*HODdB?zgL(U*JKX%m`Zj0IE;QI1T`uyP zal-jIc5hj>>AtYHe{jSpWsaMVitm&|B}X6a-hY49&l_i_u^0&KI*{>&mz_^;na#cL zrSm7R@DAQ__g&TBRg7#-;uW&JOa^9Vew8+VUM!sa&-%S@9oR3FU-Hc@K@CV10J5k3)bdp&h%-!5ihK< zsb|rNj9F&S7k#>Q{cel!F?NwqwRtm~io7|jyPuRLFV*?fI@2xY&3ER4pSJ?8zKy7B zd9Hl@z|Hqvt5${7yghw_V|6%7Mpl+n)UA^r9|(s3|2e;F*SoblD$=yYy07vmq!wFV zn${}VpM2!8O0edw>H5mEPfrwFv`A1_`|!8e->+|dx;g2;L}lyxQo&WP979D<+<5Z2 zQhi~0F~4nmi_GPHccTTSg~oJPGdRTU-!}Q;#zHIWYYVirW?er$f1==@ePL0vW_vF6 ziHe#Pm?D|@|8w-c9V@pdslRJ~e~#P3&qp=#(RabwGh8O#{qd*H=kk%KO)pxzFL`?{hG+J)FZVTh8`vC}7cgF6$YA)h|CjWW&>*Q|q1Am1 P3=9mOu6{1-oD!M(u=G+abkqmFH-xKmY%y3}E z-rv7|iQH0PF)%j2UGU?~9i6U4Kid6${7io6o=)2T?M<2yZ-318Ssk+MslQ%LQE#5T zd0O@*GoI#tb@dzDb&efB?s-I*VZ|!0hTPi>Pd-^*dTHW$I3Xcn!CEG#yd4Jn51bNT zU025anOkT5I+Gj5#hdHWIxCtoOuTl+eB%!b74^N$l=@D1g3%%F%;sC43T|(VHk)QB z%X#P5C$VX%hK800mw)E2Ydd~3+-}#SbZvfn3yT%+#EyMub>&E?ENxwq_+z&I`gIH@ zH@^O>7gk*1Rh^qP>#h%*B8&aqy{9id65_vhJ@cFQjcvWFR;_SSmEjZSYY%LFr7bMd z^}KRkYGh7M&WG(&K5_8y@iASsyT4s$U47Bt8%jE2-FJ3WDo2RN%$~I@K!d@+#OBCc zYx^KAF-8el>8JnnziUqQT5~r#IisS3TU?*%YS`oz`OdeuN!QF(h`Ijs(hZH%^K1KN zo(<9xliX`_?EC$?_L*ll?cIC!#Z$v;b^F-&%qVzSB9*cBoAGl0-(DwgY-2f-Gi~l% z*|vM~YSUL6=}-02{bv1s@9AgP!k9Z3U$E)2c8rXQ`SNL}4a2fbrXR`S9E=WHQ<)Uz zbudpj|Md2;W5R`I|L-Wt^?$r-9>0BkV~yVVd-v{5^xIjv`M!y-%<)W#%a^7d$@^ar zE%`Iy$m=BzD}o)YlZ3wh7kIh5;NPC%A~X zO_l7ar$yYHp`m|EBl#OSOithA>wEm8-6TEUe@TcItGa;2rnb$`&t1A>D)ja4r*AvW z_dY-W?Lw(+D95DbL4UUXU6Pe8<+-@seZRd6hhkLMtB7q*7uIFJy1rZZuI@jtr9poS zVi{zXe=0H+V41Zpcx6aH_SXPA8y1C$CKs}_D(1C&EDbuIcBLmo>#EZ4Km*^&|E^D} ztA2Gi)YRs@^5)-H{qOKRQgBx}BzyI7Pba-4K&GG70E@oOokzVMSWxB4F~ zD1Q7ffB&Ov?{=xrbh-RhYvV4lx369~y?p!DHZX0voy8&txoFd1tDiWu3Yb0)?N^MUEbwkM$hs7?NX0oue(ls`yu|})U6Ny dvot-DPru$lcNnDF1q+sQaqQwgY zB2`Iv8V9Bf^|9Vnp4aWm!Np{@0eE`marj4!{OS9hf({QB;gD6pGD4 zm%qAKy#Mp=-s=t?>^S#xb0cf;#z5fRn>4C4P^p(#PFNi?o*2eSd4pV0GKJ zO}BaZ9jkgt#r!Str`WUA{MADl4l)Vn@BQhO7p}W)`>&M9jr0HMICwRt&h${65Om4z z`l3Z5_bQ)9OmH(#$zB@pQgZL9`Dq;?lceYW*LWc4x?|TPf#sSEH}_qMT7AghIK)-l zi{bIfDFsn`Hp_4~e2=et9^i1iFd{xae#S>bhQlia&If(6ap!VWJ7A#IYV$kbGjE1z z%)7!J2kibPGJjsze%-|2`$7i2x(`wFmP#HpnbBTlaKO=>qcO-;_e^c&lgYdO{94+c z_QZm(?C!bECXb(=o!`}JA88Yp{wMfj@ye+|Pd7Kmx4gc#qiC;&RjlR>`|9t`dbOoH zWr|<_@-6)R?d_jKt=!(Z&Xs&y&To~otT6awp>%8EQTgLrf+l5MUGnhS%=w&q4|ZG? zUB0HZXHHwRyQXJ)I+KHtI)g>2^!?BLtZ%jruH7CooAR^QF6|lgQB!UFJWF)Se0K z`<`M@RsQ1Q&6mj`CjWGf@H<&q*S=X*d1C$boIjB#o*kDy>aw)5?62j=KezRtxi|mX zSD&-6mBIA*u@xET*3Lb~@3du7$d*M{BaY5*y)msb*3?_o?$@(Z3mLYryI-Sle_m3=mdbMc~?c6qD18TiunnSb1wUxRmnHl=kkN;@%7QW4$5q8FLPenwb|}`@sug9 z!IO&i^K)$SnUe6ot+P4(Z++tF|F-iO=78a!c*cKh%Tn%p3b09)GcYhPc)I$ztaD0e F0sxU<09XJ3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_magenta.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..301b27722792446279d44ea97874bdab4413a412 GIT binary patch literal 1011 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 WtbaOLP>_Lvfx*+&&t;ucLK6V8L`m!b literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_white.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_white.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3df449a7b139d36b4d569472300bad7f22c036 GIT binary patch literal 860 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|PUkr;B4qMC;qB8?%E0MUK_$`_60X_s+B`eG&gaV+$XbtXJ!#Fs%^5+Y28gY!Yd| zv~nF6mtLuGi_=BEq&BC8364vzF6^GYqh%XMtJ2G}zLW3ldt!N{`u8Lg&%oDH_~rK8 z`MkGyU-3Ij^>fdjr7f7k zZrPlFeDksT9e+E9gp`yc3;6_>iUfHrnUb+Kw?Nq?JNK=Z=9Hj}wUM!veb;6kdbsha zIA4Euj+f@ApEj2-U*>IG+fZOIIrazVZH9aMYPcM}EohiBN%?7X<1^dpfE5q7IbBJ~ zYdU-~ltVGV>tW@*wMPQiNiB(4^~u{^^!MCK{plO-)a=tr%go#rNZohQm%~z4r`wDB54sjWB zZV|aKEs*{G_qEBIsz%XA>{or8;eS=F#lg!{M{KbW%UaeQ>$0m4q+}_ytgtMOoxX3M zoy~b?&7;$|nmoGX+V;-xVPzce_T|gj8_Z9iX5bCo%5%z+yW zW|zE|n@yiG>Fd;`ZNwz|7Rt=o3ZetrgTAB*)_%;W)-Fk5;NymU7aYxD0rhR(G2d@APk+S%9vUQAenxCgO?nq2yU|?YI MboFyt=akR{0LYh&LI3~& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_yellow.png b/kubejs/assets/tfg/textures/block/decorative_vase/loot_vase_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..8cca48bb0f370698f53b0015317561ad1e18b2c4 GIT binary patch literal 947 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|Rrar;B4qMC;pW`?J+tC63!0Tkp=-6Fhg>xVIuwwrTn zzx}M6FaP<>jN8BOzrGtCZxm)`w*BX~*XJ2MJjGt^`}|HlruJ3lW{=~xJaMNltT1HD zu999`$GvWq`j_c~*4%fRs^cHkdalr7a1ou!m~}9DmFHF-H=okw-*2zq-=lniDSYbj z-$L0s*CJe6H`zS<@#B4;hxX=q?GeIBwU2JkxKbv#LhJrt9jy+oV>9x$sK`wd_^okf z5<|t;-tWhR1q5Aw?OCOzbg6Q4PF`XRmyC%e`-W?aRvj_uZPWOfvNTxlbn>;Z>uhXY zHnV^82rRar+|X*5zEF#EpNnf?=C!1!om1@v8*hGBI?wjt?e@dg_vd&X*s8#AOe*VT z_vt9>xr%K4T|zaT#nYy=+(})Y=lonJ`H1b0&vlPq&RM1uG(Y0>^0sK9&soVj7Cy=k zJ~2&q?n+#^Y0|<2OHO!bP7?jx7~s0 z5-wBzHp^S{mzR~9v>ce+|JQGgjeKp{<0~8Hi!yHh`pG-$y6LJe!!(0#j%!gphAEN8 z$7d9ro0vLHK~7HRlDV>wtBbFyK9p5&t&c~kFUQ7cf6c(_ zynP)LCKY_ReEzh&*p_rhjwk0zA8Za>;VKZ=rKG-Da*>h3q}_X>t;HGNYrC{4Y-G-J z4gI+9kVJEFUkLje!xc`8(>M%^`kFVX2Z&g*6|YLq4Oz3bMd8hT>p$WJ#T+JW%8QIX z=q)o@(H>pS_b>QCp99ClDYL?6EepNhVD|EK zaSVxQeLHpIq&qGmuKicmSF4nzw=U0dm$pz)Dq@?@uuzl9uAyVfgd-vwgO%(W8nlE~ zdHi5B3U+m3@;21F{q(NkCl+JtNxL|gyqmfusyD5hCr@c*{Ob2_zyG@1x9|6#;OWn^ z8K$k4X($S3QgCCih)rQgxj84k&YF3_id9v5eP%5j3~NOg;{SdKKEk1L{`&O}+dtd; zt3^UZJGQ%C>{N}qt{*Du(xaF++46b8y4}jpW87z`pEtklFfT*4W4o*4zMDahoTj-M zU$~bk5_^7{{Oj~|wN=iyZvJJQP*-()L(J1DJN#~KcRiR|x%Kk46`D;c85fr4t!eAL z)>yOm=C$U`OP#)rUtU|QEs1ZdXTGE^m$iCfPf5_7H+SZDuiVW(VfL?``X{&r7x8)S zKKHl$J?CPkwiE4Q`h{~@^Q|iE%(f~o@xA9C8}HGn9Lf~xdTmKB8rV_$>7H}>zPioj zYn#{Z=w16(Dtwj7ncv@@FaKTrK~4K!yKm{##K8LEQ-UqFpEQzBJnTiAQ?uR@X0^UV7n7Q^!-ScFP;fY>!GT_!k%ZNA}*% zwfr&4>|J+NLql69b%?Dg6Z?=ymu5bDl5ylg8&*jC{BhEJGSA`1r~B;+RvF5i(MfTfE$O9M^XA`QSC4Xy#?m$S zaw6s|alCL)^~22ouK=%wXWvNeoS!^*HGk|Rg{XpaM)j-hw2!V^u;$I%T@H_CT)O4( zg7s&F^v~BeTjD=E^f*fU%DA_4pV(CS;z>% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_black.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_black.png new file mode 100644 index 0000000000000000000000000000000000000000..bb841e0acf96df25bd05d325f0c4376fb59df521 GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V4mvf z;usRq`gZEsd}&vSWA(<_+N_o07nf)Xb*=Ti<{Ky?Xsx+-;-df+Jq@On1uTxUi=HkP zJ${HW@L!{l!>S#NwoKg-vc&hu+AAO1?p?a&Jx9wmt1#;5wkvAOjAc&n-8&NEyR_g_ z@yxsB&*na#`90Zf$GX*wVs&*Bne+epJv_zo>YB;l_WHxya$kM5TAOg&?B~k3Z+or! zrx+P+-?2j@%4(~F&K({F`>Wpf|E<3erMxudUCewzrIrO@t6k?j{oH=>mV0*ZV+)aW zJ`eU5%$he(?yttBOJ@w?);VORNf=sKtVrMAH_>)mQpa|SDP9+5s8oO8apF)edvccH z{&&yiml-VjoarW_ai5vgApw3%twRZ6%XZG9MH0OL@ z!Rr0Q&nD&B7T0e#x@P9fN%y*?^e2?H>S+aFm z!M($$MNi1Ab$OP1``NLjJ(ijdHgf86{mGGH(^4nOedbJaKT~fbcf2(A?XGoVCsTsh z9UGokPUL7&FOq4$dNp*(6b{7;QJ)`IYwxjtI!j|lLEev=U*9yoR>^ut-Pu>no?hOx z|DCqg?)eWLzuNhgs|zpRCoH{k!i5Qtat)=j7;gK9RMR%b{#fM`|R8qDTKvi@xT^7C$D>{ULsdL$TufS7x^mk9AYJ zYVyUEX8L3;6*>5ZNB2fq{X+)78&qol`;+0Q%C+ A_y7O^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_blue.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fb804e7ba0bf52c63060f9b70375d52b3afad5ad GIT binary patch literal 936 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U{3OM zaSVxQeLFQiBRW*(xc&EMRZ>rXO=_9s=uvRt5<4eH>!Uk|?;LKi4Q*9i9Kz}7C3i|A zIWN#nHz+H7Q>3@%W)aP$9&&e<1#PqKu{jaPBl1gR&6KcHkB(hxuS&dm)Ay0{p5xWG zrLXb63f?DBw?F=!<^K2Y?_0WSPe08YGa+b~uMxNEn^mrNr|HbIZxm?SJel=XS@B%u zQfH0I=dbxq`8bmG3#)$FZFb(vz@fNdwb<<2yN@VYF$+vhMCe7qR=Cx@Z7VAX;-ONvFr6T^0wv zS#{LMsxx!eod0#X^JRP8E^gblP3q;#-yFtA-q+_88CTyCZkaqY+W#q+PS1~Ug{j&G zb=#Jwp49)pP?rP>a{fS&Djfc1Jl-VG-S^5ikjA%$Fa5SecfGwJ3pQYy}znc z_p7Y6ym3?DVvErIkke6Toz2wv{D$Cv9E2jF? z+HBu&?9>a-sV^UdH2!>;{K74G`BB3fd*gq1%wm7Nd!EKHbEncr4*^Y8^UcR4_r-;r zTeo!5yf@F=`xTcy$=%EGUoD3{%h$cJ;dJf$V&(u*h8h31>`eSowfXsEX4_Rvegf}) z79?EHy0Pu=d}Duse;z7A^Sr&v_2y1IDpYT`ZWUuO+bgHK=$qZ)cENkgPP~meyLi7w ziMqCOMv;kFpyc=d|6X|;*fZZwn5msKOYPN3e zao`u9<~7fLt|H5eckh<{?q%}7{#&{~fB(`rKl6vDCoxNG|5SNTut0nNv)vEQu9M!A z)R)PyzxL;@=P%2I_wiUZgslvbnwI*r&cyfgg{t=s+jY7_*8No3t$JYQ#(2KT(hRw^ zwR;=S+urAL;@Guo7vEN`+$|T~q;t1?-2X_Pd&>-o4Oc{Y7#J8BJYD@<);T3K0RS=f ByVd{z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_brown.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..e87b0ef87003a3ed1f87cfb659d69588bf98f614 GIT binary patch literal 1045 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U_S5Z z;usRq`gWRcMog&4@%rcYzNZ@HKz+RdFIu%$~$!$cvn z^y0JydcuxEhI(2zrivVy8YL(mG+i+zVA03by1BDb)Qmsht6kpxed5d-A3KvBC*|e7 z@2ku|_rLz%^E94o%xm_9-Ss=|PxqW{xny>)xIg;9r=#Z?_4$6e z-1^nT5#u>;>5sh1-kQ6wO*Y&9ZaII$=Z4+Fd6W0v`IpxCe16YK{<*JQXD_< z-C6TuZLIHHlGa>v#L*|1vy8d&>5L59?3cQ`xCA;EKj)EoC*2@x@^I}Z9r^RGzw!0- z_%~@O3kSD&m07kHKMrP?BR$_GbfvZG+BNFg)0T&O?W_Gd`AA#U<4^3->i3!A9~^9a zd?8KQ>tz0$1C06?8})NGt=;nI;p6_)V%P0wit5Uyy}W;0c)hT|`a1!vu7Zy)if0Ng zJsC5B_v`mrFUq{;ady1z@ASQtquHspjrotQIrr=}-=Dp^f9?}6la;kjqQFBFzAbhY zyLLx++PkR6OZ@s{)qg7dO5M&gxAS9;N8L0nCgX5`h-9KugLQGmJ`z#y-CSY zo3eQSz9a3y^X*DLuQ!@2JIz@AQ}x5X%fDY-4UUS<6)=6vIP1(>!w6*-y+?Cj%5UOX zAA92U)%E=!+<%$}q*gWBrt&Mi=eJ#Z)y-i^m*7b^an~IlAJ-i02>8HzO=4OWaNOrbM|c8E%!p}nWkmGhiIsgdJl*B^lX`zS^?QDcUGDO@NPV| zA&7rsn{z{y#KstIi~6U_ZFfFkyc4%FSnG#{c&d}jqo6C!?hll9y+1wiv#wr{Qm9Sx ziYrng+?IEK1)s@d`Lj7fmBYEICC0@gy#9q!-ksQ^QVXv<49>N%VV>AD@yG8CA-M_P z?l3+mEq`V(>9&#a^GBhNs;3?GnpAjr0mGq((Ikbm}6O)#2-pd zUfZ#S=QrbGrIUd%A9`E`9RdzSI16aC_TAaXX>ov&@5BDba-CH>lospf?_^+LVDNPH Kb6Mw<&;$SqlJ9>2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_cyan.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..17a0ee42a7102f901f97d9b42d28340a915d6202 GIT binary patch literal 1005 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|#O& z;usRq`gZE+?3hrQ=<}=d%RGr#ve+ZUtK##TCU=9@X^KNZwH z|82YfxaFk_JJk;xaCnw4apZ7OVsj`=7QSB0=`AXAn8Bg@XvL3;zN7K=$#1?$Fnlhr zPyDjcePy-XW%>B27AjuVR;`h1gI0!Z@M(70#T+YkBPz4d-Hf7=@`d@uBw?6AUtbMYQ)!LNHugEa5# z@_zr(v8U$W30{xs_i8nL)PzsWI(6ue&|KNK8N1p7LPKJozj~u~HA-}4+M;90>{SUL zjtD3#t5?4NDK7oK@lx5mOMdf8)S4ehJlXzA!^w?9(zjpXi^RESYE}wLf)xwCZEsB1 z-*-8raLU{y-i4<`yt7YiYTnwe_!GD?e>6B7n4J;E=jEn znUbO7XA%G4$_tIFK{E|FPCP66Q}LYdZn_-*Qh`IZ($e?uXPubv<=SfhmfRv~hE)?f zmtMXTAEi94L!kfo%&09Je1)AjYWf8NLPaB2tf~3@c4Epx*KRT0s4YM0KZ{@1o+$ZE TOn(Cd0|SGntDnm{r-UW|a~akC literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_gray.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..0abc8922bad3d95325cdff0f5e9756bc08eafe2c GIT binary patch literal 1247 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_light_blue.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_light_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..352eec261ca9f414f8ce6418d17394a81dc76e80 GIT binary patch literal 914 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VD|BJ zaSVxQeLFQiBRW*(xV>lIJIn9SmKkpKHuDIdp_HdotmN_iQL~1|+kk@Ro$Y;!)j^Uy z8`>2^x}<04^t{wqQBt2Fo5P{?)m7rvoJTb;?gX4@iw?V%IXgwux9Go0q?G)ty}8e{ zw%wflbI+a6*5Av|y|1o&UViRl?yK9u{k1K3srEz#+q%jAZGFrNCCtaoHqI5;7Msa&?f*GBhF|P_ zXKMd%o8FxNq+9+~Y$uCDGefw``C~KG9WIA-d=<){?(uL{QGA<~3Vv@T0 z$_2^Xex?M=P?MEae`kf<{NZzaj>Tu`D+`>iKh|dySXZCI}h??*Tnx9VVD`i z7t0no)i-fk*ON4_l68I)tfoHsbwuQ~+{;A~TAz+Ao9i7{+T753kWnxG-_dMu-6QV% zk2hLO7TzxT;_b4q4IOGa|5%jzUmZw4d*t|gvoznu9>tT5M;-NFc9agQ>Zei!;Hn%tWw&XDwOfBb--pt#)U)uI!$ge`< z4gVhq2ALaud3)oiQ}yd@bLTzYbwZVi@&6-Z-S7kdn%#Fy^kXh4{v*cyc7C1BdrLl^ zdGRHa(mvGwd-ttM=T@5%i}?DOrNyo-6Q+19R9d3)^Qvr1-iKqW`vo&E-!!i{D6Lb% zyt4Jjrzef6`K^=Arks4XX-(JK17$jS{?h`Rxs)UvE|)m`OTKVuZ~iV0^-r!#I1DW3 zx&{83!Qgn%XQNlewyxys9X2xT3HKkcuGfeat9JjVz0ZI0`m3c26^{P#(vOu-&sFj} z!SOjdhkJL~o(I;&zcTJ}c*f;@dbCr#ereV8rqqcu&rP0r&Nx_WliEGMol!?i=CnEK z%;eM0tK7VD%Kh&5Yv(P0y|MiehvGyf4u_>tUuEXiq#AF%_2=jH7O(&8_w6QFGdR4A z+ugQWxPHUJVpFHkiM!5C&CU$lCcQ;6aT&MRL^IjYzzwHApZ~P^e16`EBS(wVr>lDG zG!9NlH954_hfk14;O&bA0UD2%yDhak{c&UVyv@H0IPW^VV2hvs^F!k`=Wa3Gs4W>E b|3A^6?_jUF@pBU>$1!-i`njxgN@xNAwgV3GE8 zaSVxQeLKxNM>PR5cqj$E8)l{^?tH)LNm z%jFVU%2~*PP(WHM9(QUdNc!bMRu@ zR@b8Ag|E!S40X9@$o%KXuAMtM-QT$EkH{m7vd!)8_de|wJ^A^k4a2NuKlg3uVDLGA zZo%?N|DIjmY|Ic^cHzIjl2hsyW#_|dQm%Dq8C_o&mzwj1=X!pP|JwKk4@3e|SRwxO4mP=XO5Fr>i(w)+Zj+ z4EY(Q81}{M3ol>6yS?8HH%ET5w*1A$zN6@2@|m1zPoqzN;pO{qb?bS>1qI@Iu`O&l z^?Rz<+iMEm-oju!JGHWM=Je|78*4)5oqqc2O*)_5=|`7>LIryRw2!V;*lS&NY_s|4 zPM^yxA5zU%O>sSH(DUh8Z0gg^=5Lp6teSrA(R%ZjuY5i{{CV=3%m(w^e=)f_Qc0hq z_GiwT!sR#BhdWxNtn%5WEC0RrU(aHi7{+*(OPFJy;-T-4iuEhLg}r9iRMX;XzIDTC zWkhOs`2iE(eLFwKUcUI7wdI`LfxnOL3v*;OL|mWpfj?+X*_^WhS{8MaqPB92P0Clw zC}nNwTa$4AU+tB9QjHICD__2J-;3}m_!{u+Pj=P)@2{~_uRJXO_x;KUS&rtSc0JbPiKdf3 zUcbH7!gKHBz5X_xt4L;dy-!giTVvg(pz|Ip9k(07zWRm_oR&#mWM zm2yKSTK))WvR=JC^ZFwdtCA@#=gzjy|2Uz-WUk7_<+JUliOK!pIAU_>$ds7vKD%1p z$$M@xW)uywI{IjTIXBCunWFOx)$gaOYFrB3-CNQNS_PV%|>cyjL lmmXbJad6`QkN1zoN3(b?4oXNDXJBAp@O1TaS?83{1ORpG4lDow literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_lime.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_lime.png new file mode 100644 index 0000000000000000000000000000000000000000..1626155186e088c53a1ff03ea3feb7adec77ade2 GIT binary patch literal 1109 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VBz<4 zaSVxQeLHP`zKpBLaeHIy^4;b4HgA5|BP`=o_pqf+%~gO&QAI$*BcOqSQ#Gu`Wjd1- zmlel_iyzn(JQi@cwgf0?OmNV2;u7}|IH@u%aE|iM8z29ExchI%+`9{Je7@x3REeI^eR^XRY9d%~8)DtvA29 z{p`}G$3=7x*6cm~u2V3K>FnQVnRRzwY{;K|`nLRB@h1(tc0IZL@=M3;q8}(^*ev|3zysP zX^m1oFtKT4QR5;JpDI4>#$_3ujd#6y+?N03yfVFpq37fi|FgHu8#bwA-Vf`1`01>k ztL6)rSx3{39MYY?Dfgi}=heX3OUsVbWSMc4voo!hcjB02a#W(@v52ChSEFB$&dzOf z`__S{idr)=ep zqX!*kN$pDPQDuD^#CT1YSNZJb{W6l@Hput=S@Yx90=9%TNsIT$EuZHx!?wmzX76mK z$BWGpcd6Ms9Gs+};LCGr634`i5jpNJ+{zA2nLhDf+AHH3P2s=zVy{2F(I>kzkD;L` z$5rBpMDhfu30wtpeBv|}OxafJJD2G;E3)gy)HFY@_pS2!ZGCjzw+qv^S6i|izpnY=%+B!Mi)}Z>_3wmoE?v9Ta#Q^c zm2Ah$S2k2>s;x?0=3mFr5PD{l?cZm=ZN47%W|l9$Y`o}VhQ#^LpF|g3wc3z=YWM3W zQOXilQw{`tsAo=%WV)_v^m1y%T2Ain*kkUwGS;^hb2-)a3Qbde5Vp)R{pqHhb}63E89nHD7-X==TZR zv2V`Y9Cy!eA*W6L&d~5;E1R&S#kTjg#*6K}p+fcN|IOo!iRYWKcI^WVPwNXNe`nlZ zUoN4$QgOFc+U0M_=k`=H{hC_v`-$Gh@1L8uU%i{RefInY^PnSvlbHEKGJY9uQ{AY0 z(E0n+%%6tQr&!&*vlbk=Y`@R!NkU%Lvp$s~;Tt3UPLxDmk z?q?MXM$G?NWSw*-@XWPaJIcP@SYghTb+%xEi`a)r~=ap9jy9nxbm3>^^_XflVx)S{FS3^_Xq!^vy{U{%`$< ZRrAv2{wiU`R0akH22WQ%mvv4FO#l!j41oXu literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_magenta.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce09f0248aa0b09a3df1b66dfd7372c0a2a6e84 GIT binary patch literal 1027 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_pink.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..729671956139ba4af2c8d1298d6b87a4d64e3150 GIT binary patch literal 1203 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V9E7# zaSVxQeLFQfMU)aZ_oMM-nu*B!lxXc<|zpiCA1Z@Y8o7Q9er;pu=KP^Ot_)e zA>=!urCrg{L+c2CmXg|$?FYXw>$5tqTzxfyML8@ZOxx*n-t=v|jd#zTDQjPnp7Ce!t0`3oQKtvyrmsPIhO+AV{~^v6lE2>LqCjfrlVEoC zC1OYSaGhW*dLBK3mE4tZrM~;C<{& zPt1Yy@--)xgs$HEr0Uj**D_sAS`@#1?ihq}d#s&5wcR5V!zr!RQ_yXoUTrK-Lf z-)W84-U_M+FxJ)lmi1@#y~?)hT=N2Qzj%&N5uUw?L6(lGy# zW~xrk4IKuXJ3nVLZz!vo(P`eR{McL2`w06KP0rv2nMaBpzpimD2$)p2X-=y^-oCm`Qlypro?_)U8Wpy64v1(tKl%ew@V z8983duPxI1SK66iz~FHBV)5dC52D_zj(qw>?RQ1aVeKDXpD5Rw`APh+aBQhb1OFoTerpu(Fv#iAN&=5 zXJ?w}Cb0(J*KS{T7oJ_8bbQiMKeeTwFWeHJVU%ek{Or!J`OhVidkl|BJpO<5zMksi VB8&Ej&kPI<44$rjF6*2UngCEGKmY&$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_purple.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..11a01152fbc4f029ffea7cddfbd7d5507277c688 GIT binary patch literal 1064 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V1DH3 z;usRq`gW?nhfKP}v3ldry}Q?WZe|hDp7zL*KkSH(tA?(|6sLt@0-e<>r-XGcQPj=l zPd&Nzf^$_zKvwR{u9hWNR6RxSMo&HzV35gq?8YtUAOqDTrw&8Y*Z*d}zx^_?eA&8P zSs!V#g};szGt}5s@yA|gv!Wp{=d^X6TWn#~fyrdnY9U1yMdO|#74yyFKYuiDU$I5^Tur%rga7^NX;W?< zys58Wu;!6Po7xWXKa!_6ZF%=DFI}BcDW%Ob+q2(Bd9q2?`l|H#91CQ2uMpZ9!?#rA z+bz*^^Xd<*ymilsRj+u}e=aZ0yfpnqudS|z7c%6JGf^1p4B;?}NcBhF7E)7~am(`;0@z*=5{-=8v zZMGKgdu$-GF7eGJ=U+{8*W~mF#IIlO*SaED@zLu_!P&TVIQS)v+f5Ba5^yzQc_n4Jp8NR;0=eQST zM{_gOC^f`~R6ci=biZCYCCEdwJ5HtLfB{cms0_P8!n3vCuP>C;IeqEYty^<`{`~n? zui))-VMZgPmx4hOPSa%;Tz&H}?A!4@-e(>qvhG;CuIhXm*T%gHf0PbdJY?REZ>M?w-gPv3re*h= zP50UBA8({n&WNx4reE;sizM%Y#fuMjx+rZ}`F!?6@z8|B?{8)@+^X5@`f=&frMb); z3j2PgF)=J%#ua{=LE_loMJ}f|nKT?b=GN|Xemmbnfu{1+_Zc4inLM*L)N9N3?UOxJ z0=z2!M{SJAao<{*$X0&kYLfJ=|2GS4t(guSxX91=qs894&bGnqLeP7gU+M=Rp8C@e zyW{VQluvaJzU|&`6@T)4-RAPz`4PT1Rf_mtbI#`a>u{%%@s>7&kIm1m1;y3ZYYI;^ z#3U-t{$Fi4{n+Q7)49J?b6CW@Tz=@pe~*)~#ot-Wd)c+--3;F+vG?ougRkSLnc&Nzmj*pF`{;>)LsiVyjJ&p!}=h>qRd;5gxYTm_m!f>$20EZ9Fdox=d5qV{G&0_wV0+ z`OmKy*H8KURzUdiYiljX;cgO`uYHY@mgNXKiXHCuyzgyfP~ zjzB*3)XHl+i&{%EIp5pftNtdp_QHfoy97d(xOkmhcr)_jrK8EUK)z+`#O zJ9GA;MCZxfeZ8~WJ#WQI%{DK3aDtOjq5b$Vjzt`rs_P_zye^$He74W#WO@3(M@RF^ zgVu&^%=9wtt2X679BRec;?SyCIWPHA&k8G+a~lgwMDk^{dR}Z14v{eW|GYQa(OdJP z(}TH>r@oHg_~o&*k4<6YWNZHqcaBK(+s_t$zhnM}c?-9=aX1RNMkKG`;aywRcFwX% z<4{f2x{?JAuN*361$fph)iIhDB(!VuoZkKSZ{@ELo9%``YTlg@Veeo`G?qZ7sdWblH5icW)JYZ~H#azV%|) zuYYW(wg)sGi|W>LnXz1R*=^PK=vDG3OxRT>lv-Il_p;S|FWIG3vi8`)moGzoz4W%+ zR*5PO=9t!^a8@TX>1EY*pL(n3e|UIcvJQYBp&o<(W+kGO9_NbbZ>iBNyEc z?{2D6SG7BTF={fisHSC2^tAtMvLb9uiXXPQXIy$I5Yc@_>bXqf+GCd|PcD~uYrRy% z{r}qath?@?WKulQ`e5R9+4T6>w17DsSNHw?@A6J&D&z4}zpdZhGi6v6x?!5h`Hhio z)t(z3$!Kw`;N|`J=jZ1Mvd>Sx-uV7cUF${ndO<0JbBf*j4~U(4xqH{|b_Ol4g{wke zl&yT@`Sa(FWlF3Iuek)Wyo_e~IGgFga^cd1=wR$kk$DoqfI73p>< z>*KdJ-g$NV`;)bL+1QsYd#9=WI^ww1wT*qHf7btyHmKq#Dt^rXDt;I|UHx3vIVCg! E0KRWBLjV8( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired.png new file mode 100644 index 0000000000000000000000000000000000000000..14d71fb56b3712e84067b1f7ba7a2cc7c44c34a3 GIT binary patch literal 755 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|Q?x z;usRq`gXc~wn(7J(R%C8W$ER?DMve&c};9+{UN$#+Xv|gE-j9%RUu+wVNFUN2i!gc z-{{z;#BtEcqw9uFBd;WPd0AT7y@)sWw&$x&zG;5Y&wumpe{Zax&ntgloAdheclk;S z8ODN&4g3d6WEdCxvSlzc+s+`dX8p&nhus+_SuiTNCNJ(~cTj)9u;K5Mx^Afz1r}DW zIukao;htn+c;sSAjLpW|^J|ZF3I?*DSG#QG{(8>_$Jculd`=wxaAU&vUA0xkk1~wZ zc=|mr9$Om4{>H=h{g!B>@G|um-?)}2Ezu0QdCy8l?#<*y+}qqI8-7etT&Hl#al)!u zBClV)+i?A@^rv`rb%r%@8tZmCOntxI&*P`mKemvWJ65e(CDW;voV?vdukxXkZG+Y7 zd8eCPJf!(`gseZFx_`S{$vWCWwDRgh&0Pf#W_Fs#7q8_=ojiT5Hn-=+H7v0m!fegm zY5jk#UvlQ!EO$#;wcy>oH^1GA96v1+$=oTbFIw>Uo9?VVtPG)VZ{M?yh<|+hxqi&P zqRgEQ1s0DI^4Avy@=gEhyH0xHrCo3RR+i?q*j5!R|N80d?>(OqxKCf+;x@zK9{>65 znOk>%mwV>!Za;nA)g7X@J1*@oh~wOqcK`O>>s!xn5PWbZ?_s%3WXA?A*Jt6+e?CxI z;8{JlPuV#reA6d03(kUjmhPcfIk>KF`h3H;;nnv!@{(8I3-Y`_i zyLHWT1UG+d+T$5FSDSsxbHl5<1lGp3`Cd3t*RX1T5tDWJthl%Je|G<1K4d(*OLtP~ RIR*v>22WQ%mvv4FO#t6sVtoJr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_black.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_black.png new file mode 100644 index 0000000000000000000000000000000000000000..353df945cdfb7c208f0c76f3cf4d69dafc5d13a0 GIT binary patch literal 658 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|S$br;B4qMC;oy?{$w11lH`ZcHufD8d1cel6P?J#7z$v-XxkgyG_)2ntncM*l{Pn1LZ7jlm%_l%Zjh&c_NH28PELNxUvB z3@ct+MW0Sy`?V)R;lHZhhm*aAlV=2-dfL%psxkje6nFMpm4i{%f@)7{?^_owouX`Z zY{C2AGcS}UD6%)`%ntXycIcJB#g>qkB~6Dvt#d5;yGc4(E&o+_m*5fa?oAJGNop;X zsl2_7p<$7R+D3^FmwxUO7Lq$$-Y~txSts;}{>D8!zqr1+&CGDTBunFn`p5G>@4gRZ z^zJr{{k!g?$~I4jh+V3RE-i&J6QA!q{c-+hTg77?a~if5bFZJ$!Ey9whax+JoeZDH zOjd>sDfjF0BBxc@&A;*f`+U}nwI8eYiZySll*pfTEOPt%Dc7RZ*Q|T}ro_s(wwCeb zz0RHTC;pt+bmnN^@x^aJ6yvpC!Hs``1VNiV*! z`u$P6afR7#=Y4*cH%S`oxb>0^H^a+1QnaUK2^e;8{9HF< z!f#8%8&{auh_EHgEaaFJaVc))lh5;h-cpjeZFs_N?#2DbmKFYqKT!V2e3!$txQ Svl$o|7(8A5T-G@yGywo$fiw;P literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_blue.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfc5afb848f3b8745567d6f2ddb070a2f02ba39 GIT binary patch literal 729 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|QgHr;B4qMC;qIjd`~X1Zu@JPYN=Xe465W;#vL+u_xxY7`{rBXkN(Im|(wQI-je+ z6aFS2)?FsCTUSk1XE$hK+oT#4)ZSs@dh(N}$M$`m&*pxW>pxyDb@#4os?2%@hQKW> z3@V;%3>-}S3;1LzCr&xp zhSz0Z%cw5m?(^jT5fN5 zJXJD-VRuQcQ_}(WNlPrOsumZY`9E`>gQ1e{g4cJ>d^U5v@yI9O1Y<*d%pTYIkqivE z-*TU|J!ILweSblfm8FhCUwB2ukGoPK`r97|Zn<(T*J|mMRxz{r`=!sO#h-R&nsv{+ z;VpYsUBSB-H*VfsUbHt(zD8U==_psE+Jw|smF4dOw;cKVH`KJvzKmO8vvh{^@paZ_ zJg1fScYoh_UFD>S=k=+zHGiDN9nP(}P?jxn=5|r7uZRGPT;&Ot#&(Oi#C<<_BKMfY z>kpNS3)@&v2*E;P;2tV||Ub36q{zuDdSz*vhSS@hP{1B~^<~uRGy7%_&9mlg;(3 zFN!y_g&t4|7l`DlF!{ZfGvFK7g*7|Qzw=-^cYgWY`)|$k^!HEg32psc6U%!2^FfK` zKEaE(yFyJR9w+o1{Q8Hja{fN4E6jHa6}lH~i~f3MZe8^&T?HQXU-QZ(1w|KcvavAy kugTW?_&-yea6RLZWBpTJIXY@HFfcH9y85}Sb4q9e0ICl`hX4Qo literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_brown.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..2e64169b4f579fb982def0c7fa3b8883055fc7ff GIT binary patch literal 746 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V0>PZ!6Kh}O4ZhTX!B61CRGy9*=p>KkRuKF)fu_2nM>gv3$>_Uq9%Z^+)bp}DB{ z??J_mx#}EE6=p>WO~;p7USiGBQF_9$^UaxeQ7ZRSjBe(n9lH5bVZ+S#$@hNWJ5ytP z@cQG$o36iQV9-0~$H=hwAp?Vex+X(H_HJH=8#&uP{QGd!BE0=Zcj8K_zPEoKlL2c$FA+J+ASyZ3SF;J3^)AW_&T-IqEnozM+ ztVOR`p@=~samNe;+0A!3b%TT+ai`smWq#llUE7e5G{7yv@N{np-!d=kI6l zFArQN^x(er#vA-E{s|_p3nP#%)N~PYz%W>|98`V}?Z~A+G{~cC~bicsTERJWHm46G*`#Q{7 za&EfMoFy+xtt);$;|?)gX>ne?pZ^?d-+6mygEn{mIm>2q6!_0QsB->uOniow>j(e&o&0%a$BKoq9E;g3o?kF@uh^bc)LhJX&hpTTjSlZNufKMSxyf+Fq8Y2F z?PLAC`egKhw9QM;SH>zAxo&v1>Bsem*H-`ZA6R`9_gL8Vy{FIDhJk^B!PC{xWt~$( F697ebT%Z5| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_cyan.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..75d089e4bfc6128b47e73d4aec1b99beb2d4967d GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V1cPZ!6Kh}O5$4D*EzCEDiCxoZ(LmCwM0=dFww%U|BVtQYn(c+Z$IQ9!7EA@kZF z?5(_=qALx=j(MbJO;6Fd5Hj`L$)9}-Hx|x)Jy%~#dcDZWkKga^T_6AZcgOiY}Y7Ox%?|@Y0O%gfAhL;TxC8nW3m+2N6$4J*2_|2G#BI; z*<4LMu{BO%+xe$ahmDw=UY}}NQ)U&jO!Mtl)9H`x)u$FcG3-6Tx#E`j?)wWn0_OBf z6fyivs-CS@&gc;N`&;qv*S7a+{~r2#Z*LXj;g22XkK21Se|wtv=f#sNTl4k@rya9M zlxJ@i+r8U$Zo?A2g^$x*!>w z>RU`2U0K3jr#JAWUf&pU>TJ2Pw?I=^Ogr~lSL*(8ZA#GCU_p2Y`$Lk<#ZcnyPY5REohmbC)R!BmRR%J zv%KlMRpox%)MHcPctq%8|#ORi?rA(Ue^yk*Aw>J9B zTDx*%!@sKYS1Uu6yIfbl+w|jl#4D?R`VY)LvVZKGG>3Vc?QaGK1_n=8KbLh*2~7Z& CMpnK6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_gray.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3f061f367682ccf233ff46b1616709da12cb11 GIT binary patch literal 673 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|QgAr;B4qMC;oy!*!1g1Zr<22VHPEWvLN%OV@&pwfrH+9W~MP1vjQ{YfW0Jo2j&u zQS(Sy-ABpOo<0SO_TSxiszS~9{NtJFV!!|HyBfvJuxb?(gNZLQLx2|}L)Rh(h9{MM zpMT!@SjqZto6hN@GvqVZvUf`Unf>-}ErY?a5@w-Fc{M{eLAKI!2Q9A`7Mv>;`m}3Z z_WU^=HA%@luXgpxX|Qq0whAz_-+RqIIjC%s(ZrPke?Rp#)*jv@ot&_?b!*v%`Ar&6 z>xA9xRX&}}-!9FNur;bQ$CD-L`|mD~Q*-@Xm$Szyh6yJ3>@T*n{OjhwW?P$pON9n6YDQ$Kg&!%ee`#~(1obSReRlfW%lH+Uv7nq^t^2Xk5ljhRzER$^Kclh!u&zbi4;|w>2IWNltyd1N8=kKpOY$JXC z*7?cao(JadS5W-$`1kfD6$j49aZGNXq@!9Ht;I53m(?}!$EM;>&jJ@$UOC_SW6iNC zCufB=8dxr_ymG*3woJFvPM?X7G?#lT6!RX07RJb`K7T=T^&~n!5hGRj=7-bN=s~e$GHGvE1L^j{aFbK-}U`ng-un#&$pXSO_O9$ zh+V?a5W0_v;mBeM27{aP85kxNHhtEAZaP19LB9UIc%EB-Dz=^3*1`G3{^so83<}(l z{1Sz4ot170%y4WK67aer(;{T*6!n~cr`mJD>qj%I+ zH(QP@mRMcWdU5l_Z-)Dg)0?g6ClvJ=wFhnY3netNj*^EmIOtWegMx@Oqi``2N9-jTRuwE&;8!LbFoeIMkGhVUMsxUo?L;QNdcjA^`F_hu7Cbxf5ZOH`$4IF Wi*C=WI?BMnz~JfX=d#Wzp$P!c13$9&-y9k%C*=7x!ozT!MxRpOHTYh zqc`ivtKK@*XDSE6?w2~9F^XZ^(R-ui>_i`xRnN8*zv8}rmzkmbWk_&`-y-vSyUzDA z<#g-C&Rwqk@LA@G;EgjGE?do>V8OM~gJoUJ?sY|9?!PoXm@1&j=v#XE_1bQOqb~~- z*%|)5xR+b9lbhjy*}kuL=B~A~tNq(JySZ+6!^M=Y$Mci3C&=X;^FOvctK{`$qv@?e zWk0?&ZvXzQ_NLkbyK32lbIiN!Ek1|7IrnaIk=g96cBgOKTWH0y^W60L`Al%xuH%6X z+xy>FGXzXKs}|9pD4lb?P`_tOqo{>_ce&*HZk13KU-xg<-|yVb@cfKw&hoYe^QZCa z%d#E`d{A@pNFc}whr`cL6c_JRPvv7s=y@#7@b34G>W{a2Wu?D0_~|VTdEHYeTHNZt zZD+y`+kkDtmD9LVRyIrt+IjJ*YPvFeNs-euE`>KtLT9VOH;w`6I;{=)v*+h$7o(KBm85}z(;jGV*{Ur8R)?&E_`}+52XzgBl{?7Yt z%l*DFH@sah`wEBAKngRQE6vU5sg|BDyQ{K5U}$uxnqt2_5FFfcH9y85}Sb4q9e E03;w(;{X5v literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_light_gray.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_light_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..418b65236f3db5ba09563b87a8ca90566ea34ddb GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|Qfpr;B4qMC;oy!%2?}1ahL?xHwMuJUae?y*^>}yL%3gX0SM2+P&&G!}|plEHjl; z1D+lbIwZYe@zmZ4sju{Q_vM`RxGQzGXNnA8yPp>)!;05Z3>UWPGB|KBGH7%$F-&-F z*>^no{BzNacX`{ro$6*z`P4bX;eU#JA9F*{s`STmqUD7IonGl>^)wnTd!EqqQt(pw zWs_-hit{?B24&1Twp&r&==wy%Z%-VO4$X@;*0rWvuK7PU zJWD&wn8za8t1Txh;|Lx^*W~QI3K6~6jalxfiY>RJMK6QQbuF;X@ zn8QB3&e;{~_cb%sG#f^)-CC!#xH9VXcNQM!=fX-Y4!5_>IRE_G@wv~xwajo!VQo2g z);2%TkbQq${=DZFbNwRpraxv{GR0#4`8Z`=yDisCbECK4 z*6cM5yHU2=_uA`Hb2SCoVh&E_3x5wvY~Hp>$2u!OQ6)6AbmLNs9FN15DdJ8En{TQx zTqu30P;t6|XW#1?#d22<&1dn+b$KGMb@TOCDSd@opSky~QrvNM)BX34S$3G(vMI7G zneyZ7Z~naR)(i(`NHa8SJRY~nM`M}qV`Og}>-|brTzm9MZS(B2DQ0u#%Co3_zIX2X*=pnWz6Ia@ znn?HkVrV#6$x)vM?~#$iR%li z0ws2ab3axcPFg1+8<=bvBori?Xt+mj!g|@VnHnct^y_|B%1`lHc423cM%JAP|NmLC zGThlE{X8d*>C~s)ejbLr=8SP}F)ooVDT{p0O}9>;TE@?C=lK$`)*C9{4n~`oacRu{ zVtLi*qISxcxjtXYn7S5f3k$jLp0O-^#r?jX{=ai$g=@GbM&6uiZhe1S$07@9yC)0> z`sHk$r^Ycbq&~ghgE_Vg@o_KfXO4xpJbI{w?U#Cf*NK++-I|%-xX@s7{YS3gd&z|P1XM&^Mm`tx0nTQt_i%k{YfnT56h87 z@9w4~1s*TBa{Tpk`329485-hb9FAEuFjh!BIy&2V{nrNF^9{c1zHU-6KGu6yT(R{m z`|oOYwKpzylQq+fTCd%5S$s-4eKp68CoMC57zIP)x`QiO|9BNny<5py@#jJ3=eu>i z>m*D4Zb>dazPiIlq|Alom_)?M!`E6*EuFFGpagp|kF`>i;`*X>+pL&vcoshUd?zpS z%;Bu+RXPi9X3VU9r{%Jb!_2h1zIW}dkM)e^o%>B}`tkzT2>LNFFfe$!`njxgN@xNA DoY_#h literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_magenta.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..2557f036f14ebb3b4474b9e5a3fdd35121ae7dda GIT binary patch literal 748 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V1MPZ!6Kh}O4Z`}40DNYr+|_4a7-%M$Nf%5&V!JdI67;E%9^Vxh3`njRk>pScnf z9HvT0N>0!^a^%9=;G?{6OQr^_pR;P&&!^mnzZTDxe{QjS)5m2;?oZ$I{Q3F$Z)Ixk z>ZU#BWOz{VUVvf3+@lN(g1;CVzMkb}aHzL9@bBAqSHCSMBH09W_SNqAd&=M$|&jWjQLV3uYIy5IQ%Ed zy9P5H=uKEFvRUZDmVKvNLZ&~|IxxFqbw-iODWR>;Oo~@=-@eJruzlr~RRVKe^!KEm zcVqNzHVc(~p4r>8ulsX}DP!pCSuGt0+{KPY>@JIa`r`ge+k?vlH5r$cUcMeJ9w@r} zaGMOnkGU6>ODwq=7Obp&z4PxwhW&Q`9sYkiTgJHgBa6HJcj@LYpR@i{ybsu#w>Ma9 zXUHMBnyQyI)t}a72tU}SI-^DK#h(I;;EmhA&l6X_Jo#F^rS;;qhqfJ@aCS=k-9ua6 zDSavY|CgJcq3ckN(_^z7=gWmM9Pc+JwwAGSghUl;e~et?;S+84>+kWnhSF!Ov&wiE zZi(KvXPdBs)BRr)1Q+(-tY}J?zppU=JR?KUGX{oZ78|$=t{-h*UiRcbm+6AZ-j$Wj zNjyWaLT4xpO8g<-G8^PWADXIL6&!cT&s3 znDT7*W$)P@zR~!Wmc(v@bNF1xbHg_opk7?_LvlkSbH(-QmsV3@YZu^GiRJKYK4XuO{c}&yy!J zb~vqB_&7$9^lSBocLJ{p_ms4C{ zSb6yJJ?Q+l>d?_BORL1)9;;eSTEqGBWw)%C{iYG-^72u5RC(i?s4ELspH7tEaQ^qX zoaew^YsZ7nR2FFMf88?Wa)I=O&?BiKt}0zqPwuq*xkxX@pI;$XYpc!?wT;~QcZ=6H zta6>cs_)WM&C_=UmS$NqKD`ji`LWze#XR_3SXTW>}C_b9>+2xcTd!=fC{+&76BiPg~9ZPb)92FxS7me!bq=7u(cRmjx-m z`S8^B^&iWhYK-^P+N~0$e*OF4a{Gp#-23N~KUO@BTigA3@tx8GFATE(7jeJdb9%$! z#p26#8*J9|JEcnJIbAK4VLP-Yd!gP0-(#eR^_La+M z{#$1GvzL#4Xv`OvdBCp5m22<7(YVoa(MOGI7X_S@S{A%z*M8#rDr>dWgn7qxPIE24 zdj3*&*|K9yyY}vT`T3UPla6c4PCtrIUj6#V{)XE};?G<6S{JGmzG7ftVDNPHb6Mw< G&;$VP)M8Tr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_pink.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..b4436ceaabc90c253ecf2bcc7afbace02b22c2ce GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V1^PZ!6Kh}O5^XY(#Q2>g4qHTiU4h=ZmRm(!x}tK8!lIQ47`pP%CX60&Z^qYL5= zk3=gNTq+s*RtP!CoH{9Tah0b?>eKl-)0~ZFe@#nXzqshJ^-=4`fA`IuIk#|+eSDqQ zygo*T$=%ru4JW)97`mMq9P-!mGkCCB|M>dSnjvA^mzymKKi?gE{XA~1y#Mj+BP>;F z){g4)pY2I{?bi88QLywwsgb72k_n>hnklXl6XSjJL@Ld_L_V54-!bdX8qT{d4JQ~6 zB)`76$kf=%Q+?fpNfWkxIQ!vRW6jqM{>6N8DGyw?ZF|>rV4KIn)u$89y+kUl{_rwL z+^G%NXvw+ZY58OUW8UqJ2i$TFiA~Hr7kcjHlMwNB%h?+aEDiEiwCaqjm|b_BYlH5t z5L5k4rbbo$;y25f&Rn?J!cy1~8J4uY-2dl`_b+V^E)~>dEUmo!d2P4B(NME81@?vq z7a!VHSh>mPZDwG|c^m!Rm(6;|pFhke4_lvQs<1lt;`Y+39v+{r}Ti8Q%8Z>dNQK(=Tm3Xs}puX84Rx=N<|C zcK5esn6Sx?<68C&mfIHZ+&ZJu`&c<7*6!d`(iZi+JN2x)uGPZL&xN){JFmDi&Ag8( zLdJ?;Qmp;KO9_3yxJ0x0%nU6vbaQeFrycnI@!^lT($?G7GWN!BY!o`dlv>>CpIGde zzkYv~gZHORCj!MRTLiSEa_x$?bv5|;X>`lHa9R7EYsFrsytO;dzMR8yr~cE9Z@cdv z`T26@k|t;Mpg<05L5bv55_4I%d^)BjwX5Uk=dL}zvALnljqj7q=7;;Ojz4UcAzH_< z;qO%C7h9cH=FVb`n|yfxv9QNK_BY%<62I%pw5@$Br)_0mU|{fc^>bP0l+XkKb74;l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_purple.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2257408291bd89385dff1415d6f329361a7bcd GIT binary patch literal 734 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V0pPZ!6Kh}O5$Hs%RCin#WdAF~eAS?c-F< zA?5Hg^9S=JKF6%!oly%H9GSFO_I=;Jec9q>nUnqwpB66%#$gZ^(n>3FRVlNO}_N@ z4<}2Pc^h60)jQsm;q+wk%sUB1!CnSCH90pwxm@z*vRb#ehHTx=xh`bhTdT_%oBxE&Yj?P2yXBhc)qv8e%KK-;GHkefU-M`a z%ayC&%@nU1-C<3UEfg*7d*QQt*6ykLzm-b9G8iohUhPyPwEtt??|T{x-X(g3XBTfi z^(yazTfW+Ytk}5|?uGS#u}a;&{cX{o|38ftQv@s-eM>*Te%rmG>$9K}pMw1U3YXcN z85ZQ#{NCAovElM$Rjf1dGw2ZyY|wY1sscMolQw@Q9<{g*w=0U~GB zuH+pqU18l98h+R0Sx^Q?%IuG;(u>_MZAo2U=YN=$C0#FYd$x|(?x)@h7_Rm=^Gjas z_dLeA-hQ8Aybgnb8oL7r=Y2;v!T0m_@+PMrmiutBcjrz=PQ_Rqk%?P%Sq|@AxcTm+ z^kQGL>k`Rxq;vHwr7a&!j!r4&E&Q!LbIW7VLvDq$ud;Ghe0Wm#c<#eW|=bu2C1 zSfp2y+$z8%&h7F#Fz2p-lTyn9>D8j2%xbp=@}JO9ir4X4z4d#AYZMt67#KWV{an^LB{Ts5Ze>eR literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_red.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_red.png new file mode 100644 index 0000000000000000000000000000000000000000..934abab209bcea5832b5aef6b5812ecadae804bf GIT binary patch literal 737 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|V1!PZ!6Kh}O5$HfG&+kT_m{Emnn{d)E@#PYh}oPNuwZZgE(6#aT|#xy{b)zJh?2 zg$UO{{t24d-OHTPq>Xlt{aoC9mrzz5D&;@Bi=ncfY^#%Sz_i zV->~+WhP7sb~70Sju|ri-YdsYeOGV(`SXk(%Y$DDlv**&;b~vH%f`}gl4uh1=e$R3 zdOv+uI<3)Nde%_smB5aanL#N_n`Q>FCbs=i^wq75_VTs~?rJxQ72L&lX#z9LX(iUy z(;GKgPZVGcQeL9jv}tdt!OnGWjhA|CRl8c1dWU`Lq~6lf>>JZAP5NI`!}8$gyFA5b zstdAeuXAeZ9}ad16PzCS^n{P*?q_Mw(&B%dlXLj>=E^34=|}EXyq=fM8p8YQ&8v{t zqDG%%SA8vGI(03Sv(rlU(#t97fhomz-rt$`;BrUK(_N*-*KdmkiakHnF5|Gz%693= zScZVB`|jS^n>SrwTzrp(#SNW=IVyj4>|Dt+>(SF6Z!=P&x8K$@Ub<$({qNsnQEN}v*?-S9IF>d!-tJJ^-NP2o-X>gNI`O$m zc-DQnkoe=dns0XqzGA+)WbZk3Veg>wl=}O3e{z2~7qjTq6$uf)(_gpFZ!qZFt3T7A zPg0#TUEY4-CLV^h|Ifv6aNggi+}!XzKd$;}v+nl>?{#yh>9lMyjAuD!CjaJp)wMF` zeKVHpJkyNIe(g4S{+zWk1t)pMK8qY$QK*}FOZ&&xM{1it3w`+XV#T-pvJD3h*u{PO zy;H#Z@u3sDHVC_MC~h$HH_1DCj8{>`iKFaLM(duF`)+0NpHOf}jZED3ERyZ)vnvq? x;ugq2cZQ+tZVU_z44$rjF6*2UngElKT$TU; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_white.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_unfired_white.png new file mode 100644 index 0000000000000000000000000000000000000000..fc53ff00879d14ac99746550493185e2a248d2c8 GIT binary patch literal 663 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|S$%r;B4qMC;pd!*!1g1ZoR&92Ri}=^fy-U~@gUQTs3R+AXI|HHri^G&6&CFtNU| z*#Dq^f3i=~;=6hCTc+GNKhON}%)%3X%Y*fovM`wVGBX5tF*39WFf?q^VPtR(d{AJ) zW3k>Ld-bYQ$0}mHex}TDcyIE)pSj^$)egny)0~x#9k}D$YiMwchvV3cM#rkW+t;L? z&xt-9mAxfbxjup_+vdf1em-ub;P(&e>^H+zfADv+~eoYe(!Mk@hIkq1UtjNn>iDT z#2Fk`)b75sNTa|;Ze!HiWvm{Wg?96sCvVwlf8V4x_io;DlVcHyp`oe2|L&VF^x;mm z@`G@`yYfAT*4uBt{q_2*)z0v+>!tG1U3Jc%u3y|Ez;yeq8FRxvd48u~ZyP_9p0VuD zdg#v-BrW*yxR;sQmoNvD&)f@FDgL-BqzQd#0AclJdk?7>s;S+%k9M*6GXO2Oi9f=?04+yU$)Zy3twAF_fF}bvt8+dl=_O_ zyfe;D{{ATM(2*^VMBXoAS#$mM#rI|MrLo_q6wElAD{>^K&*prtksG&1(qn6>bsfil zZ~r)DPn9;iMe>DXJbOw{8?bslWN)|-Z`m|kyJSmnxucoukLwk$t^Vmh$bTfv5II&qY2BMBktCjlC0e|9ZN7+F&2W%A?0n3|y{%6+_(X)4 z{DK6l6rB=2UELieT#84xF7)X8y1uzOZ(T~{E~A&%@+ZBw+;zYF{C;g~`+feOj@ED; zc=JrC!Ge?VLny<6gnEtxasM0E&%eK}HY|I7?g#7F3{IxU2Sk6BH~h@ZDtNePZ*H2NTjg9cN59pEgmAziOWv-{KiJb#4jl;`KVgC=;G* zaU#mnioa@=gO<~+L%QwT`5tAr+4dw&3p`}xWp*uhLuJZ4r|{{A7d+4YwEFdZ2AjGs z8xl4P1x&r4>vSq}2mcDKM@FlZgxofs+c_uZ)uC@+7)~tRsqEi>o6{J(e@=P5+JCCs%{@8u@5a2knCo}S#(T?#ix+2p ze)zZWp2~sTq7}kw6Mi2qoVsnVjqKCUKi41IJE!}kXP$L}%9%&;d5I@?uV;#r*;mBy zX^$Pp)Z7~_t6p2Y_*u^EeN$9nid&&_p-|SOUDJ3E&;Q1>#`gcBRoN^@^D2|o4}>>< zReij=;b_gNA3x@(oM!O2T*_EAkI8OP%=FKjH(ssVkjy*dN#?9qrRRfhrE!NJN^3s& zFQ7g4#N(^FA74!~@hvsERrBPH2;<}!f%SO{FX!%^KItP@+2S2%U#?-XsjQ0leK+pd z(I+bL;xZRrzS8(HS8v|)g}Ku*Y`avY<}LqV!@vLXU4{JMaOe3=9mOu6{1-oD!M< DT-#>! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/decorative_vase/vase_white.png b/kubejs/assets/tfg/textures/block/decorative_vase/vase_white.png new file mode 100644 index 0000000000000000000000000000000000000000..d6cedbf50f2feda31834539098d48da6f024eff0 GIT binary patch literal 807 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V0!53 z;usRq`gZDh?~p)|o!ptixj9e$6f=|sJ91sxrerB{ac$;X zIW2I){|45r6JmB`1@D+uctpzU%%^)7)Al^uBWC=)Dt(sxB*)o54;`3Ye9roL^}g@( zJ}YT!YcCAqV$f7&h{|SY5ny0(WN3K*n_)&p! ztL%CgquXUpJO0Gn_?YviPLKV-wQFI?tgE`OD=}WM-bioL9h{kbl~)y%l%xoIYu-F3 zax(qa>3f&DJLc~IdN38`z+6UzRs7!(chnc-}}W=9$oHM5#P1w%h_{} ze%HC?l$V<`oR_!Xm?Eu}Flm?Ps^|ArjNGpj8z;U!mUhqZf452CffGx&uJb%3BJL!> z!uYb})~(p2cQ=@hBpEW8^d>GpkYhXfhHgR)!^)*AXBByA{@n570e|(ykJm#MM8(Zo z^XO3C-|E{Jzjo`tf49g;@zJ+n1~W5rUn7uhU;%{p16IA$IEa)0x6!PX5n zJ-PoUIDGxS#IEsMaYZWAuODw(&)%HvdS%Li*}d=oJN^)h%2?Pc7G-fTKYGKtB|R&v SE-)}KFnGH9xvXU=H$h zaSVxQeLL-ZwyLYZar>*6XYTP#Dm&}wbfAG_T}7a{P348=4eG6XUpaobe<4}qKg-7l z^B1(ohi61L zuU1W*eZOwe)3@ajAzgQE^J@QzF>JNI`|Xr;{Dz&So_?D*9zU49-1zqyj+ryxO|E77 z-kALDzswPy#>xX%Q+OH-+j0U*6i!w$>A(Kz*KPC4djH=I5{)cz;i{{;3&7#FYU=mar-zO zX3bkFt8QgZjBxhUSLT*?{C_4?wDh}jqd-FHW@EX2cbiQc?H(&E{rf}8;qRX{a}_2i z@tqB1d25~7r?m6Wp)F`HL8 z(f)_jvuUkI-@BV88!1E{jADFsI=ELmKA=)!jnjvx z%#GKsnODC28qfMp*Uh1}Glg}kKF7WzDS_)nkMgX%u+BHkV9ptbXq`un%`->;X=cXzG3 zS@%x4>+aso3Cs!i>&!2h@XbBgCoOoe<3V%L+hbSt4m~XJ&<)Sq|LsWopPy$1_4il4 z_qoV?LVNoBpy##M%O>-!VhP<;CU!&T)vk|gZt%>ORNJa-++_H%cH^!?%j54wb@j+T z5xc6h?Ll0)h~Tl%!^aekSNh*Pm!RzQ*ru1C<3W?qoaevF?dNN9ztzn+k?ZZ`7|6mH zTEp>Ufyho(^bZbcjTc) zNbh5w<|40z3DHYfXNyN#2_-+88UOp&@p?w{_6EbYRe2n%j4xh2cmB%Z^!U4f{2Q&A zLf>Z0c^{N_t48hZZTrRTs%0B?Iprl6E?vdHSKIS_nhlSk&uzay%CBlgk~tXH#3t>V icY5cX)Bk<{v7McDbmLq#i+>CZ3=E#GelF{r5}E*WO}AYD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/buds/small_diamond_bud.png b/kubejs/assets/tfg/textures/block/mushroom_roots.png similarity index 52% rename from kubejs/assets/tfg/textures/block/buds/small_diamond_bud.png rename to kubejs/assets/tfg/textures/block/mushroom_roots.png index afa7d80279a4bc9b877d6b4518c7c722b3ded10c..20b359c8d1918a9fd09b7417018ea04489e815fd 100644 GIT binary patch delta 418 zcmX@dy@7kf6eb=cT|zopr0Poj_6eb=+T|>(d0|P4~V=Lpy3z(!#!2(7`RtDx)rbbap3Kh8pR=%kvi7AOC zi7tsHskTZ+21cg31}N$#zh^2*u}CyANj5h%*0nUUG}cWsGD*|5G)zp;}$Cd=fh&SKn+b5WL@UUEnZBAl1<2EC0Zwm`ssF;|6v`U)}J2Qi*uv)|gzs2%? Q3=9kmp00i_>zopr0RJA5TL1t6 diff --git a/kubejs/assets/tfg/textures/block/mushroom_sprouts.png b/kubejs/assets/tfg/textures/block/mushroom_sprouts.png new file mode 100644 index 0000000000000000000000000000000000000000..d7114ebbc2cee5593f51fc5a07b55c6693389052 GIT binary patch literal 1622 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 L>gTe~DWM4fBK|29 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/basalt_support.png b/kubejs/assets/tfg/textures/block/support/basalt_support.png new file mode 100644 index 0000000000000000000000000000000000000000..e606994a90a352e28b9d4c98363f86c86ca6cffb GIT binary patch literal 3049 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)n3?jVn?f>i_W$HY2J>m2rrT51qy~u;Sb*(b5Y#gcDJKh3rPpqEoO)EhSaIi*SpiEq`DaF|tMAdU*)Z?4 z);&?a*{7?5e)#OTJ&~KsUgNIDr`3RW5yMK}P|6Vkck$Gk$0|SF-fKQ04v4xe5y;DGF zn7gmPu91nFrnaM-`-n*TA>HIW;5GqpB!1 zxXLdixhgx^GDXSWj+e`(!m1*-AUCxnQK2F?C$HG5!d3}vuvK2M6-ZcLNdc^+B->Ug z!Z$#{Ilm}X!9>qQ&p_9;BD2g$$&QyxLBXadCCw_x#SLmmQA(PvQbtKhft9{~d3m{B zxv^e;QM$gNrKP35fswwEk#12+nr?ArUP)qwZeFo6#1N=4E~&-IMVSR9nfZANAY&7g z@=Hr>m6V`nXBLzsyH=FI%?I(prWco_=zA8FB%4&^7PwZF=o=XrSm+uU=^9yr`~dM> zZh@~aTxVV}Gz^pTbM-3{3-k^34D@qz;i`*ET+0ylU{zflQdy9yACy|0Us{x$>ROhX zSE3AaXhBYCF|u8y#i<}6uv>Fd()25GAvVI)yLVPo_drQz8X_K0+z*lgdlzPGMQ#DyTojeCZ~-YS@b$HF z$xki?+2rYBs|0eORZ4zxW{MSY7-l8R%LXm>cMt z8<|-eS(uq6CMTOIDS*P;$}zyxR>?@u0Ll%>Ni0drFUqx53eU_-$uBR4iic$8rUsWJ zf&$6V%)r9b(9qP<$js2d)YuTJA}qD2I5R&FWSF6Wo{^D~LQ1lgTYgb)Vu`I%W^Q77 zs(wLUx{?AY=_TB`fEm)WnkfqLBRj99t!j+Z2rS3=Lp8LqWj? zl+ax(O00bHlfgQ{8d6ih`A-21z`4*VFF&|t{PQ~;L>R*A`w$SY1POHEON3MOYH=B1~m*edD6L^83YatpIG0|O&NOI-uA zBy(L8Gjjvoq%?yhUDIU4WaG3X%QVxZWSIWq{Irtt#G+Kk^whi(TP63*+yZd2P|$#; zPfeK0@{Cka;xjNZ&^0vDHM9sZG_W$Yurf7QLP`ywR02*U)bK}|sey%Int`dVd76cZ zu1Qj&sjh{gk&$kyxk+kTqN%xwrGYWbb!7X)GQ`lr%GAWl)R<=eNHR7xOExpL)HO&o zPtr9>O0v+kG_f$!1!r$FV-pKAQ$tGqVPp_uXlZ3)W@T)I>JJ-zP!)%q)@(o(gRd_} zva|tJ9#)>9k|emapdcqRwFoJFf@3u}wGb(?ZS?WzKr#(nj^vYI7`g_CSdBsG!3r#U3RFN7I;E;ld2D!L_+CBQ0y1LDCOPpNq+ zwn{}x_I58`O-N^8V5stRaSV~TEPD1JC$pje>jnGBo1f>aRK$5O3pS@8-PoAG*ya68 zKk;Pt1IKsyCLRszoMX+J|I`$viZw)wI61uIJjGM?HGMzphE)3~+YR=*3BK&Ik?A}w z*B0E)miq8xM}9|}+O%$$Mcpg^tY2EmTjprHyTG)a>HNGGdKu?LV*7$VyMtPHp00i_ I>zopr0JhiS!vFvP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/chalk_support.png b/kubejs/assets/tfg/textures/block/support/chalk_support.png new file mode 100644 index 0000000000000000000000000000000000000000..40581305c6424c54c56a4b25ce48bd9dcc4275c8 GIT binary patch literal 3038 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=Bd6J|V9A_if*> zb^WCaXHK0ww0+ywySJ}xKgV3gz`(#+;1OBOz`!jG!i)^F=14FwaHeI3M3hAM`dB6B z=jtV<&bX_Yl%Z!xlc)1i5Y>HCStb$zJpoSEsq}eKEl#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj87Nw-=7FXt#Bv$C=6)Qswfg0nITAW;zSx}OhpQiva zHZdu`w8U0P32Js`K}oV}MG4$|5Fc!MaY>54XF*A_NkwjfYek8^k%57Qu7Q!RktN6v z5YOcn`1-@5DTyY=7G?&z$%ZB=x+WH;2D+Ap1}VD6MyY0I z<`#*mMg~SOb3F5kOA_;vQ$glbOYCnOK_X8X2dU>6#>2r0FImrWos{ zB%7O=n;9i18(SE_^!pcOrf23Q<{-NVWKK$Eij{$dv1PJ}xtXr9sd2KdNveUlZjza~ zrEZF`v86$hv0+L|T9T3iD7>v413Yb&jPwkk+<=_KlC=DyTwA5^%)FHR@?xlXNM>$o za7iL4kPOWXEKH1yj0{Z-jVz5#jG!vQQj3Z+^YcK485-yr87V2GBwM-V7v(0F*eYe_ zCZ?zA7v!ZYDS$%W%D*TxHLoNQl*Db748dNqaxO|uEXgkl$i$h$I9JhMY_VaH(LGm<)-$;>5Dl6eXx&azPEAfRvM@GHOiQ$Y=`YStD=AMbN_9+6%`350a?i{y04ECt z4QTq*gsCjgNChQ610w@nLnB>7ix5LYD+5C-V^bxh)Bs8);6y?Ve;631CMPGGr06Ck zCnoBen4~7^CK{L<>L#X{8Jd}y7^fu}n!;R1wm&RG3@xlo&8&<}Xy%Vp;}nx5b5kST zWW!`jU6Zs_6WzpQ!(?3}a|08L#AJ&UYQzW3AEs#ju+axqamZ=S22?Tl`eGzY8&Kt8 zyGY5GO8Spqum3J z>g+Op_)R2pUBW&WA=oh$giZ8~r-8`P@vboFyt=akR{02S&0;s5{u literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/chert_support.png b/kubejs/assets/tfg/textures/block/support/chert_support.png new file mode 100644 index 0000000000000000000000000000000000000000..fb2048c3ea47b8ae82adbc5b79f3852c3af32e25 GIT binary patch literal 3032 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W7!zEDWSbbWD$)cV~I`5dYPiaSHomisL8yLs^{hp!o*}cYhtv789*>>ts za`J`^8`H8AS5Nt*5g8dJDE;!+eCsSV(^D%i|NJ`lbM4&EvK&t?FMAqR)|~o$PK3## zvuDm_UOnHEv8YkOcGt@^^<{34r^w204_WbbnRn{P{ejaXihNgGXlXyQX0mXch+M?! zRMGcb?PpVM6>GHaygb3$`hIGj$Pd@TQ_mYt@mPPnv7sO$!h7n5z(dbAC3Ak~-ma<> z{fXI_)lVZXJZEY6+4yndE=w!eXo2`8SgGo)55*` z#rY?RA7a0(U39IC;j45(S>%--S&REE&)V0#d$CVsilm3y!>=y;GR36UFD%=4;r4mE zO>_%)r1c48n{Iv*t)JFmR@2hD4M^`1)8S=jZArrsOB3 z>Q&?xFo1xKeMLcHa&~HoLQ-maW}dCm``!DM6f#q6mBLMZ4SWlnQ!_F>s)|yBtNcQe ztFn_VQGyEP{zO}`=+Vk1nwyQgmeTsi*ms7 zDarb&IjOm+c_qdAhI)o@50qr4A>skW{U8~zcVWg>;>ZT>980ng%ni}X@CR!xwrleS!Stc17 zCmAOt!u0zWWu|B5CFUTz2V_o4W{QKEjt zD=C0N-paoyGc~Uy5tPJjl?=gNvT`m;O)SYT3dzsUu~h=OO~FXd&;XV*6clVg3Ej1# z#L6c>8LShmAvFb@{}jLgoC}>2(-rjLf;Reuv|*SVoRMFi2R8tkDG8a1stInUV^K+Y zeo?l6k$+NFYH|s&rsC2DH#aCXJ+ru^sM3>Y?_<$nQvoUttUNM{OY(~<(cKoDT8JbB z4ThXd1#qcgm6!~PyyC>N)D$JCU~)!cUV3VZt&%=WBoj+2Pc}A9G)y+L)HO~qH_<@D*Q)8O>BPG?`*f7!9Lf68;!bI1^#3)TS z(Za+`H`T=4*vQD(GSMI{nHv5uvNATXGBiW=hmAg{ibGCoHlT{Z*B2vM+JGt#D^E~K z5?oqPkdv8Ogp@wPu^OCOh!oj2`gn98nFcOL@<}iZT?51{=lp`oqRjM+694i%BAtdq z3&cF1%;eO(Vj|szrWg{cNDT>aNI^t{T--qI9({1D2Gqg<@!*Z8)Vvg1r6MJJJGHqJ zH!v_Ts1QzmBV5vTg$dYt9iSftUN2*v6_`oHvFsl%~FwXdDpIFYP>~4?DyZui5 p{$;t}F??73;%jat5wGumW-mw+I%B(ilMARx=jrO_vd$@?2>|hg>OcSh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/claystone_support.png b/kubejs/assets/tfg/textures/block/support/claystone_support.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b7fc585d261ebb0d0e28ea38b4c5a2bafd5f66 GIT binary patch literal 609 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/diorite_support.png b/kubejs/assets/tfg/textures/block/support/diorite_support.png new file mode 100644 index 0000000000000000000000000000000000000000..54a1640d33c69ba9deeefb73245417eff26956a0 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdm+fgWR1M)}51i$-uzClJ4m1 z$iT3%pZiZDD+2?AP=HT}>zXxd=Py`v=+L3=&d!R8ikzIB_m1oCGB7Z37I;J!GcfQS z1YyP<6SLnkFfinKx;TbNT;}b5&FG}a;bvdJc!13zr(wqqhsxOt{+6HI|D16~wtx15 zw|QC)I&!KWF2buM*d`ll{&M>-uzTH+&(jvD9D6JkeU#aKP4=As1*WOY=P%!hYbZKn w%`Fq6vwY=@mv3c%aB;2`fB3v}(v13*t9dtAD{Y^}z`(%Z>FVdQ&MBb@0E;zS0{{R3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/dolomite_support.png b/kubejs/assets/tfg/textures/block/support/dolomite_support.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a1edf905fbe21b99dd27d6a3ca4a46fef7d30f GIT binary patch literal 629 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXnk6T$)qz*n<}{1__U;~R1BJu<|e7L=ld}p)Awh;+&ghB=%yC8 zymUObboMr}ZC;x4s@mS#Ny@hWf4iMs;p>D$J~WOWaPJpto*9BXw#4T86LX3)Iu^3Ij7yz_p!cJ!v}h-OIe|&mxP*#SW=$b6s*GEOgeSp1PrtTzqn4%kS3P!P9hq zHqKO9F0x*8+a~R2=WVZYJ9mF8iFs*sTOxUm=due15s5Q(Sd}*2TD0Rxihb0<`>%d4 zKa$#!Eg3AM{A9z0TKiZ0b>**@{jTcvT&Quyrt)4i`<1+d*Oxu7m8-gUU64io;UT@B z#q0(@^nRszX5Vi=R%)?ZC-a!uoP3AV&T-`>@m!~PmR$Z&rF4Hv%d_ki^R>Ty+kF0` ztjdzro!U3B~T`7BNIRgU&XMsm#F#`j)FbFd;%$g&?z`#)9>Eak7ahdnnLBT@? zJS+zmH(RtZt*Ov(DEf5VDyTtHtK-<;=?uT460UlAH*H#VNlt!-Y31|U12=z2=?T~$ zUh3;H*U_G7uitu=gK^c?dmDeH*2gtvJ-&C@e)jY;F0FHST@0Df|6ohBop$fWclnLyq{|O9>NhhmFfe$!`njxgN@xNA1Pm6Y literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/gabbro_support.png b/kubejs/assets/tfg/textures/block/support/gabbro_support.png new file mode 100644 index 0000000000000000000000000000000000000000..6cc8bc7eb811b1639397633d1f50d7088b4bec9f GIT binary patch literal 3435 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/light_concrete_support.png b/kubejs/assets/tfg/textures/block/support/light_concrete_support.png new file mode 100644 index 0000000000000000000000000000000000000000..e24b8bc3c44fe7b01adb57605be87da714ac9c6f GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdu#id_r8etX;5T(Ukc!yQcKk zbvKuUIz^^4Ffb&0x;TbZ+~PeN$jGE1!hFDyX$I?^d5kF&9Nx_LeE(cvr;!9l|BbBw zCg+zXe!Qu?XvfQwy*+U@*9%^h?|gX2=d0_KtH!k(4(Rr?t=?-l<>A|+Z3a8uE>b){ l>#XCI*me3^S=Uy{*Ek4>D&GvB&cMLH;OXk;vd$@?2>>GqNml>> literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/limestone_support.png b/kubejs/assets/tfg/textures/block/support/limestone_support.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee73d1ae9e5bc8f1f3c5ae3ae0c10b36a14b36e GIT binary patch literal 2827 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 Zc?>jm$j>mH#lXP8;OXk;vd$@?2>?Y*)3yKr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/migmatite_support.png b/kubejs/assets/tfg/textures/block/support/migmatite_support.png new file mode 100644 index 0000000000000000000000000000000000000000..b07b09d506ce3f399084b87a44347aeb020aaabe GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7wtKobhFF|#o$SqbM1jY- zcClXi)vI$FtP42(?gviL*}LmPq)QD`pKQ-DiSYM-v)0~yWV7E`>v_Vt;>yPscE&Xq z1Ap#$^H(ah#Q0%ivzo>8s?~>LL=yz(PrrCi?|pa}yrHYpf?OZHNb zJ=Ry`C3fHR>t*HDPQnT+mmV|mKXqZ%A^W>&;R~;vF#rB~iOZ>KlZhu;;(t2(Y~bJh vZu#1&V!m%ppY<;_&S$VTUw7u&SN^V}A75Q!erd_Tz`)??>gTe~DWM4f%MfQ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/phyllite_support.png b/kubejs/assets/tfg/textures/block/support/phyllite_support.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f974e8f9491472e937193b2c93322b70aa41cb GIT binary patch literal 2616 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=I4MJ|V90!C^^J z(Wwb>1z8zYr4{=Y$}uo7FmM)lL>4nJa0`PlBg3pY5)2IN*D^yQN+NuHtdjF{^%7I^ zlT!66atlDp8Eot;3KEmEQ%e+*Qqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+ z7m{3+ootz+WN*jIWm92Qkz0_PT9T+xk(-lOY*k^a1UA?zuhspanW~5}t%cY=TQq#r?eQ^uF~REkPz6dIVoxS6}b=_Vd~vIeFNa?L7|qOnOgu>4N?hHm68lsQ&3uz z1C~!o)=$kz%}vcKDb_dCGlYAfBr^>W4=C;j$$-5JGqxhP0B$adN?5pn6c+gUTDjyW zmx65abg@+eInXL4KRGkS3d}S$wM;WlF*DV*NJ}=?H8Hd>*R`-THPcNsHZd|wO|vvI zHBW(=tdfi^O_K}^6LpOY4UBb7l8jSyEmD$=bxll@ z%#4$gEK)2jla&-e;cev@;AyL5q-Ox-2IM4`q~#ao+A4)-=B4D97emEEGILXdOA0Tl99{zaLoc_oRUByOu@2=I#P;p@8ky%`lUsQ?iw&2u4 zBq3-p^5?dwr%-jNSvQW@~rcX_n zP30M>pu}fjWT0zkq-$sqVrXP#WNu|(sf3go6clXqK}9OE-)ukyk*_aCFxY?!D=SY> z$_*|pD9Fi7EkX(pa8e6SEkrWhMjww3B-6m@HlGB;&^18Ja?UTPEXqvJDDf}PBhqO& zv_Q=B$xKeoD<;xiXo?}Bid1odLkc1q)1QjwCqo#p1p z00stzcuyC{5Q)p8eFu3D7;qfXlV&mNn7QBr@2P*rQ)@Pyo20sB#rDZ-U+5?5mmb_$ zG4*S4GO@=%zpV_#YCO7Zcv112E)9&U6Pk!(Bda4z^@BbQ$Da(A{O^Ul@ zHDB*-#f`69@7G)_+nTp)yYBpR+h6asjI+C$x?Faf@3YOEK1xYHPq(d3P*pLBIBj?+ zj4iE`#ZG?x!^`(L|D|5s+rXmF!BI4A=7vv!A#dj%m^t?-)5egrl=hPFpLy)5+CiTAvw+o<1A6R7`B9AvfwFFfcH9y85}Sb4q9e0N&tz2><{9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/quartzite_support.png b/kubejs/assets/tfg/textures/block/support/quartzite_support.png new file mode 100644 index 0000000000000000000000000000000000000000..b09cd2216805d75db71544c4ccd319d5ed5aa8f4 GIT binary patch literal 2638 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}W3!zEDWXg%9Rx2{MJvHZrVD>+XFIWO_a?3s1&P<8&9fY0+@?w#1Xbkp2T zA2xp6x?y8lcH-(Op8_{++M;B3>GS^lD?V9MqPPEkeW%**`#kQ(<~f-=O9eN)X%d$2 z&pLT!&9x6c6T+f87Q9?GyWh88b%m8(-pat&z7eS(_g|b7SK_-(vBQ+~J>UVGkfipR3^M@NB2#ObgNfd`*WO6KI}C|{}@ z{fYUc&~nlB+S`g&KRa)GmAkq7+nFtwQp=3au^2A9U=WcyQ-<}>rdx}497(m0I(q-% z@8w5QJF+E%WfreVSopi{iu|8<*Uo7aPq+G&YEDZTk95PuDf#k zyxsBg2@}?-txqWDui7-pHvZ||-l=>4Rvvrb|HAyx!lL7q!G$pl3=Bd6J|V6^6k zcjv|>i&oE@bM@?rg)=5eeoLImz`(#+;1OBOz`!jG!i)^F=14FwuwTmzi71Ki^|4CM z&(%vz$xlkvtH>>200A5Oih{)C?9>v4q}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI) z6{QAO`Gq7`WhYyvDB0Wba@kZ^Rpb`rrj{fsROII56f|6v{iW0c_AU@di;*u17&w`R~RsBTJAU zAfC%D@b!i3%qxb5VRC-1ennz|zM-Cher_&Yb#aMn8Nwc{s*6J^3sUuiQj7CTi;`1a z%Tn`7lwl4n$SEyGwyU%_6(j_9Yfegz$)zBhJY8&+Kn}D@$xqHqu>vzw6Ag_M4J?dwjZIUNbWO}sEOaeX3{7-XladXM zOpJ}ql9Ehe=6L26mn7yTr-IC>$Su&z%uKOLHcT^0G)^_vHB3%3)ip^>Ow~;^PEOHH zGO$Q8H8e@JOtmnA>Gv*NPG=pZsL7POyg56mb4i00VF?bV^KD(1#1!=o8Y0VQz3net90;0BEKpWGbpA zxS5VcCFS`=+5ScTNm;4MCB&MFOB>wWpw#rt;*z3DPolk#MTboVs5r3l$Sf|&FRDa$ zTX1S2k`Oc)axxXbrGiyrG9>bf6U$Oll%Rsi8Hsu6sVTNf`Y@49EUDbkIN8+5#K2hB z$S5^M*CZ`1MK{U9JVn{iLH`*W^MsEStw{g z)2AlPrt*wbP~tN%GSD?N(lxXQF*LF=HnTD{S3*h+3JNy*pduC7Z#JNU$k!Jm7;Hd= zm6azbS|H~6WG1KP6%*+$G{ulmMXI>KAq5c)a&ZIIv-;p#6jY;vc<{}6aF;(`LC~d_uL!3gr2a! zEFqgGa6fr0b4&E{oJsNiS0taUpFE*KUHo9+zqL%OzxCyT}Ij3@_KuH8DF5=53b#$$USR_otwoBpav|;pyt{i#i|zmb literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/rebar_support.png b/kubejs/assets/tfg/textures/block/support/rebar_support.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8a4125ced6f2a6b07e6c69cb2dd0e7fe391500 GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s8Xo-U3d7QL;Lt@DE&1zPtDLZwm~3l};4 zVQ9JZv0R4JYSje=ktAoOql(whSHJ(Y(K#`vaI?#ty!|sR)617ko%>do^@aJj$f*6T z9Sc^ynQ2qL<+RVk#O7;neY@t$`{cCb${KemXY8pxxO}?*!ie@H+0dmyD_`VXuxu~R zI~O7v+L|<%-`~v8&GG2R?Q%Dq&#kht`6OY{v&u-y<%Of9tp@Xkm>pLB^Iszu z*=V6`;uQ`zmB2Ub`}eGgyPe*pWPLl@s?X`oNkj3xY0r+He=H+CIXFg!+2GxG4l}t; zWt+|~xqYmR=};W|to(VOKZX`{ZjCw{owPM-?k4+Mk=J{wOT?9xVxm0M*Olq#oSW^! zBKWZGPw}a98oU$EuR9~oQSj4^bJm~fd+XOoG_14r-EphzQ_Z}h?wd0Yssws072lI~ zo6|;3Nuu4kAnu}f^xl8`uMF6lc^9*UT|E+g{<1=!q3{$1xk|R6TfQ4Y)Sl1on)$C) zLr!gn=kh;Wo|T_3(cIioQ~9^&?%wq}&o_NpBw=6@-MB73dZMGurn03Cs~+DDbPxY5 j8OUnACB@kCz(;A{$|olAwNXk83=9mOu6{1-oD!M<+Qs61 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png b/kubejs/assets/tfg/textures/block/support/reinforced_dark_concrete_support.png new file mode 100644 index 0000000000000000000000000000000000000000..5491f85c0b696072c4b541088f9a0b32384d6f38 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdnK1d_r7{GlH|@JW?VZb+?8K=jkkh9 zaxbHM!)xciat&+?Ih%@iSZ3;GZ8tf0%h^Z%QJMQ%*O?_wS3R#4z6;#>Y3j{KM%6}@ z^6hH#EEL&vkGWqw+)?Q=UGq7 Si!m@TFnGH9xvX6^Rq3$O83 zFi7rYbZ>a={8z4lZ6Rk<@ea#O-K^~<=WaRs$UiD`U+X%v#ObQ%wZeCSJ3mdm`N*i+ zs8YUNZJvc9o9?l9TpNGWB1ufEOYC6L4QRB|t85$|(iRK571#J-3 zv5{JT=vY)VceJB`jl&w9wIaDL*Xqrjngk9uCfeOQQ+;Mn;{nH8TkfpN+wf+Nuxxk6 z$D5YAKYT>jnglxU&)aqL^|BCvw7-21whl<9ppR|a#vWFE% z9<@G{SRCokF`uj4s>tzS^-^ipy1+S~EEgCZ_S3P_krBHVq?$8j!_GGmhiVVya-N>{ z$6?O_&ZF5~YfJ9^*}1$bG2`UCnPI!mgdLMepQLHR^J&clHTUUjwrS`E-t3?9ar=*d znuU^&q7I52=aAGXx!?b*`TpHqC-2R33esS@>Ob%MHNJzoKW=^5bKd#y$L?mISg z|2xCTv#)z!mC82Bv%+>_{;bwx*(+x2fBClg z{72a%OICMk-?-b{Hzh@XN@aO&W`6y=kH3{a@h;*h+I5KKoiqaj1Al-|h-*(%-L&5J zj@qia()KexNQU_So`NirhHAzI={ovLI z4~{2YJ$N)SoITu8;15G#QAtqAM4|uFMWT*W6x``A|1MYlo?&5J+Nzs|d@E+9sw4** zPL362UeA%lQ2Qa-DQTIUzwWY!miyj4eEd4LCB1U~@8T~SmXjInCRX&lY;)b?XtO!< z<(%)G&TBL@k32t;%oaQ0$Hdp0PUp|z=Hs?8PFXVf^AW|QjTep;NpD`XP{?1nT{LuY zjpE}?hbp@_N3GlR%=RaDvt_R8(b8FmI}$kyRTP}uL{+CGDmtxp>*`c_>u&qUxzFBF zZ)S|DL6Ob^CecZc+5b1+zdP&aN>6i530AB4oZrbT9B-Ipn#)COr!eljojfuX|F#W6%;s&0R@7=t2*lVi&NXt@nPUzQllF+IpgJe|$A z@yolYS1C6FFE~!0+uj#>GGOO(v4zEUD+_s6%-GMpYK8eT&qvSQwDvf;{xnj4ZFA1Z zz3H^u=9zb%m}dvv{dr`^-GXUHm+QRNznqu)Yg^FaAhw$5ZT{CEvCr0Ede-Fkc?AOl O1B0ilpUXO@geCwIMGOf5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/shale_support.png b/kubejs/assets/tfg/textures/block/support/shale_support.png new file mode 100644 index 0000000000000000000000000000000000000000..aed22ce4644505910b67fe76b900d4448ca18fb7 GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%HfK6J2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)&8;I#Ew=$7oBYZ+N>WB1ufEOYC6L4QRB|t85$|(iRK571#J-3 zv5{JT=vY)VceJB`jl&w9wIaDL*Xqrjngk9uCfeOQQ+;Mn;{nH8TkfpN+wf+Nuxxk6 z$D5YAKYT>jnglxU&)aqL^|BCvw7-21whl<9ppR|a#vWFE% z9<@G{SRCokF`uj4s>tzS^-^ipy1+S~EEgCZ_S3P_krBHVq?$8j!_GGmhiVVya-N>{ z$6?O_&ZF5~YfJ9^*}1$bG2`UCnPI!mgdLMepQLHR^J&clHTUUjwrS`E-t3?9ar=*d znuU^&q7I52=aAGXx!?b*`TpHqC-2R33esS@>Ob%MHNJzoKW=^5bKd#y$L?mISg z|2xCTv#)z!mC82Bv%+>_{;bwx*(+x2fBClg z{72a%OICMk-?-b{Hzh@XN@aO&W`6y=kH3{a@h;*h+I5KKoiqajgJ^(Hh^vpMkB_%s zOhjBpN=8s%NNz^1o3qD(&bJW^3=EtF9+AZi4BWyX%*Zfnjsyb(L!PILV~E6M(OyF? zWs-hfMmOraj7TfN*d;Qb1Cu&d6ow>Dbj&zTe$%N;- bed;AN#B{w@&8=r(U|{fc^>bP0l+XkKJJ=JK literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/slate_support.png b/kubejs/assets/tfg/textures/block/support/slate_support.png new file mode 100644 index 0000000000000000000000000000000000000000..20f41e150967a0313c5c73327f84adc548417e3c GIT binary patch literal 2844 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVg1u-x%Hf1_H2Y5O=D+Cnfr)B1( zGB9YIpE}XfgV|A{)n3?jVn?f>i_W$HY2J>m2rrT51qy~u;Sb*(b5Y#gcDJKh3rPpqEoO)EhSaIi*SpiEq`DaF|tMAdU*)Z?4 z);&?a*{7?5e)#OTJ&~KsUgNIDr`3RW5yMK}P|6Vkck$Gk$0|SFlfKQ0)#O{`PlbdHw z>F#N%T0D2kw4VAK(?sJL7#KJUJR*x37`TN&n2}-D90>*nj(M3O5hW46K32*3xq68y z`AMmI6}bfrAYfx(QIMFNom!%hl$xHIXRGvn_kJaX%oJOta8q9c-vZ~}1OnC3`zwE}IIgirj+S)RIJnirk#MVyg;UC9uI(dBs*BVSOb9u#%E&Tcrr! z00rm#qErPFJrg|xUDt}tG9x8BUM>X%o1&C7s~{IQs3AouX|_rkB_#z``ugSN<$C4D zdih1^`i7R4mih)p`bI{&MJZ{z#g%y_i50qe#mW#vpvJhQ7AF^F7L;V>=P7`UO-#x! zEwNQnf|{LKP?GFgQ35v~#0Q&RT#};iSx}N}QjuHWT2Z2JWME*SYha{nWC`*E#B;d? zzP@msdBxB$OwP~MuShJ=H`FuG&&`FaE-rB`L)e2=b#X{#L8^XGYH@yPQF5wlS!!O1 zGR&a`IiF)kWonYCS)yr@ zp#{tw&%EN2#JuEGkU15(1$vp8DOQ#iCTXUYmKM4eCI%+DCMG5+x`~#Smb$6t1}R3S z76z#X$%!!i{zaMTnR$sh$nF7|laiTYm1dq~YGPrMs%w^(n5t`HVQ8$IXpokyYnWza zl46mVYHDd>rlbH0Z!58bh! zdFe_DppdunFUm~KD@g<;aa$!ru$Qcyi&7Iy@{2<9^K)#KKyFho(la!GF^fM!ZUrlM+so9S3o zQl4Lw?O)`dl$DxXLaeE{w86~{N=?r!E-9+?B-;B}bl6mYiUTW;%;J*#qDpkP1*aAw z2| zO^hs4buG;;Om$ODQ;m}?jZ%#bEX`p0i}TY;$`gxH9n(|uN^F(fGjj{T$wEN`nm#pQ zD$6rcL5a`6$UxW7NY~IZ#L&>n(9p`%SP3aLfKmxKkx;`QNr~o0iK)h>x+#X{mbxY; zhKafsNyg^7=9UH~28I?EMi$1&FxQdm4pje30di4 zd55hY8#{W*sCXZ-UL)ilG{sDzOzY71$C;P=(xxwGu<=}NuwYO5`TfjBqA8`vMW0MM zKf~)b(_Tfdx}`V71N7L6$^$Ykr&~{0J+V-Mh0T7`cKdZa!Y7}ohUbCWM4qmGF6*2U FngC(Kr?CJ4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/steel_support.png b/kubejs/assets/tfg/textures/block/support/steel_support.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd1ff356eb5fb0c14fa4f5c3e2a68ffa9269d31 GIT binary patch literal 571 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s8ro-U3d7QMNXF6Pa45O6)OaQw|C0ZrCBUcUdg2L0|Ye6nv_P*U^d8L0{KRd)03H>VB`=)Ayb|Chf!DhE0j86m0;ieJ@jIVlmO4wVXX}%5ZW~u!+U9?!?qA1u zStTZiO*eMkewT6UrsuPm9-|fkbLKm_fk61bvyI=YgXBZxIG4ZhdWN|oO^1x z-t={c<>r@f976TY^ph`@id5e}`r4;==Z{B-qyNbmU}!=C(o?(sEKdNImQip|2tlm)9iX}&ULtA*=ws;tB&lHdB0mD z&PZQ1?^TzLewusQ*(|+tlT#(zmp#3(rROnsX4TR2@%&Ss@?JKXsKR-#I%MkSpZu9s ctOw$cTy`sr5mgOkU|?YIboFyt=akR{0D;2-X8-^I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/support/travertine_support.png b/kubejs/assets/tfg/textures/block/support/travertine_support.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fbb5b4cc558e3e3b0c0be6a79a26313274aa67 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7PI|gHhFJL5PTI)pWXR*P zS5`=rHK|db%^~E<6%(HW%N+Z@?2FTJPE_@Kv-`8^$2)qDKkqtQVZTnf_)(o*@7szQ z6D_~*+|+-EAwi&7QscYi7uQsS05;x+E1x$k$tlTOsTS$RaB}*zSB7(fcWZz6BfH}H zwp&M!#OvIZe10&;>|9S>SjUOY<~nDmU)8zpV8*zMd%ty?l*G5##;2jqnkEz7qyIV9 z8XfpQQ#x(yM7?9`hqhkyT;q1L+e={Djb5jFe@|I9ExlH_tL>Nbe&JT%rB98eO&Ay$ O7(8A5T-G@yGywpMUv7~A literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/blocks/thermochemically_treated_hardwood_dust.png b/kubejs/assets/tfg/textures/block/thermochemically_treated_hardwood_dust.png similarity index 100% rename from kubejs/assets/tfg/textures/blocks/thermochemically_treated_hardwood_dust.png rename to kubejs/assets/tfg/textures/block/thermochemically_treated_hardwood_dust.png diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/ash_forest.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/ash_forest.png new file mode 100644 index 0000000000000000000000000000000000000000..df2f08f867fef6ebb2bc683d8ee0d4fcb083e3ee GIT binary patch literal 75449 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 Z)^1XiND(nFVqjok@O1TaS?83{1OP8DWgh?l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/basalt_deltas.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/basalt_deltas.png new file mode 100644 index 0000000000000000000000000000000000000000..60f57215c746b38d051f1ed35d9cb64ecf8bc9aa GIT binary patch literal 92383 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

6zyf&g0UWLhIJQ_!g67f2{b(+zJ~h!Q+OH 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 KpUXO@geCy}0(c|< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/lush_hollow.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/lush_hollow.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ae161a898e3d89daac5070befbc39087cab9a1 GIT binary patch literal 80183 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 NPgrjonY*t~w!j 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 S;SU1?1B0ilpUXO@geCwO;OH~} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/webbed_lair.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/webbed_lair.png new file mode 100644 index 0000000000000000000000000000000000000000..99a33b5682ed226e5cfb1aec78f15cb9bce00a4f GIT binary patch literal 77083 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 E-d0F?mFzIjWw;aao*z>pFXKcB= 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/aspen_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/aspen_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..df8ec6afa3024e22062174da7b08aee703e5215c GIT binary patch literal 67637 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%0D{m7PMCSAnK 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 fzTiv!NBiB$Pi3yGbP0l+XkK^X_+~x z3=A3*YbV-z9Cna78XtU=UrVV>pzuV%+&4+CvfiTI2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUigoT?TRi2+J?dYOT>*o$i#pD@bRnOnaz97|FvYBvgahjd=Ht_U5SGE0_St0 zte)3CQqcC~`e^xaiKDnm-IHB!K1n}cbeQQpkJQX7HiZ)+bjmi|Ik+Ze#gWTL6kV@s z#Glx;rr_SAHDOt6O8x&Ga)^ueES~#J;!%VXlV`_-KxawO2#(9ECMGGl{x;BejNP&pnQ9pqR~?|)+C4T-MRHW%(lB7Hs{^Ge|+0r8^%B94@|xG zEnND*9rc%Aw~1LXv2Abce!WfYJ>zui11BcyNlsG!naS14^r6n}{uJi6{KkK#+qYk{ z^OJAjDcxGbEF;4t?0PEhdqsJEdj9`;nP0y%3z`-^Tg0&-mVtqREy>&6g&~kZghAVT z@%k4G3=EtF9+AZi40_5S%viD1zKnr^fxX1j*OmPxGpC4vuuw|xWCjKX$r9Iy66gHf z+|;}h2Ir#G#FEq$h4Rdj3F!Z}ygNNqrvq?C0;Yd%u@R zzYbg3q@^8oaNC?#+Z$UB8qIiNX28q*rKxdd-mJ!jp3cm^#+!Z2)y^dN++KD&x2fwIVdJX#`Tqmc)3qOY^536voJXg9pTYUZr~kZ>_Y-4nON|wHm-m%twy^(eh9#Mo zX6|UIOMcT@xV&p?aUb7}K%de^*pRrtMApbN^ZLoa@^b&HHzHYwF2q2aTp>CTSkM`mhEtUfHT?(C22G6yEV z{-@)s*`+S!BXe9wUq5)7Dub}m<5NmU9Bsc#zo{`>7WX{$@AvtW53ZN|KZ}`Rhe?j| zrsJ>wsn0j@)mC3H_wbH0JJjSKgp{BC`HCau>6UZPTC}}IGJkC{sVH2>R$q8PHJk6j z%yVr!{3q~qKKdakKmEBSH+Of+%sktltDfxIE*fmZkmBa1CzJsy0h#)Cm&_zKgd6x zDQ|t`(!bjDuQxWG=-mBwxuMe0H}`%Ah#Krl`;h&-sgNO0YT~@)ySHC|eetzQW2J!C zLxuTYkJYX86XUIXaamr`U-*{rHcRaIxyF29#m2dfK}YVIb^n%oAZq_(@|J$N2Mf>F_2_WT z|8zmg`{W|U)BSIsc9s7TINW-3`3Kf1lWe{{txrn&Y?czZ=K>Kv_%nOp9 z-=CgZ)AqD9I^fvOpKB~UXS^@rZ2fpd`ilK_57#4 ztGk#&?aJL(PFb|SpzGl$rskuTw~q5&v@V=+u(LVBv3bQ_r`MCt#uT09)se5u33!17nf1htz^n3b8^<^B^xlyhI3w`q^y72U8g;|NUT@yWDHtIrf-17v)c9 zepW0om=V9d_1=$Po3-VanG65i`dsd=pSAnDJyQ=}`ctgOoA-0^{l~rg|17`rb>IKV zi)tr*ORmmbJNw~_>;EPmj{hy=egBWj+{M2mtDZ2L?fvxCWv=MHU-SRzp7o8kEckr< z#^;y&7fNg?lzMFQ!Ti0uR`cTd{{@^pFPSX1Gi}!KZt9($d_DS$-&}=vrEU=iqNc=K zpP#{~qoa3Wg?WbAY>tKb6EkNT&3i6mTKkOW`JTUzZzo??i97J+kReayvoCv$D><8^ zKL2#JVf^}1((m0~_xZ?1Spa0LS(Yo47X4g|=7w^p`%ghVz$Nynl zrsygBSMsxu(D&*RK6|h9ylEvrMfOf^*PP-hbIhjdv--@t8(OpPeU%H~y3IfD_VZY4 zaep=jDb@M&=d1h4rQeM7+O(Nt=Q0T)jmmp<4JTF?W>{(txX{vBU9pZ7grmpknIebW3L?G+ylns+v*L^`IQw+|{VzVe89N~K@z z?`+Szn_NmRpwm4nKEeSGIgz zkG0*0_AAS;2j`n*KAf=SP~6ZpVW;i(jqkR;SMlY3WRZOSe}()e4U5X(=`ZJ5 zo%(bynlpUbi+MJOQuFtAZrJM@m2DJmdfW<^2D1!b(no z0&a>-jjt^fSeP`2UO5i{ns~aOzEu%V~vKk3U!KUE16)pm%oTTi*Mg zxmmXJ|9`DN8G8SJu*zIjp3{d6eEr_-oIJVued_Vv{KaRA`D)&Np0Vxh#ohZ4o|C?R z>|p+#LwDxgmXO&qdu8_hGvBuFnVe8$`+NTn%`+*j_bwS7&;Kp6EjNH?_moVJ>^*)$ zsZW|kTNGbxOMawrbiL&lD?_JcCv=p2xhH+IS@%34sDYtTL26kqba zT05=YZ{FRr@!aJ(8?Vo(xOZ%REAyXc6039~EUPB`{`c(fmD!Bdc0X>*?ES3mlXv&% z!`t}}yWam4JamrhbUS~+Z}xlMcVZvTum8KeGhED~?z{PmH-Ckeg(tt7djG7m{2yMv z`yWH!{XTs^_0_3xnqu3ZtXj9uj%zomR_rAsheJYHNTki z^UH3-Hbsv|b2jE)cX-Z_8KvOuIdQs3WoJlN=iTeVKDp0$_y1rwG0$D@BfRhH%>AiP zZ!BDXq2;k-|E(iexZUJ-UFiA0NQ?1YguEE5xAy5R*10K>N~_e*OyOLA>bJf!@4n6U z>hJbXX5L=Y_OrIyqU?O`jlRPVXWP5vzUKAVeDDu*ysKhBkm3G({;k&}wB7j%K26(y zWJ`|O{%>nj4%;Qq-hTN;m99~*W#w=Cpxa-#wUZwJ+iUhM zpJZ}UbJL`iveON>edX%AQ>y*F_RIMl?`-Ycug`jr{r)$<|3c~YGL{Dp{i{7=SMh(= z)A*KS{OOvUVs3(klP=_#WL|mA@ulVNyQC9VhaXOODcm`I?hb)S8Kd3b<7T}!pX93O z#Nk)-S^LJi(+R1aOWE@e8y&b`pc-_;WiG4F^_U5;{q&@v?JmyUm zxyUGUe36c-k>n!_HT8Xe1X~1j^uKP*nQWu|foXPY_5P03rqtOQjGmK(ugLhUT>roE z{D0Z4ZR{G`?)+e`dAYr=N2#;&b^RZWX|H?js-GVT{8snqaL$frTYcho)t>#Jf2sId zkG!Vp-MHx*eG>V-4=wnZbaxf*Ju}m^wr}P;?gKBHurGoGPxc^wEjy_TB-T zJKHqRZfrPrO2B%g@pq5DXjQjr$Ua#L#cJ_zXFr-7|%}6Sm&@{ht9hVn|sc89{RJ@zFwcd{#|m4=b6sxeFqn=|HI7vy?)-oH^~y0 zuNzrjcHlU8>EG{;MLkdd-dB=ZHYF&jLrB}QF-SGo*seLRCwlXYJ+FMf_`h4OAyOH3 z$^N6nLxa={y_#H}*{`SmD2>0|{Jpj_;dS=M*L<#VlUyX*5+^*j44jc@E%wkLHEWrt zQ0k9;#zjZgr7v7k$G=pe%jnXU1^0V3xI3MSZbt7HXUVC2y>niK}XV=bm`+&W_&G`@gGCh;$Nad-MCp{K@U7EsVoI zG}nJJ|8aJs>EZfIKezfGV|}YWFZ^NLG*#`nX5FW~Qc*o5=arF;Ne$egCg`@y_BcYBjTTl@{1ltaL)$zHk;9Hckvg5GG`OPOUGacV(z{9L6IxYL*RT-bl3v^Tu z8BAEJbe?OH#^N)oj&~ikT=z>GzHmK~*p)idVqI&d_-?rqUm+La$7O=Rq=c#7t3#>i!Xx;5o6ZLC*bj|O0JpZBi=VhZaVQRZNX zl#y&{=j4{DQ$-IMtU17Q^qkU@O-fbA_*GLoGsD{=Ja1 z@zuWlIx3Mt0(?O{mle)?P0~32HTRK*vsY^-S6}_p#X0*v&VBRu%zdN%@9UP_PO_+< zv}Cu>^B0bC`+f#5d024vhyJ3^B1#uN7qLXT$+$)=Yt7A`=p8@x%n2SvmcLo2KE!Np z3Y%B(GNDuFw8v$URwYlNE~Vq8wk-lzLQYOO^HSPuXT>Y)8GX(7GcMe!u{^w(|I&k3A>E(0!$VxBf#YrDT zD?4+eIh+%s)K*>TJ7~b`bK1enHK5${F_WUnhwv2D$goE{#DcVRPOF^$`rdbQmET!a z-{MIchrj0fTwZX!FCggQRT-VrDxF3-$CvCDdQ@Tdb(i}zu_c-7ym^Eltw{L){9o4^ zYyaF&Lbv+w^jYuiJ-of9X~*rQ=G8qZ770bK&vBpnaQ^BKeJ`a8pDkS@H{FR#tV~UH z(cBi0qpK7*lYfPMufg-pwT@qvE+3o!T*dQK%YE0vGlw1>@-Wj0P`&=7*3353H)7_} zmebr@_}?8ai#?OjbkN}WiR*T*ks>YK>Mv|Qg)U0;nkFVv>3QLT>F%H|lXIF}o_n7L zW@pGKNTozaw$DYwqlbsm7afCLf#OFY`2Fn`^*z371F@pUV!KtpaSP`RiD3 zZ`&Z-{Y`nhAfFIl&CACLQ8_!Fu^rRDdo{SnT?fJju#NW%7OySdV-s>xT?)j0Ka`5z~l+4P`y7>L`Ta%&%3sVJ?7HVvovUmOu z?On_LCb$SLm#b?i_-J6%J=3~`-FPbW{!7{7M51=UC4L86}ZGQGHSx}TPyy~@{ZJcWS}gi_GPzW;Eco>Y;_NUJUVqm zg1mB$EBO|^(v9Emes-zlv&kx!>#_~)Vwa!rUZi!`e{$2N2`UrMZIU^Ds7!Z~fwHgn zrZo$6RJ}CsX6dL-OHPttS}L+^>D;qh-~VJyd;iy}|IVL6y}b|JmgrpXsXxnTvwyMX z(OR)-V(u3s=dcOQ^IZ7-WMreZci9*539kRvSTi#GYPRz}?Y;O-a!^`KoXea$pM66n zUb5XbfARLaXByAfi<~w)8OHbV)chZ!yY4pCnX6f^bg$FBtr zaek4x_o?Ehkd(~Epss5!3`{(S8CX&kPhOgnXn%3y4xNuo(ziDTc)5R9((gPZqAL1z znfu~;>2)VB z*GP}MW-f_awoMATao~%O@cN5Osy|8GJHqqu;O(E+j@y4>xw)}h^XdK@=RRjK+g%s_ z!I->O>{;fn($j6H6ECaVI`7TXIC}0MQ=XVH&*A4SLDFrGtFIo~nDegcg`$}Hwc_jX zf9&p-^`{vhn03QtONG$pzYKf*j<+V8~QlzeJR*3dDxMO zYmQbBxATU&%My`M7h*dn1Wo5!wpKZNnpi~Ws&^G;kwFPJ*<9oLPI2vD=FM~2WJ3<` zqosv@dtWA6s-`bXuvZ`L;20|DND`XZJID; z=Q|0WDnr+}q)4`P>B=n$HM{)gP5*LBFmsA9Z*Z)TNz5VxSFe+2j)`pw*<~W=v_Eg< zX^z`lH^>%GIjeBsqt2cK2Q$yUIJ4lC8P8=0Nyhg4pDYhQ+5FD`Coz5B%eVToJ@$)z zj924JxN2a1SC6}!Tlrl>Yf`mf(cR43)n@LpO*%?Fiv%Bk*g2=*!t=)bd#CPI=Oq?h z|9a=&{CdGwM+3v=+}R~^dz(xCCEoIOW@-BN(Y^5Pq|VaPUwb9?Kf4skS6C~3ee+8l z{?d~ZGJd^XAbwfu^Xl(jnfh5m0TZVyupF-QnK`}TfPpLPk;cbSPa+*>JyAGd!gEYL zyJBB&(1qOB8GE=SqPCr5IOOQGUiRYqBNly2Z@2VWUgDn+H0g-tg89kTYV+2IFJ9KU z?_8?l$J+KS*6#B}rv$y+wmdh^`&QdFU7MY_|WGEE!Z;THo$n zkw53DC3iP>$*#K-8_iSBZLOTIy~u3s4*!zAWBeZu+>L+!u(eX=dfLBzvsbR)-O}l8 zmU#Vm;8|IdD7$1~#;?oV*9#{`s<{RxMX_m|yt`!sGs4?ur>h2ewFn#uTvq*Ud8+KP%!Ej` zZOMI}$SEdf@t#Hz&rXQ{laBv$cK(rEU!%g8eOq7DZM14gEbf{-yX@l3TOO6uytU7N zZU%1Jtj(B^KNTxxP1Q69i6#LUB%x2HCdM(^n`Wxy&rp3_FBICd!&AO z`4`1aKK$29!ku!Cr`+f-v~7Rq_Qh`=lhtgcltB)r3mA9 zKDQ-YKW>_`i+6=c;gmp;O+{?8YErDl>K;7!DJ9bLm}g3v%(i61>Mg$WUcIzWd-wlzkdf(Sh0|Qq zp8w{lHoR!CR6}L*YpEXp>zRE&j~wp#cBnx|SL3tL_054^4|kaLB|rRWHt+p}=d3|m zImcZX9epRyG_ekRvH$1=)gvpd?Y;9eJC{2Dp0W3RncZh;`}2+YHJ$I?d^AnozreWR zvWwzwVd)9WbMFT_Ww>wnY4q!{vHmJ$k4sZpkGfvcv3`C%!)(@_FV621Z)^W!_2z%O za7AwV-EFZpKg{c0YVWei96$6?H%gc>GAco$X_3avnCl0&`M&aEHQS*5`Ce;kNckyX?wsbAJTAx)wces`8=pS-bcj{4$Gs5F*R4+2~hHInN~-XO2x< z6r^5-z5Ed(d)sWIZ1=MYhjh&&Ytk62v?u1-GHqM^vC&cg*d||IzG*_5st*m0ZsB?5 zD}R2wps1bV>iy>pN-~AQC%0!Vl59J^@7MP=HXmI5?$#PVp1u9@oSiM~|6e9&ul&PW zHE#j?gde_bb)S2dG$DZ<`{w@t9h=08~mS>DZR*Lo0~&V74DaQxWnwM_j*Up?x@u#6EYjk|Gkd4%1(~A)?c6e?}Pu# zNCs7&X=!?{c6akEH_j52aB-Zx!me$lh@aSeb9pyS*Zud?EnYmfl$-zO#QOZd@dXopG|r2iu=LUlm%vG?tbN%JfATpwOv_TA z@O+Yu_9{>J=yVZobx!dc6)(haKndulxVsS;#%6?Cb28>vV!jrWuBd zMbtg;{$bkgc6srXu46O&g`Q4Xx@fOSLd~Xg8|H8Lc*%2?Cjp46< zTrG(TdnA*(F#XfYwBNG+!X;gcWR~7Zo?Lp#L|x{^#rq51DJ?znF~{e$!iLySdoDD) zx~^3J!xLyJa@UsQmEN+I%h^qj$7hRZEw$uWmU?OC`-eNOY0MUATcD9*Iwd7&8dqWl z`xA?0&x}MSeO&o#g~_Q)O*X!PL7R5`PrUYa4^yIqxO>JPk8dgxQa_4cnl3-Lug%&w zye?L*-;8T6fBJvt>KWD_4TOVVTbBJ$@r?R(@BY8}KcAWZ&$z#vGlr?&3#3wWuYQhOTTD6 znYfhIb)lzS)I9I*+KgXo`<|^T;=6U4D`1yN$KjGC3@H*!m$yye+GMf%+4tZ>U3osO zmy|_aL)TB=d5u}4sPp;jka$hoRcl^XI?61YG0jqoHH>$!j*BTrN;pHps*P;dm27A3 zT@PCe&}qDF|Igho-|la|{{Pba!qe~nuzWn2FZi$4!|K0*`QL}?D}C4P)=>I)v?Wy{ zuy)Rg_4eiG7pgoyZ00#>-p%HHM>MZ&xc`{H?&#b6jbKB}enBRE^coBTZIy9)4)x$k=?e zGE2Iw_`dtU84E5tJmb`6fA5}j(YEx{o>O1qcpmSUuoiVoPx@5|Jy7H&ZBxkSLxXBK_*ofEW{JOa4;8xLu8BLq6uq@K>={(G{T1YA|DD%;T^_;F-cUhm}y5!Pt z@VwG-PCI8GBYQZGC)8 zqHWpBsJ=+UUn=XCZ=SJf0#9|nF@x`A7cJWtn|G;tEdRrGSaip_*38*bJ7VT~Z{V?g zqZ0b`gO`u@{_B^V@pzDduW_^KE;Gv6+|QFrs|p9lW`qMLrHUYRZJ7I^J*?yTg0E7q!ccfP(o z$6`;@>sw!L3C_#EoPB)8va}a#7yX!)Yp3^NVu)azq=;)@NY#^TpJiKC9=LEZUSiR# zljbKj6)m~8ddk0(n+etLbMIp@qO>j}@J>KP84`1M12{dx=D zrsnzoIsQ6-H`x4|>)P9WT^oC+?^6+ZxOK&Up~i;iRZ9{ttvunl_8-^Rdq&50YMfk= zevYT;xbrNryqdIwr|yQwpMJM`ed_zW<)1$MRjb_BkosC9I(x^CdA_qmR6Nh!a9Mll z?d98LZGTxJz5dMV&YXFp@6h^}rZJh5f~TlXTe|!;kB>^0%8Q9=k*qH=;~E~{yt*X5 z@qOi!%yqZ(mN~9X><_3(Vb$_#eSXtprK@eYI$Q4XBLZ$)f4V3xU9?+BY4x?GI!`mM zn4d2>ohMqdMW^_P*_mQpzAVeA%m{|9ZS6s`=0=DJ9pC)Lqrh~N4tMJdJ)?+OhgXR7 zel?ivIx}77@3ZTbS9jNQ#pP8TaOL{6H$(EkOqqjko}K2HJvseupvCMn3Vcy#*55yN z=U1-I*_@>-c5wOIdCC<2)}5bbVR6uOeVw>)aH-Aywgs(Ix}LWF^C(D8+T|DNRh7Hf z!&yuB_tGh8>|&uTTVsRW9|wIuKXrn{42_j;l1)>(bTmyES4^3*H0=AyE}qL*KHWPc z!1LSlYP&dx@RTbvn=++CwJ#ni@`<^w)LVS^>iRN)bxc)lD`k(r`m5{|hZR=0ILF+-7|XlRc)rRhhm1YUp+ar9Jneqn{O|St z2V>v;^5du7onm6|DBSmc#Nb!Xa(eP~gY7R_3s|Op)c4C@W}*`yz{Z zH{WMiSI$Xh|9&}cR{G&(uQj{_vYJY#zey^5r*fQM?_rhN}4ir zi4#ug{C(*Ue_dOlGBN1942!Aw*$=O8dAMs`@9S63 zpJzHsy`IbJad#_6);hWJb6k@wuD2+jKENx}BA^oJHZ9}M0e+d7`;wMBzJ~9W3Z1s4 zY~L&!{lZte-|D~4|M_G8&%i}_zyBDQls@}ZboN6$6T5-eP2Jy>)=fLEC1qB977q4h z<#OC^d30s(ZV9vH9gk*AZLNH_|8dy5J@0xwrfy9Aof`B1*ZY(Uwhi((X8jC1@aa(C z-S_X0irPC|{&s4W-Zh(_Oo&OXEsIowyh2u5 zvbl-&ZVtJAZQI)b{#g>296h)-OS1(Ie3h}~)Cj%mdBJUFI_s)O3@M#%pH2Ta1fKSv zw(5}Fij-qZ%Iv24Ets^5iRY`K_T7f77atWYkbRgHT_`#yglmz((%K)2dk!3)A94JQ zX@25u>HXaaIg`$s-|2{6J>UM=IpM{BZV6oSZeX0VR(V6z<({w8IN089mQv_?ovh=V zD`m-7*!F(EfzC8_vw|(P(ia#0jVV4X9pLfF=Fw&OpS5N2e`9^l#vJ_gNJ-l4@JZ$0 z?hUh6O!yJgDVT2GSsIlavUp?VveKWemzd-#C11|73wi5wv~%)t1D)Itm9xTg95uWJ z+RkwVT*&BA40W8tTaY_nNn3M?-|^3TWF!+NuD)Ex{K7N$wqc-GG0&I#%U*xqG(p76 zUq)@J)p-$@bw%a7f>SE0HNIe?Ll! zEjPD+ob31gO}kumi|qan(Kcld40%qcRsB`#oizF5Ui)94zwF+8M$X#6>pbJ7B?^5; zchgqq{kys)V*3M@%B`pMy}cJDx=D$YaeTyk`lCZ0$=bF^Rtt+1%=-#8!Yy4*xv&N(qQCoyUe>HLUXJr5qrjH>3Mg84$;0FOKeFo3`uux&V&g=A6`p zjoa1)U1gP3+#bJc^30cCIZ~Up1S~zddR?t7Z@tX%!ay$tgBdgTwV3o9`m}1w$ecfH z;LEdcW0T6M(!KGVUF*2Y(=z>LWr;mn^}r+UV&mb&Qyb*_Wq6$?9J#sT-g#qN(-pGw z92U4QZ52>ncVLys%~i%LO>MejygS?zyIxyY^;l>}l>d!>DYHYo{;uA(y-)AP{A9Lw zHZc3Q=<2KNwtu-gj7N%3ADTB^*f(;QGs|$WvU^7yj?pl6V!;?XG+N&?eu#E4E1K+Z7&vzH)obp`FY;X=W4e zR!a-tF5CQ3bp4SEHKmzR-uL6bNgU{YDG(;xXt}NLla6Gk@yUjnD|(-@?=U)E`NgsC zekFTfw(-tF;nUUoeM~xL?)r6h&&%KSbKLj;iS)bob>~Hs`N5vaPctJGUpH-%dab+a zXVvx1Zf|T(n?<}kv+>Hj!)CTzGe4~g-#6>Pdczmr4Skw7KC=*hEPUp?en?xUp{=F! z9Jd)^KC@J>G>ff!y>ZJGch1h&KX?|;llv$-OKpu|Bh#u&juNwKXB@ShvrHgo)~+`F zE}`X8Ut?8;C6_fuCo;GyYJL`4S#m8QQf*sqn3t>7VMAZ%={`Z1=N(RTI?cO5hWogo z=VYeim*+5w=)C!>6&Y3V=Jot1?DhrR(_<>%&RV#Cj(5YXs=Om}#g$F1r5}rH=<$Zn z=)AQg^O)D}v&;W~Q{MBw{J(Afo=;r&{_g)H<-YHi;GLOwYo6!VHJrV^zi;=y-}8$e zoSy$6*8bQ2?7%Zl{m0fxonO^v*L9IC_ImW(x%%!)8M@yz~0&${%X= zZkI}izpY~p4i26%?dZJxyS{s`9oUp3)ypPro|9HpwAak%aLP{GexXSpuc<^%>wT4d z*F|7)Uek&buCB{AvTYWUaLt@}KJgT;QoA)?k@zTZf(vvOO)@6rkIrfRE zZ{2c{oi{w2b%CSXQjtv;Znu0=IX?T|%E&1}hFc$taxi}g*v{4oeG=K0n3Y#EDPvLZq*X$%FWmVZYT6%~djBfF$Pd#^ zHp_HG*YAGVyC!}=w-Hg)L@)t~*^mJ-!R^5Sz z$?P0|*u1=|{?5C`zv5Q=YGbCwdhW}@JNl-`jjj>7e!a`HEz@Y@ z@6tW5j@LDA*n8xhd7b*#l{2}IYxw>CzCLdshZ(bJ=(%-8CwN`^*BTuR{xnDb4)@!? zdp9MN*URbqa~v*6`I9O1`NH4w%dfXop0=)IS?QHmart}UQPcdCoEoX~`I{0y>up-2 z;2o?Jz5KGPrhBv9y5&=gOV7vjuw{nXdq=(!o0+})&7C^Q>+zqx%+}m@SQ~bHTW;1? zwyjaU8n24KybwI}a6;Vn!%ugwOQ@;oDcjwfC~;;@bbsQEp6$!F%vkYyVZh?Q^_wOM zR@b!0H$Ke>yb$^{?y-q`U|3Mvy!Q`wn0YQ~b!KS_IyJGSVxH(!Hpj4DZf}|EQWqzj zUgbSu+0PD+)EP{tFJ4OY(wte(fi&W%h&wb zB>B(PobS%Nk`t?WZMRLz(MevX|0^c6t!MQk)}0Gh+v`T!Ea$#+O1SLXbA!)Q9va9@ zOmH~AXv;D6pXX-Rb$FM@oO`paa zLFZ~Q!)o)dTA%Ym)dM7|Ql}Xt+`jhq&8>a2*G|tnY{Gj>`*ccVPipj&O0U2vd;Wc0 z|9DcbwENqgReRkcpUGGj%~+&SU_1TfNzG-;uL-g+&U^kc^g-K-9Y1a{KCSFjENSsu zG^OhF>b5Bh?tS=Bv-^@%$YLWm%@54t$2WJhRTXxm&Ya3M!S8=IuY6*M;M2;|xNmb>Y|5ai>o`VlvI8gW21YZca61erT}NRB*!bUw02TzI%N-$VqkkRxADa%T<$;b&o|Q z|8R7;Az$#}1f$hlzV&rqd9P%d#vD(+{Oqg*M@xZ&)YNP9&YtbHegbseOhU(of9 z^g7eEIN-=G-l)~Db&vF|{@A2)>C%(O!Bt-?re%6CQ+IoTj7qhsWWwhvI3YTXXrA`^{Z+`EB1OCjY59y2^2LzuyRTyK`)BXo_l;E`!Plqw z^830O+V}o3?|B@%|`6;iry)}8ID|7r{X>3!J?D@|tuD)(K^tmSHcH-$}x>uU5 z4nGt)URoF$F|1JPw&n8byZb$)0IPu?><#b4Sckts(Ru*lMu#PYaTW3 zvWbxOaB|!)F3dMMFmmFtn=4{>XoZGlS1pcZS(pBh-D=kQb8ZVvj5nGJPH2xkR<^&- z$Mi$`w!#O`_=V5Or>1?sDzo?Z>z21q#owx}6_=derX6$B_T;jMLR)RzLgr4=IW57{ zwq?;h%e3WPRTDR9zAC8vE^_ z3pYfp*~C;ScI0yuGLSLsGKs;ZNBE>VB*91 zN-uBfx7o`&1*+WQ-Rm`iEO)uhI{Tv{{GdTkp#J?0X9Ry-f9UrDzzy3U8{)LYk^DkNdlZei*xZGVfIj<+I zpgZS_WcMP4)0@<%w8ZUi7VnwN@i=l~4da!rFPX}Wcfq`1z1=Z`j0-QeXMUL`;J?`T!?gF+=GXsS(KlRU`t{Z7 zjhz?Y--(*5(|6<3vGPkrHOJJK8S1vzR_DbYwg0;4oRdGxH!DHMvsXtT?nSIZ3L2@xRNjXI~Xb=*yjLa;!$?deVhnL*2=a`WG#nr%sL7CMTPhvs3E& z_m#f+3yMEPPg&NTdGkt|-qJJ1I>&1R^DbTZWbmlN=DhoqSL*XsI#-Hou6%3%`t{p4 z=O2r{4DPWzU%c1rEi02~ycnOt^~u^c=T3@nToJz07}Aw!ks`rYnA7gIx9|P$8%~?z z)Xtn}*_UXXzhe!Dw6ms}>sxh+|C9C0*56-lFCoCf*y|>Hxu|2_6Bn<;ORUY#F0gd0 zy|MIO^f4W|cUF|PtOUKv#Ha$uog==a}Qmb&B5Ye;=1~S&<`4 zfyd{v(n%o!t6koak1X^&g^XpsS(=u2Y4ClWQ?Gg>GCS*ut-t8svQuZ4v8{TfGhmv=;&Ub|5u>N?G6<72O=*XEbz+&r<;c6;HYdHNI8HO>FV*SADx_pGa4 z>>=szyg|0l`h0y-!ObrQi(kx)zTgy~W;myn`Gk-3dJoMmC+WYzbGj-5Z{K=8m3hJ; z2ac~h(x$#^Q9k#CXG+}by_YhRzwl%^_D1O**pw4xv|P0~DAA}Vxu@d92c8Fah4+~( z<#6V8nkH;4vesDr&(g$8*?yPuGu$t{&=tHMRdW2=!j@;d=D&;;@0`spw`2asXDYkP-XHo}o8$hPV@YPy6rt;-osT6>Z^$r-s(5Rb zD6(jYT;aJ(a~6cHeI2B_P5DK+@-em7JLZ{A67O!yG)-Bu{HM(MRaT6%R8+K?`Cj#@ zu~nLR&UtwK%dF5wegHV%W@*KzHKau%TtS1&FJZ_V;`#Euc z!s~UpE`jsEeNuWH>|3R+xGXa$-)hEHoqa)FRhMO5?QU=q$;gE@sk2C*&mPW_4)Q&3&pP!u-adn*2 zHe;KEgxTM`CFWl%wmnnUc(JxcxhJV+SKpLLCYoAi^E-9Els~ly+j^0m=k|qNOd6ZK zRCk1Z*ShEEIW0SJLR<1hna`5ngn14taFudzTvNie=YX4+YYeYW>9_m-#fQao`{S}d z-gs_zVw?G%-f!&pPgmEyS)Q@&m|LIi`QlAF>Ftk&qRuW)DYrR3ue!X3P5+9+{hbnj zg}u1U6LL!2?d#;V7Ho-Kw7~ThtIE21Lkot_AInZ<@;QVguW`y;Ebg_i< zDrY?|^BjKhXs2GF%>1-A|Nm3H4=*v^JJTRz&jWcMhTZqSggukLd-~L)^&8)|y-&FB zynVC5?)c{1|Mu1IWtU&Cz5a8bzy0&f&o<{x&i0sSEe_P5rW&ocF(z3?ozcmINk?UN z%bteQakmb=+jQqHFZb^0d%v?WP4{E+$ zvlGv6Unphvz5da*-DMKToQBq)k=MSgPxGyppDSxS$F{nUTm0N&Evcv9`2M6dYw#KJ zFrWX-!Lj#1Wq;7FU^e5nS4-8@FG}!SW}C0lnHInI*#!NF9qan3)4?M{aOzsx=%rG4EtvwNS;l|TM{u=K3))=g)oO**7$>i&g) z#x?d;=l-nv%ChU{_oy%H>)zXF_dhi8P~p6P;!%|48=uB(&71c{PdaQ|)OB>8%6d%( zp_Q6XXC0ltM4k1cd`vjUB9>Ww+EdCdy}sJ8`oCb7TKC-S4<*@4zkbO5-@!D0=jY`a z+UY0W-)Ofn?yY~-(vWw`D0VehQsBxWE=IvavwY48taRArl%6i>8hW8r_IBoim0E!! z2F9koYXehXZ_D-Z_b-0+MbabT@-tr@J-tgAR}9Yb%o2NCEw@Y0h~cf9aKuc7l*n~@ z0zZW&sRZlH3=zxK>hs+==iv86*H#o2?(19B>8j@$#2v1ubli2t3WdKNY4cZcTCA8L zu3nL+kh9;C`Mfaap+@<@*lia}T64}RMH_es$gyZIeq60MX^nz(lFEzUhGE|olG)`` zuP)17vFgzNpHuHUUG|+<`R4PL*S*(P6h2*iFXKX{G73!cB6bu<6=?!fcq z7tTy8ID4j)_33V3&K1Wt72R#h7iAWzQEq-`c_Q$J6|cw2uzy*B9#LPSJbJY}KUw{* z+jUC#;-1;>VQLtU#jOk;6Hh+bq$F~rIM9SMauR3q{F;MaH(5Db7qz}- zInm`(9xr&EFXM{LEYt0(AK$*vyRgDicgl>Zrcr?pwWlnc+L|9F_0z2TRM6(qLmo*J z3n!>>&J#{ZEwwQhSnL!kxNw=H3sXul+a#5B9JBBLVD_13)wD)(%JzFlXZ}>(r8Iy0 zp9|GLyX}AY*1cI?|8Z;iyQQkTLZ`|Fr$$}-|MA|tC$IlEC8zzncYUJtDh88cRg?R! z+9l^Y&w8Qc)oPEsJVU)EmxfGTu(2gAHS^fqnveJQ zcK>U%^{8VGx*A=2Q|*45;19*EUA-!vH+bhe1!g??I>|G4rG0$0|MWc&r(~YCAw`x5We%#aBzoGDP+Nq~yMmKG~W=%ctmE-Y-t6Q2|ECj7< z_P!EOFXTSQnCC5>U~Xe$zUSQ%k>g4QDqTzyB~&IRomo=ivO-{q_1>wmoLr)>4tO*f zdknWUnlqjO=uS8Am8zOhw_28+r3=gf) z&Fx+?lQ+JOC=)$fzTQ%{Aw(xwvt-hqSGWItoyi=(UqQra`n_jLSt1Il#Uhg$-X=CE zYxT9fqitA6)?*!}y4+F7WbVkztbF^op^XyM^9JjG}opz3$lc|7A!=di}2 zO

6aS%!$=6UflnDzOMAQjC}1c z>p#!T_a8fd@3-W?Z_WFiqJ#?dnO6#DRs}@6dTx7sB6MD+%!C|wzB|WSix+q@aC!N3 zT)1%VQI-3X7e?$-%~q#2O*yQae{J5>5NSou-fuR!J6E~Cx2^hlltFe_ga7kC{AbV; X>i8eC;j9t^0|SGntDnm{r-UW|Ec|TT literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/douglas_fir_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/douglas_fir_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..571b43d50dcda8e1753899ae4d4fb79c467eec46 GIT binary patch literal 68151 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 F695aTCk6lj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/hevea_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/hevea_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..fed69c5ed2496b8e469d228f7435b11e9323b559 GIT binary patch literal 75552 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

J}n{S$}tmim}SeSY*$ZnbIr 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/kapok_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/kapok_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a62c9fb646ebec8ff64b1179b80493aec088cbc5 GIT binary patch literal 52695 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

xu?co@dtn9Z6BZ2 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�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 HoD!M<80;dw literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/maple_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/maple_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..2f3e58a462c0d5fef4d89fdd0f8e3961724a5101 GIT binary patch literal 62115 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

b_(fakk2_tU+S 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 z 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/rubber_fig_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/rubber_fig_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..f32872fcdc2e4b5887f7d4c02a21a229390402cb GIT binary patch literal 48739 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/spruce_tree.png b/kubejs/assets/tfg/textures/gui/field_guide/tapping_index/spruce_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a6ed754a6668a5ab91dec6827c70a84d7df9078e GIT binary patch literal 55347 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%0A*Y)?E@5J(8s4FPCxnh3x+EtyjbG4T?VQIF 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/tree_tapping/tapping_kapok.png b/kubejs/assets/tfg/textures/gui/field_guide/tree_tapping/tapping_kapok.png new file mode 100644 index 0000000000000000000000000000000000000000..d4723a858797044a058028299e157ee50299c1f2 GIT binary patch literal 51409 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/absorption_salvo.png b/kubejs/assets/tfg/textures/item/absorption_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..e73359ab32209a26d33dc7b06a3f7db917150f07 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7^o-U3d7QK5X*=7U>O0>J6Zo7&R6+}MmCj9ya+%XA zw&cO3gIDEQ)MM|+99f!uwMEN?Cu6FLsb{h9dehAO$+Pbi%RD(YMIwMb-s1GnbHC?& zu6^&QdG!98E1xx4KRk={VdPjUQom}ue$uNGM{<{ZY&jOzcBra%-#KP|Z8Zk%i;+wZ z|GxfP-R9=}+4ybM{*WzN{To+FE?HZ!n`K?x_EtUL%!aEwr~536JiYI5p5w}>sYn>g_#rW@6=$&pC2u@e0wh@;HY>P(~X}^jf;Pq)l5$8UsdD$ zjLRfQ{>QvuM^3Z`^SB)=+k-x7Cn(q-LAt9du2{ycr1 zlVQ%kj-I!V4&>#w3o1lUV_KkoU?OwT6A9T;#($x<`#;q)|6$PQ5_;NNaVe95fq}u( L)z4*}Q$iB}K*;-d literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/airship_balloon.png b/kubejs/assets/tfg/textures/item/airship_balloon.png new file mode 100644 index 0000000000000000000000000000000000000000..65e60293d55fb41a58b869ee5de6ccfcfececdf1 GIT binary patch literal 747 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q|No-U3d7QIU+S?5en7ipXS`R^8iM51tOz&eLqnIl1C$ySA)yI?^B_;9)VvjHOBcqx|tQp~pA&ZxqgWRI|MKsRP5t z59glOo?BfU7Z_^i{+U4|-QM!c<%70aSCfuh`20ZrW$%%D%r!1^*`2r&dLCZty&tf3 z!Ks&z+qbOUnkr_*UQkruZgosSDQ4F{?j#=l$>$~g-93)}e#y1_Pt7-;qKA)kTtY-o zMOyKE_uUmr%eKV^>c#z^ zI&YqP%-))r`##vd@nH@1F0bft2o_FGj`Uh8^l^oEZLMrW*Q%mTi(}8vvp-(&Mw8*- zw68I{i(30G^!xbxKelLlcieN)M8}Yar+>x=m|J?KskAfBcy6&mYj63x;1ka!`)r>c zSsDDN?zR7+ez{;Bu}+&E-nXauZrPrHG<^SrU96ugKc}s#YCgPs`-@d=Z2L0fy2Eug zy}QkO<#$caJ;_HW?g{iITa=Z^$0mvk9*jRZ@m$K!?e=lL32RvwJg7AJQNv?XOk6KE2eq z7A4fF^3rG8)q@NZGbX)A;CeV$zoVgJf_8;YE^m?y`}xlvymroCb5Avj>s^bIQI=4? z%CdK&MDAK$C8b@8JDOt5*c}$v8|EE4Dxo-4Dmm$sX_hF+_a!lQ8A(YQE^9(#@9h!V zUvGHyk@mk=uM(eLKds^Gqr_2Yem28QfAh&~UzUvQT*d{JXSrB^CNt{3dxfcNQi-YTK~rsq(|aN1Qg6c;$NEo_X#}A>%ZzU5|XFMmNjM*?+LtG!olmH zdGyd9nfv?og7UXy%oJmsKYdx|#=mck8GJ7vDvZfFo?2DIQ+kPw*TLn(Yb);0#V)@O z?NBoDU46ORWzGE6&4PKpJs*GlRd0Lb9I>sIiy^~Qilxa>?#}MB9}<=b_wdK0X_`R?pSo+Px# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/aluminium_hull_reinforcement.png b/kubejs/assets/tfg/textures/item/aluminium_hull_reinforcement.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd3a3f027c1927bd461a9fe1ca8c17ed370e33b GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zJ$Z*8x{3@8jC(y@978Nlubph4AzUbO-2QsZ&bB38?OS;{M16UpmMgIII19EkS#Z2k z5OiTVXl1oqn=f{b=s~3$XB{1PbvC;^ap_EFsScgJWTN-y=R4$fzAnBHWAj4j?d*N~ z_21Xt|6TWx-8xdgu7jtU@rvD!P@Rs<&!sUh?(~2%@UDx_0+_jIzLN-e*KB@o4#|7+^4@g1D+l_IYnmXJcXGZj2B9o z7*@R%n>odAY1U-VmnCx>HeG%2a`h{PBfHP@o=n^9+?pZ5w*CCm`t}{a^cAmV1#*9W z-rqUTBf*+)_py*I7cCg}$ve=!YK0W=+7haV7 z2>aW)>X^r$o$D^Xe30+z#>V7(JMq;k;kfk44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zO{x0J{+SF6j4qxojv*GO&rY`XW_A>5-G4SuT<22H)R{{r`c8IoT*G{sn`_dkTYB{e zj~%+^mcuK?W#*LNnXGt&bI}Cf1kY`TK8iZrPH_fiyPh~+nQ`p)+{X9!W)`16Fez1+ zD`xMWS^pA_M1S#H8nPj%+pIuF`g*K)$t(Tqa=j7j9Lt_c^G^v%`?V%+eKdplKC?*8 z9rYhpPT{)d!@P8g=JeAnjt$qO8VqNJer5f8mACKvHnldZ$4VSbHs>EFl*=+`sy?57{>kUcTW`(Of8RFtpJx!5 z-7BEfXgu@G^H+0rww=pSoa?7vu>JPZ>#q}UfBO^D(`~>rF{mi4mMOtNLZRir_u5Am z|13{=X)fM+tTdLP$IxW9?<0$4mtRKg|HXYY$?)XC>sKm2{9nOel2`Us_xCMN1_lNO MPgg&ebxsLQ0C*C}wg3PC literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/antipoison_pill.png b/kubejs/assets/tfg/textures/item/antipoison_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f2039c1924a04752f2edccfe99f0d8460d7330 GIT binary patch literal 599 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZhPZ!4!i{81D&wGayiX64SZytOw#3F>p@yU~8@|XE_51Xvm&~YoY`yaz?j|;0} zw`7So{daPlJ#B4|gGMKlF|Xs<83#XwKVJXw?4Ft5tM65BKRQ8m#u9eDJ7+D$&smBK zCN57FsbX<(xp0G3rn)dWTw8aq3Lid1Cc$e%8i`4==v8t+-I?+^5d>uq|}Wfy2G4O5{&p zDA8&TUz0G~OkQkRMeLlQ*(}T6fAU2}_#`Tp_9@4hS#&vkw_Nt@NV)%3s{sb5$4 zpM6Q)^mM7cq2HHpo~O6!&5E978GYX+`IW}c87t#z>ehdn*0*z!bDm_eTL05q8D5EP zac7%5@7Y=2trfJIeZx4oT}o!L>C9t1wu~V@-HFzGj%D+@as!KedG5O{%woFlRVlTp zTgIYBpuC3d^rnt%sW=ga4@IRRv8BA8@9mpJD_Dd+Ue^3{a#nC*!;VV^+M<6J7W$k{ zTDoX+%5*cy-`nN{i#zQPOH4R2D_B}H=6%ldG%e-a(yuS}d75&~Ealpx{p8An4>zW{ z{_gFS+Y|YB)gBFjh0{(2C@$ZYns>c=#P4r%}Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/antipoison_tablet.png b/kubejs/assets/tfg/textures/item/antipoison_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..f98517d494202b1de23bfd84224230b98d32f7b5 GIT binary patch literal 599 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZhPZ!4!i{81DE_zQ+6ggJ^etYe0yY178&-S(~(FxkV%|oE;sKSJf7l%3=OHyM? z10BQvvO8{%{=C+H=EmaSa^Xk6R{pw(y+RYGJ?(yydotX6Nm%-oBVTe(uZxhGn5EjCsdeb@ zgPhmL?)`Zf`Dt2=m7u%1OiS7~?<9k3OqKuhTD?-c8z<*3d9G!#WvMLd;=|@DH_OHH zFPtyi*_5_@;<+=$`kyZ~X)I-kh~KaG_N~9jhRKcImkXuzOz!r*Gb{MDcaGnYo$~v1 zIuAy4Pkp)ad{};D!Oaq}>C-#Pcn|C|yRoh@XwFWvGiTi^J$a7J`W)1IEoeiGp22_9 z)5o_LKe%-8dD}X^INQ2YiT(}N?&sbHU0Re-b2dcW>afyI)+^aZKdyf6X)E(|g}KWX z`$L+(7vFNe;kq{I>VkM4w)efV2^nwRC7l_n)s4;S=bxgoJxx_VC0VyT%ttW{5ESa&2Ae^?xM z^v||aF7Ga%EBwoOfv59#wTpA0`;0UCE7F!$GyPju$He;QKf}@6T8<113=E#GelF{r G5}E+3j1#s1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..bf4980a20ce7c0929f5eac35be6cd679b893f1fe GIT binary patch literal 580 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o{+5N5n|x9$%E0|R@Br>`sfeMTW+A&uQ{%l|PjFkbX@aSX9IT{?MVo|d72 z>-maYFDa4CsRFJZCOQ?i_Yl4-~G z6`zmc{=f41^YmWBXP;lcULEsVxM9^Qkp-7uG9;{Bs^iTNBKqF;_uqK}Osl#K+1}fJ z{uz@~_44D#i2_WDEq5Nwd0b&5l)U8nYr$ldV;zQVck{k0vl+}k&wAlufk%&EDC>dh zenYlUSC>!B^XJdk5#wewV3>T;rTws?Qd7r*RV%dKzkhGy+q_lmy{#e(!>+q|+j1xQ zH+=r-!*tz*ck@l3w9PZ`+`apkLHMAhd!UG9QksC1!m*ByC#UN>)y?MmsdLXPg}oUf7Rdf6T2HR9mOKG%*IH22WQ%mvv4FO#oIj0s;U4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/bell_casting_mold.png b/kubejs/assets/tfg/textures/item/bell_casting_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6c6776b9212fa52efa1ee3a596f32991ec4d88 GIT binary patch literal 1886 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_suXnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`avc7m0xRdD)WnkfqLBRj99T>Rz?`gLWTI!Tpb?&#my%yztcj!{)g`ec)mF*K zz{o_`z);u7G{nfz%EZXZ#6a7?+{(ZJqSQA(B{QuOS*eMxkzt6Tg_Vhgm60)u($tc~ zl*E!mf{Ig;tH&PqKU4dkx7cKWl~y-Zla-4s)>bVikV3& z#23E4RxbI;rJ$Gv>4&89l>Fq(6f1+%0uq0ob+UJVQvgrvPuDk&1`16!hnm_y#dK(7Jouk) zZ8=xrj--)=iu!aD+xxkh6FWSjf(2NfRNjluw*2$p=q8<}Wls!vUVg0D@b0^H?E3IN z>ptggxtCv-JgQ+d=u_Ssr~hhK-@NncJJ)HiSeLDJdeSGG=bsBK&M@5no+-ih>i4|- z7RPC+jvWUpcE&`sC3Y~(SU$Uc)^vdxi#3Fz9qJjjeXP?rfuUHx3v IIVCg!0GzOTEdT%j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/black_steel_plated_airplane_propeller.png b/kubejs/assets/tfg/textures/item/black_steel_plated_airplane_propeller.png new file mode 100644 index 0000000000000000000000000000000000000000..38694615938d3f29edf92f645527f2d05e803b78 GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( z1%}{a-Y5nJ#_66ejv*GOr%v9O_sBuSwLg-JeZx~Gcc)Dmn<974IHvT7U*cbL%Izo3 zO#k}NsyA#|IOEW*9IJ4{OHtbt@($$)M=O47d!z0C`Q7gC`+hH2*dh?cvGAwM*4eZ4 z(~TcluwC%de5~AX?f0|y;o(OL&je3WP#5kq%rv*PQ{`lvkYmRFApifAGg%Cg(WFpF+Iq?CqEmZksJ%clv40 zF(sbT-Hp@cd3gqke5tZsq_IeYYu}crl3lSq;hm=ZUcIUw&!4o+ew}^nvEk{blj8aL z8CV<}ZomKh_+6h@lYrCdlS@o|nSbm%Ki@?4eDNX;tArodj+|O>>F3^SZ?;9VH8ZZh z%60$yMjh_UCaYI&HLaQ#zE=NyF@w+Ll<$Aeoc~?DZ|?lho9-J=-6XbdTF|M87RAF4 zCv;!z=)TyoK0TfNvejKZhQ7xp?4Fvbcg{WEx`0EmM1VzN{cCOG3p0+?r`~(}-P26k xFLt}(sbd?nwSB+Y^t(zFz1i{O{^x((ubU4&lTnV3VPIfj@O1TaS?83{1OOQ5_XGd{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/brick/deepslate.png b/kubejs/assets/tfg/textures/item/brick/deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..d61268f6435cbb3213b397d0246e3bec75bd483c GIT binary patch literal 1946 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1c*>cZh>BAW{OpsX=+-Mk#Ul)rG=rnu92yUg|4NM zk+E))v2kj$VQOl!g@GANze|2{DJaHa`cp{M?_ZReo|%`JL$*1fdFK#VQVNX^5Q5Fjdw^V3So6N^$E z(^K(u9l!1ZC$MjE{wOg%*$1|qhFqD5UJ zqv?ySQf+U`a-N&9a`yY5R4G`%Y-A|6?BB%2Kc?Mxd-6#%WA`y1Kh|?!9c?TMjCV8M z^SPXT?9R7W3g*j}uY6SGkZ5FlQ>H2X&2fzUJQKlx$?y?x!|Ce&0%r-mF{TU zPX2l)(`@#Cp$|>bn>Sz4iVjQ<_OtO4c;`0zEK}sP|HilXt2F=jX%_m!cFVdQ&MBb@0BFL$1^@s6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..93a4849e459a1677eb9492e8125af96aba22d773 GIT binary patch literal 2235 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pm(%P-1JEU{I}%uP&B)i20PS5klnqm^@hPJWSZeoCsXk}=p7zP?tTdBr7(dC94s zF1AV)xdnQenJHGLi6*9&Y38Q7mS(1gx<;lZCb~(6mdUzi$w?L_MoCF&rYWf~{Vw^* zrJ$Gv>4&89l>Fq(6f1Czj!NI&o16aT7MDqa;R%GSZw54VL7L z#Ju#>6k8>IC6H(IK}8HCQuNW|3oM6J9N8(@fQ5ow+(1ll(FrO>?GzB@b823Stx}Pa zy_PX^RsIi;={Illv+rFLCW?uDp z{yFmg_Sxhe4uk$<2d8&vu_x^@bErzhqv9i@Q}fkHP_zy8@Vv|ZYh=tX#2*fJ#FSz?*kj+ z)^BAA6Mf*fbJ72A`zK~9+*f4QJ@|})@vymIUc;@IjNfYS=jSypT(J8}Wkg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5n8bh!dFe_D@L;rZ&dFv-w3)yM#pnh`d`OmWOhPAx9UFDi!S7N^8?C@Uw^Es;IwL$m<-B;wo1vM#Fv_)1QpK25>G^h2vmQ0Mrt13L zu^i;~ySeDbXB);a8yUW*C03e!#}}tWE_?pBF1~8-ydV44e`Rev{#bGQZQpaxH^;0G zSM76CcAcambbRBQ>)DZd(|46y&5cpuao&0VebLUCDIVz^Q@vadmd{$|HRt^EuCUdi zA`L#z%Rj|WJesud$;XPA9tS%XzV_xfWxInI-{hM~cP`QpZ`gDH{Z*?c|5-X3xW8S^ zQhi$%JtuGb>bY;X?dN>JWMue7ZUYmi__ohN@28*0zx_5WZSzdG89r+Jnf7SzxddC(?q$)DG|@ z$Tl`HD7lJ5$)2OVr+)yZ@PRpXwnelF{r5}E)pg}u%I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..ec820202293b50f323c14c8148f12b4f3d812213 GIT binary patch literal 2286 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_pNT%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5nKbSNt)(+<0%jnfQG(~OcWbj?hROmq{? zOj2|$42;Zm(~`~2jE#(pOie6|Z1h1HB`1@RS?0#c=EjDm2D*t!md3g!h9-u(7G@Tf zx`~N~sg|b3sb;20X~ddkVUc8Fkz|ytYm|~~p=)ezVySCkm}IGIVvw9sb&_sh9)M)x=98pM!JbfNromyhAC;5DdtFKfqe@JI(__M49=of z9+{vpuY`t9aB3lxm6NFe&Xrb)$)M84Rw)^j%~Dg8pu(A0QY2Av57l3uk(!4$`$23k z&QB{TPb^AxOi#@#A(*}OaXG#?u?)Y{iOWn7H=#Klvp9e#BhBg1U`ftM%u7#Au~pJn z0(k};n~+G+M~^SC98!f~rvOO?K`w3}Cb;qfRb+Mwh#E3AFU3}=NXg!A)7zO%3=E8( zo-U3d7QL;(x7Rf}@O;@WU~s~f=@`2}U|?Pmcjy2AQO3Tj(!&ocN}h^Kn^Cq~TPf=A zp}PIcHM;Iyxc;%=$m!2EOevoq7A#1Vkf^;MeA&ci|LwOL986q?Cw$jtI{$p~v&v4t{7e*ZnUYte$!PY+!zz1!c=;dA*&N{`^f1+T5j00%#d7^{f=}FQr)^qH0{I`ocf}!uYvN?CllHUxG(@l>atlInR z*a4Ly<_Any-B>a=-~3>+D05bdMBA(;KEXq24*O3{I>fzG(#x;q*RSWG7Kx{;pUXO@ GgeCy5AOI%- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/conifer_rosin.png b/kubejs/assets/tfg/textures/item/conifer_rosin.png new file mode 100644 index 0000000000000000000000000000000000000000..253802c2a7a009331c9e3ffab92400cb04fc5814 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s73PZ!4!i{7)7_IooWN*uRWpLFX&iiw1VZ{uHHzO~OUO$+XRq4by0sm0q@w~(ck zck2tOit5gP?02=67dTh&X+GhflD*-(ZM-R0RMmqAmGAeRfBw_%ees9m7wVL&Z0~<` zsSBtI&T6vn%xYaR-DWTIfnDd;9#B2-?(7Bc@5K_9{`<7&on=j~Ub}li(XEbyM;uFB zO5R-GKRb`}L72j9%~!DHHB2j8t7D|GSsXx0Gcg<8JfjiGROpvOeZ(|E;)x z$8U~k&7&m_B5M6*7dID*#cIqwD)y^%&28?TS^xPC?Mrprw##f{f6f{&=H2Ft!#b*j zCYZ&XHHkAgoqN=EwRLFM*`jDG(T$(9xi`)0b+%{>%~W`wu6U_!^;%Y)X0fCHjqMmc YXHSxNu_tgd0|Nttr>mdKI;Vst0E5x9g#Z8m literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/deprecated.png b/kubejs/assets/tfg/textures/item/deprecated.png new file mode 100644 index 0000000000000000000000000000000000000000..d103b387ab39fcc02eb976221857f60f71b42df7 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0XBj({-ZRBb+K z1_p*Xo-U3d7QJgHU*v5u;Bl6}`t|_Zo9mvtT$k_UjA;AKrM0fv!Kz;H(GI^$diP6h z8NOX(xRIs0VSCxJWV?NgT|&xop0nfw=d7A!YR{=LWsc}_-JGqla<6~NPlj!* z=FGOX|9qJYHz;KAT-Ti%Xj&}bs#nh!_`UA>wUUYN1ioE8cz@f6LbI>DDc=rmd7zVi lG)zHxUlljs&9DC$ZHjZGb+e@2GcYhPc)I$ztaD0e0suu$SKR;r literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/enhanced_propeller.png b/kubejs/assets/tfg/textures/item/enhanced_propeller.png new file mode 100644 index 0000000000000000000000000000000000000000..867af8c7a1ee86b6b23da953a0c07fb06d3f4d75 GIT binary patch literal 587 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 a-|=snzs-MIRqz&2RqE;L=d#Wzp$P!8q!Dxg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fire_resistance_salvo.png b/kubejs/assets/tfg/textures/item/fire_resistance_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd64b346631f9efbd544dd999f3a8c1c3c9677c GIT binary patch literal 519 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s8Ro-U3d7QJgH8+t@L${eeozT986vCZR3#7YsSsal;$w{>!b=1vhS6y$mvbYbsq zixQm@4G|VcamQN=^>i6GLzd~j)@Hgo2eVWAm ziT~Ke=F2Q@_q%rqwg~8`CST7x{_g2JKfA28H~7?#F!rIU<*=7eQL zaR+(nm0Y+fed_yNsRKGP$#X?cyvx}<-&44D!h)PxZrk#v$o~cJE)? zp1ZMLN0t0``ebEyKdfN7y=jBb-qCGePON)y#sIkR0W(2YBoFfxqfL& zYw)@D%zc%QRk-!%x$F#CcJEql@3^@1x+LSJowFErh%8v*;B{(63FCz|vwr#f7cJll YTKS}3dZxH50|Nttr>mdKI;Vst0N{`26951J literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..83220a2f397a709a3d8e52847baf5646f3e97c6a GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o{+5N5n|x9$%E0|R@Br>`sfeMTW+5sA}z53VpUFdp!9aSX9I-8y-1o|d6N z>;8|orkDh(2ynCB(m3TDur}ktLIHo*#%Wyl7^)U11-L&v{_PIa+V`$pJJ;o8)*O32 zJNe;Bss7_q$v)3-=BU|U<#dRg#&sdXgki(AOIceP0z&tEuc@mOa&ibYJoaGk@>N8)E|mT1lOd(P*>@?0iznrg?gdo2Pt-hbzx{$EtHOKD@KiPRNgqtfU9*S;*# z%Foa5;8-;)Zm!M|iIbn_JSwf$I5Ai&y!( zs!i@(cm1`5oE5^+#vVsbZ@O~*dU%iF3axXNAye!2 z^B<_%t9IIG&v%)A_i3k>+Wcuv+gw>c$uK3dZL8Sx7^Y`?{e?GN+jReZq~7%J`#=2s z%X{Eyk!Qgto9C}zb3d0+WZ`RfW|DRCu$+*-guS`(+7ZUE)mQts)-xOx<6Hl1=c0$8 O$oF*hb6Mw<&;$Sz*Yg$t literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/haste_pill.png b/kubejs/assets/tfg/textures/item/haste_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..567e551230100d7a582cb07e26eb48de3c2f603d GIT binary patch literal 612 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZEPZ!4!i{81DeZ4~pMUK_~4{Tb)k-La#>rB_q#&3(ZaV&Ce2@Kk@!u8UPeZ3Pd zwZD)S$?Do|c5P9sqlBOf-(HDDo*FZZ`HUaW-FdHi@AvxW_bhdDbeuJRAG|sDbHTad zbB-=IJZp$c^(v0-pykUbw%I+oK z{>f#&_C7K5-fgA}6L&Bj`1@}4B(vCgJ-w?>_FrD%6}|uRwdoVSEfaoX+y1mhu3Gc# zl>^4C1>fD4^Yr(w_Ifu>c}i^mob2F|9H#s2n>L93x+7DoQS{eFTz_ll&v%onY)!V6 zvM+ykcham3-9~wVs#!%Vk4*d~=4XD)aF40a+f5e6?epe_&t?(IZ&T$tZL#d+qt)M8 zrtva;6+d_BmcZkfw}EMMW#)$mJ=s+GrsUc5&bz|RML#37b$JaReY9YomHfu-%9RVn zPbFBV+fXVH@TL23|c}5znWe? zW~9BWb8FT^YrPfo)x?4%)A(f7c4hN>KDO?=wqg~B5DSBa{IaV-7bneXE}c>%-z0Ef zLtx3KRZ+n(mR8{X>w(Y9yc_#PKl U|GN4r0|Nttr>mdKI;Vst05j+mssI20 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/haste_tablet.png b/kubejs/assets/tfg/textures/item/haste_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..ffede09c738570867b3e6c1d6e6c896b97bd3104 GIT binary patch literal 612 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZEPZ!4!i{7adPWuZ7inQ04$H~4B*^+sD#X)vPUy;QN1e}%Bv}S23Ccb9A`$JqJ zIY!z%FIK`-DyKs)CSb8)m$b0BPR14$JGTXAdZOfXd0MxHMBRSeRI)_YeRqnFnx}&+>#zLF^FyRgE)+DA zsfn%RWss=b89Sev!(x$+b7Q)H=Q~9hCHb*W4J~?`sfeMTW+VYytN%W4b^jMqF}978NlmrmZF_sK!v zNPV?k@TCPF6E_I6Ui=`i^2G_}t;OSFW2Brf!W}81&^mHgF&5%rU^Xi;qZ0Hs;b&3$f-@5y`$Iq!B_*ui2u=!?% z$M^5w|1ItiNPbejW1i#kYbLya8y^;AtiIayZr!RcRkrG!`=_4m*|l!v>s$Bk z-`8DwBx~!W_ICEJMISV+y8RN;p3D*48FJTz_wd6B%QD{_pEP;Nl$Z;gNj>vQ(%oHF ztm^9T=NA^dckf<`iBu(c`TCdT z*S=QuuDY~M_wKQ>qlfj z&mxTu!=PzP*_W-l=g>3pY}(k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( z8KW2Bs;UeOOv;`vjv*GO=T7$bxSS|)-2Q$3Y=g`5ALN+bSmG>Vp?l%kWsDfthRCLsr|(*?*PPL_^hR68?dM6>FLbRsZ<r+NZK((Y|NDE30yHkX`1klN7Y>h??~^fR~pb)&4TU&6DN2{eAspO;`S%aV|(*Oz>=XWh#^vuCV$skk*f zc&^1g-}^g1v)J!>uvAuQ^4U+diE_T0*Xkur?cVKY^nSg%>qpO*Z(lxTUG+BlDcBHm pFXZ>EV-5GT824^{$MTO&v(xtcQsrek85kHCJYD@<);T3K0RR)LInDq8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/instant_health_salvo.png b/kubejs/assets/tfg/textures/item/instant_health_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..4ddc9c08498df1b0681a8604b417149753ed0dd5 GIT binary patch literal 550 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6(o-U3d7QK5X?adAjlsH!Ze3|DgiAz;$AF)R%vx;u*S|Ka4YH`$rBxQ>-0g*q_ zF)}PK*L6=`9Pn1dA{fT`wuqn z1-&%Q79V96H2uF?WgSaX*1>gL8zmib{;#mw{6{MLo!)EC<~OHP*{s-&ezG!L+8o%F ztX^NSz4r~z{XG}=h4&rWQ{Mh*dT3P8BHoG%zxJBdyj;XTVQ%`$l37nCKi`sN+NE9i zh;y;{gn7N2zTQc_X|gup$F0yeKhrlA)cY~*xmcPg!S>XpEk)~SbnN{X4jczBeZA{^ zI9*-0zT{Z6A9{cNpZg5^83lK}EHC~ik;A~iz~JfX=d#Wz Gp$PziCHPMO literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/invisibility_salvo.png b/kubejs/assets/tfg/textures/item/invisibility_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa479e08a7ac0a2ea1995c89192c9dafcd633d2 GIT binary patch literal 528 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7Mo-U3d7QK5X?ez~%6ggJ^{NC**uPYOpc4S;|>;3C+@Q6lpsez%&qg9(H%WF4t zcO6?{+}T;*njIT+RXaCt;Wa*kA3g6+eztyY`CN3V z$nLA3jNmw3jZ*ITxWUcg9 zzJ~f`2e*ba#Y>Bw65J9uS54niP~rdg-S4-r$TvMX)$7l_5^Hsi-ShXZ`BWPGyz1Da zw}%q`9WU>--X1=g;pUrazn*(fwg}mYW^E}~P_pUUFXiFG(!Fw{)1l8M*UXe_V&5G% zF;x>AT(4C&i5qpW4ct_B?zk^9Q5P9&`O~^T>WHux<9z^(ypKpIer3OKRyR z$F)i}ziqC6+o~MnDHHHI)b*}O#x1LP?B1-sorUbjMYrV~yd_`~C?kJKMBzYLi%*e5 zK jcOdTSXYK#y2jpk`yT>?T;=%U}3=9mOu6{1-oD!M<#wze8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecbe20a458b64ff17ec32c9c886ff79b9fa2cc7 GIT binary patch literal 2248 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rkOnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`avc7m0xRdD)WnkfqLBRj99T>Rz?`gLWTI!Tpb?&#my%yztcj!{)g`ec)mF*K zz{o_`z);uFFvQT@%Fxux&`8_B+{(ZJqSQA(B{QuOO{sB+p`n$DrIo1}iqh1Q#FWI6 zM1qP_lC9G6i*gf7Y?U%|6Vp@m3-Z#H6yU*V<(!|BU*wygl4`4D40eUDua#$BaY9%As!5`SsbxxvaT-j& zOMY@GC}u(WA*nniKRGkS3Sp~JVyZ<-nu&pKvVm!uu6d$~p>Cp?p@puod2({HL5i_q zqG2k`H2i%as0ilMp1DKQ<&%E`3D?r7sQL(?>)WD8w06C)GdL^G2V zT?+#vbKSILb2DQjBO_B23nLqSP)5ngBxII_MUsg{l2Nj*QA#q%+a{K}7KTZdx+Vt6 zNv39|i6+Tu2E>|`lxk^Unv`myYmsVZp=)SjVyv5FkYc2pn3QB_Vq}<-W|?A+WER+k z5bx^a4;OH@vhv6Tg;OQeN5QFuP*zT+0yrmGB_@MP2wSCOP}WFIQGyC*Vo60r#TQh6 zc}8j;-Yf&Ly*NLuq&%@G)iFIauY_Qh)W_xc;>0riPA4t{K-`4pbj&OaQAV26p}~@z zk(igBnqsS@uLSZ8I5r`XqK_V5U^%2h+)e?K41!$TKumCj1FC%N6cDvqYF>)1QjwCq z-HjzJrVI>>`JOJ0Ar_}=C!g#)8C-9pI6Ro=!{t( zt{Rp8=w->Iiy2QEqS9OH_ODN|lD70;lD0SQzphyK{XHI92WmJRm^dU1`;YwN|M{}y zmli{3W&iPHFTbMuZhkT~0+z|_Ys0jKKh)aaE$jR9^G$>CG>Nu_CbNCNi@oS+R(f68 zcr$02vIWzf*PCmdA3ZsJB2Xmr`^SnmeGSd!cTav6n^9{tGb46y+RJz-6CNc;j8b0P%s+qC?#cB3O@eC$CQW3tw7Na>@q(b0FAgi5 z%xOqXoXN5BVn)Wih_zu$WAxIQT;+uqNr+rM@RvP!h4Rwf0y?)rZ4FOXKbLh*2~7a8 Cassjd literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..efdc6d3665692268f75671a6f2fccee1c24591a8 GIT binary patch literal 2255 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pmCOA=EOOA-kx zPD!>(%P-1JEU{I}%uP&B)i20PS5klnqm^@hPJWSZeoCsXk}=p7zP?tTdBr7(dC94s zF1AV)xdnQenJHEV7Kz5GmX;>E=Eg~ux@M*(hPp{fCZ@V3M&=e~sg_A;MrIIS`1)G8 z!b2>_5geW7;>Cj+F z&PdElPff8^(pLg`MjuqfKq5sSJ-)zlNX3zzf(=+G$i)rB1Q(s4V$@CnQ9h^UrPwMJ zDcRe-a|)lrz`$7L>Eak-ak_T$&Az4p0hgb;j-A>rz5IC!-P#X?{{Fu{&(b!t#dFG% zqKB74V@oq-o*y=ye?HY}?zMt_v5PNyG>Gbpaj#tE6*z6_96$BD{7nvOlRH}ySA5lN zy#89X|G4wI>#Og)FIW9kV>kb4frZDs=aZJLd{br}+kW_Abb{IJlb?T1x&3yT%j+{y zBCS>ya{XRCi##sA|9+ck!poeLj_IdeWiOO&zUd)z+$&CR`df}C&J02Zj2#cY`^X%q zotCN<#_h07SY=ls|BEyihE9$*o7Fs(nh!e6`B)KCuB!bcEque>ysrw^UvJ&l?89Tr zz9u65+W)zVw}1bw)3=GY=5z!-gi zOHuNs+6A`G=hK+4mzEmbaFKk#bb8H%n)}yl!_I$Ra`|P=e`nv0qz^0Kv3tLrp>b!j R2REn!^>p=fS?83{1ORji6fOV& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/lamp_casting_mold.png b/kubejs/assets/tfg/textures/item/lamp_casting_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..d94f7b4a2fba9f677a4c14aa847b82daba37ff7d GIT binary patch literal 2070 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rjo%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5n8bh!dFe_D@L;rZ&d6v+nImo7hT$PfUVwGrUnP^~cZl-H$Y;LBTYHX6In`mKTq-&6B zn3$YuXl!I`oC-?K2%BN1IOZj%7MJ7~6+?52Q(`)lm6K_go|#)<1#vT&X=$2hkY;LT zrfX=Dn5b)FW@w;mnPzIBYh-DVW|CrHXk>0=Zle#%A~~6M3J?~=Kz;l+gA=ZmM<&Q6 zl~DVGQwyQ2oJ<99TD3|{2IWCprDRazOHEON3TI-8C!#_Gs=quVH4ks1gxFr3pH@H)#_#`cpM3d*OCo*3lhao(&C}a%;&@@Gxh?+Tk~7c*2QpLF@F-C%S6>CYOkS<60E z*qBWCKmD}pB8^FhA1ds=>$mOp+Ih_f7clrN4?elc=iT?+XP$qq-x{|*bX#sXBg27Vs-Lk z#g+RvI85GaiEfF~jpgZ?Ab2?G)*P0vRkmA;x82UoG@G42|LN^y2aCn~|I{%Uyg89O TA$7qUP|fY>>gTe~DWM4fKAFa( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/latex_soaked_gloves.png b/kubejs/assets/tfg/textures/item/latex_soaked_gloves.png new file mode 100644 index 0000000000000000000000000000000000000000..831a6a831e2b5d5f7e1cd00251a681ad69a1de0d GIT binary patch literal 2043 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/loose/dripstone.png b/kubejs/assets/tfg/textures/item/loose/dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..3c32afdcb463347321b3f76b644a92c8707bab7a GIT binary patch literal 1747 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qY@nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)%D_AdqRKZvB{QuOQ8W`o1d^D(oq~-%C}%=EpbyRmNPYv$A?0G2@*o#C5EESBfC?Ww1w^TqnwMg$ zRHS5YcW2GqGYkxjRh}-6Ar_~T|NQ@N&#c-|C?R>^#0d`Zo{}y9&!0Yg=z#7C=4bmW z{xl~3{MX!bLh9kK3%nkmOaH~+x^?!zp<{pO^U3b5>$s-H%fTbPt?8aP<7ag0F`pcPL7*U3upE*ZFJ4y7R9gml+TqIlze7lc(-cr U!_2uQm7r?J)78&qol`;+05e%|cK`qY literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/luck_salvo.png b/kubejs/assets/tfg/textures/item/luck_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..b28828d87b9f604a898d83a37a5594de23c3efa3 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7ko-U3d7QK5X`DP0TO0>@3{u7&6ES+21a)4o5o`M&3S zOrY1su(!L+m$j6|#aAh93OjJ&Zs64Uryke*?!5SXdGgbOSBIGy9(8iEIo1A*+h2eA z>gUID4w~_9##RyXTnRZQ8QG(Na_}Ip`ZL9Rc887hhC5LPM;At)}@K_k3k{$U%KZqekeA-OIY^I9rJHjth zu9cjyo#)1!^Wg9MnS3nFZ+RUazrDkvbSR*Hxz&c?|JCacta)khH?y-RH2+r^6GORu z+xB(I-s|5PGNr89#ju5CN0H;Yn8m9@8|p((um5wOVLwCOhqF4l>~RGQ3=9mOu6{1- HoD!MkoP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/lv_aircraft_engine.png b/kubejs/assets/tfg/textures/item/lv_aircraft_engine.png new file mode 100644 index 0000000000000000000000000000000000000000..016a99d90c0100b1b693ae8edc6231dcaeae3477 GIT binary patch literal 756 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zahdC-9~BuGm@GV9978NlPo3oLFPtdSHb4K?%yS|#Pn4#!+|kHdvxw30fB^H0OGl2h z>fG2-`t(pQ=RaoiV=h8>G^2cCb{Je_T^F)KpjRp6km^*frMj#Ommc!bf4sCf}NpDf?^-Jx;S>J^(_X{}nbw`Ak=fathP#yj@c84r9d&yR@d?P_AUedFfV+a|#_ zCzpNf?fs~`OXnZw3FBFs0VxK-d#;pL|2Y0jN_n4Q)5h428;0>0@06IEJ>AuH=5PvA zXsG6;I}9F^Cb#^yXiGHu^=RGRzA3`8Q>IV*^y@MEo|KQX*cfi#zMXUA@tTvzb2gt| z8t`&w*8YfFm0g!7Hvd@uCr5QsN{`8=H4`-R4?Ybt;1Oo{Um_5C^+Z~c9p{4$&o!7A zs?OnKuj=$u*ul`Sc-P%~^>zYjb^`yjb<^|x`%NuORQTjpY*gAPG4t=z7phj=FO_AC ze4a5UhJ-RZgqk|dmz#Jts^wb!|AT99*P6Y3wAVT(PgOAVxu#yx#w~jivp?>9?xMbT z%hqiZw{H4r=;!MjwQ0?T^2cgx*QQI#@CC;_QTp<8rR|NHWizv{X0kO&);xavQ?tTG z-KD&m-Ra4rwfDClNV{}kZRVW3j0XpwiUlomOu5#tqdlW7vH7jYzT-+sPxkVA3Pp&0 ziCeMke-JlA_hsRfGbVox=Y}6X-0J@`)k7Ae@o==>N|0YEB<-f#Fm7w={Dyd z{}JA>LrT=AX5%cW*%e|}XUvp5JNILl(+B&|#nU5At7e8~yc4gwe*gdRST%hH1_lOC LS3j3^P6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..327fbafe4ddc6c99f27481eca94bb7ec3be56506 GIT binary patch literal 2125 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rjxnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`avc7m0xRdD)WnkfqLBRj99T>Rz?`gLWTI!Tpb?&#my%yztcj!{)g`ec)mF*K zz{o_`z);uFFvQT@%Fxux&`8_B+{(ZJqSQA(B{QuOO{sB+p`n$Dg_W@-iqh1Q#FWI6 zM1qP_lC9G6i*gf7Y?U%|6Vp@m3-Z#H6yU*V<(!|BU*wygl4`4D40eUDua#$BaYbnXrWqw$=$e@rndl~(nWX4i z7#NxBrX`!385(L&sW z=5)+#2T?|v)1kqVoROH9o|3^+C+k)n?tUtl?;g4a#~k_>`e+(1llB>}21 z>=Y0+QEFa_tx}Paz1@@#QxzB(7#%!a978O6dxLMUYjWWEvR%L+#?-0efe?$Q1FMM8 zzyDj)W{I3rdS2ntHZ?bW+1<6)O1E+qd7Q20pEtf%XtU?h(_MOulVn^4zt*0Av8yj{ zyYzece)mtc^Zk|!Ki6iuY;w_}?@NtcrUaYXqu+J=gJq8Qy#DIt8u;Or#W^JfrS;dl zJ0Iz|oILp6=KRgrOhpbRwZlKvD_`d*G|aff^sCw7_O_m_pQR$F)p8vO{q?t3ribZcaw`AK#OAn(|jo=R7%V*BbV4TAL>3F>($0UwP z6Byqdj7;)k{rz_yJM-)pybhuolG+~aha10de6`DO)-qkD=zb1G$s4B_zw=J}VEN;~ Sy2tUL3g6S!&t;ucLK6URdC1WK literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mattock_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/mattock_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bc780cc2c5392fcb551bd68103ca510b504288 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s8jo-U3d7QLmD&t_#AinQ*R6>j(IQdm@QK#8N4)!kkDR{N!9e$`9z6SnbR@MNDG z!rhv5+%?ztn{0*fx_i~eUgsjKQ`b)2>l!L3=y(0<)v0X)mnzL>|78sd)p3~joGUxTx_?ztPvZXj%pJWsbN$%g+ur-lQgCkL-8@dkg0eCl=X>_;OX^W#iW_)P*%4lWUE!%`xTB^X#JN%kK%n(Mdp^2;UM!i`&}*-M|Q_TL+)e*Uxa zB#)B9!igK$I(#QCkxZVnv~K_U<(r&2RvtTc=>7Zmi%XJUEnls{Ra;l*mm;+EdF8sR zS*E6a#d<3%>+7FCd*;@)=)&^l>epVI^7HezM};oE{yKAMkf(pB*3=Ex9?kJ?+#01D z7Z=CJoT8hbpMU56efhM+%{Lh~+FVdQ&MBb@01IIPQ~&?~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..8398d97eb941b665c4e40aa033a0997540f28681 GIT binary patch literal 2235 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)iRx(0~}NGlTsCe+?^CO z3@t4!G#MB)&L<}%7!{Nh7NrU$B%C;_t;tnX9@Np%6O>?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pm(%P-1JEU{I}%uP&B)i20PS5klnqm^@hPJWSZeoCsXk}=p7zP?tTdBr7(dC94s zF1AV)xdnQenJHGOh9=3zrb&sqrj|*@x+dl(rn*UHsm8j-hQ?+_#zw{l7M3P3{Vw^* zrJ$Gv>4&89l>Fq(6f1Y53!$u>Oa*Y7uu4n@rFC1SWKblhrYJ#$GqHpRQ8q*M zmuIBr;f;KV?Zx?NCFO}lsgCKXc_joBmp(4X7blkCcRF!V32_rPr=uiBh%(Zg4h@#% zjKsY3)D&AKeI<}*^g%@oBvSOz;|nZ@R20Oa=WyX#s?swG>{{H_~RTV7I?Dr`( zDffKMT+P1Esl4sZFTelZIVXPg-8}A1PcCMtTz?%}x-;fUfknoi+i$%j+Ah8RYO(nQG zh~i^vY5rTc{-Z`$$l0{bJPUq&tjM^un)Nut91fB2LYeH3DMp&x9qJh@&UV==GUUuZ z|D3hq(dCy*j)r}R%UQ%xz9T{1o`b2-YHr`0^Uq}hLjUj`WZk)C;r9m7JSp)%ovXSS zmAM#wmtU@D$Uh}4$&&b4JjF&%+aY>`B}0OddFb02-Bo+z_Aoggd~0Oz{?W-*3Km~# z_cL5LowV`9@*Z!d4R`al&h_WmIEgvxfY_|FX;nrFv+eYHXYdMboYWk(c3HEdfYBk= w);A)iQoOyJtLLe&d;Ra96R(TWuW8@ekIdieaj*2-GEimd>FVdQ&MBb@03Z|&ng9R* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mv_aircraft_engine.png b/kubejs/assets/tfg/textures/item/mv_aircraft_engine.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c483869b4130dab86916361e2ea8c915196cfe GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( z8NTBdk&74@m_j{W978NlPn{g^F*#7;SpD;2X}{-2roK0(XuL^^nh++%F||anLN=~M zIYc}*)I;G#=mpm%Cyqnwb{Pn1zF61fC=jUWVR2hz>J`nG&yL-BK0o*V{JDDj%nVsR z&RKo9a^C$)zW2Wm37(D)Ro)wFI_a^Vf9lpRAz`OKruz2jXI~1AtkrOlNn??i6UF=> zWv6VzlWFHJYk$=_e(mVOhCLsDPG@C^d765~Hc#>8e65bj(N?y)UtJ#k7MN&$U!J#M z*}8d~dGo%NB^pm$wqwVPpyf+LMLd@IOt741QXS!agry-VR_vjccCzNCL-R`~>t1D1 zn0#_VP-)Cv-zP;s)kUl9|LCZMeF|KX_{i>|nhe+Ed-sl>k-G7gkLPkiYJpJc@us%J zie_euo~&8SYVq9q{D-+^K4%Zq9y%M8a@1?X=Jtsf4UMdVg(si!VK*!lK3V5@ zODi+ASAJK$q9^vYC(qX`x)Bhpwe*}&(5ff_ZNpoKvj}LtS`kt+`$yvtTu1``pV>r&b&OM-8&kTSUPRLHXQ$EpP(x!%#xn+d1>0cV{^`&uit*lVy|wW mY46r|T#>KWSrqmBXYw!P+Ri8&yOM!{fx*+&&t;ucLK6VxH%LMN literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/night_vision_pill.png b/kubejs/assets/tfg/textures/item/night_vision_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd96e33d405400b1b0db1e2d3c2bb772b683916 GIT binary patch literal 612 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZEPZ!4!i{81DeZ4~%McU>Y%b!q5>%O^lvYD%Nsi0nui|dswN=L+Ui=NvTTvk(B zlPi*Yi$lr9Gq-62hwodmNX~v{pVhz5LzY!zPz)b$b*~a@9W6IbUq?zLI~{ zDaY)?62T0iM-MB0$*Gxl^@J@eA6rDPO@QFS#k={I2RxYH(05NR_wB1Io8RVgJy@Oh z;AuBU@k8sZC^6yl*BJyt|1RFSb#*X1JKKib*(+~GK66%ddVjCGqu~3$3D3^tuH&~A z2|c>~e#!B|6VYPX@z+nLZJy$FpK(WJbwu$p?=u@d$gO0*A-_N)*x2~Z47HgteYX~G zy(6)2>GWOaA6xLgqr3j^o}60uDA##lgbUaU=D6qv!aI4!2He zHo1wh2aY^ZnVb8TrP=XQ*t`fEztB+8owC9W>ivf|&GmcPxy$O(OP;6lsX`}p?P|}w zuX^ygs#BF`j#FcAexTUl#A#t+0u#IJgV#?^iY!w-#9cfsr0Bu=b<1~t-7zmSMS z%IVZ=%7S9{GlDjW|C_dTZ+gvVExpRqLDx$IL#NgI{+R#G_mN}Ciu^yZ_KcU?O*!w? T%y`Vez`)??>gTe~DWM4fTxAl8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/night_vision_tablet.png b/kubejs/assets/tfg/textures/item/night_vision_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..6e0bb15512ede82babc7c5ca0002ebd2e8c30e5e GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mYtPZ!4!i{81D&U;@@lsI7jeqa3aYg^{LVNcBRRTsIGa_L|*%c}s7Y4$=}`2ORVc@pT@+?KlM|e_;>Ll>n5$;R*CoaSI&L#_X@A)`ZXWEh0ZyayugK}VOhZH zlCqKu5*#0rD`zIHo|>MV>@vU3NYP6(@4oD$`7c%V_-zA}Hr;JpC;qT>_r{w!J4)vk zEuXybpkqto=E-M|iyTN`UKWgm`rL%w75wm4W_**VR_YU86+Vy`YbsRXlI$UCBWp{wT zIs4wYU)5C`GNk0Lf0j++u2Zy|8XBdb8gJFjM?CMP$a-&`p6{LSstTg4URAFYZI^xZt+w4}=ZX)FE| f{^$5H`v-4p4bv%BwYCff1_lOCS3j3^P6>WUA=JmxfZGYGjWI4dl70U5?DxOwjv)*g zCQ^ng;?^@?c>R@OPuk{}d$_tXSTs}Dh&3`aDRg{(S#m1HXyMHqtDsZm>{qj{b~i+2 zPdcg6f1LUDw&Y1gJ9`A0qSiiRJa?Oq;gG?RO*%rIEd9ru4R|VJi#A56%s;>RZXTn} zflB2a_usQPHoV@|b3FOePa8*p01c4!h#Werv|C zG>CI;>5~VO9~A9;@Y`-%?&heqFUoc^+}PHeD3N0(&2#vG!MqJe_A4(5T4{f#tucs8 zQ`L!suibf1|9`6+@4wGjcCu)v%1ob0UP}d>3hd?^`U*GP&2v}!c%^r<-}1*iY|LWa ztX`Ua%Z0DM7F}yP(}!)T$nU@NzE+)mTlV|ig8T2Sqq5frtxSj%ds!m2*7W$}iFfnb zug$ucA@aRW;K#oHDVH|toId@uC}w?l+Gfea4+RuioH`_aTy^}i|G!+X`TX`sfeMTW+0oF4to}3H}jCVX;978Nlmrma6r)?(ui6-q8E5KvNo)m6!hrr+uk|GtGbH&rU-Q(b#j_p zQe5nOZswfLjI)+KEU*ahdid$nq#&-PB6Es!w%<0EJdm_ez(IX7=Tean(S|8P=PW}+ z1vfIv%gfu?*mOkBIRD&As#icTZ1q+CenYoC-`{+%4)R)|ReS&Q&!0b27aFY#(?0fi zV@JnEzINx>_1B*taN$t=U>g%IUv%z>M5p1a0*fmWiN3T%5_$BcDHS_E8fKUbt%6t*i3hnjJN3cTG9;^{eUn_3K~lUH;l? zrr+`>b9yhZwFsOk-m0ur@m{jmEyqmSR<8fr#P=!d)~(iB>ALd1_JwNx120Q96-Dxg zOuhUvMPc>I6a1lHx8!C^&Ukq>5G3pfA( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/poison_pill.png b/kubejs/assets/tfg/textures/item/poison_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8e95f4a18afe217b40e3a468468b60fc96355a GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mY$PZ!4!i{7P^qP;^BMcU>sy;pH;1Hy1er~Rji5spLN0fL9oBAjsMI)+jM-V&+=>!VtB&r z`iPVJ{3?f#uSW{<>zDJ{zEYm+w`s#3$C~4hjz3u?bElhwdHwGzWo4(=2b9=OTFJ7o zfakW}gUYU{W);@oyh0z|d=YC`A3Ndf&DKwxRaMqse3E(n4jwIwvHAL9*R@lJ*}rdC zqcU;E$t!oH?lVUh=^Xs=Be=BNb=~h<5iwl>8ap&Dyv4%$cyUh~v<_XdS~3 zzuUhaJ;4!f&7PUTvqAQ^$L&_Ns=SyG2Q6(@3i%{^3xobZ`B**`~_>lHZ>iJ6Kv?b$-7ZDT>ACun_IanR^2!!SA5W;v$11Crpw6`dqLC5 zE@w?X&eb^~IRE9*4JGAUrgdnaS?j{`O}J(zmsj2Oi=We9pL`}0GBxL1+Oz432ND}C z(jqS@9$ER*cjwdW>&^LdBTf8l^pb3Ij6~%~yjP1SL z;ftihyWZ{6*irWO7-I;_)*u;&g<&fa0=+ebq&7r(Wn8+l#B=udK55}(Vb`h$>-1{A z-;ozgRDJ#|Vn4%;h=X(XPM;8(eb=UmU9KFP}EAR2iZpA!% zxs}dSg5KEPRXlp>(0l!iSxOH+CmHj^%xb%Q^~}n}?Sd0``PSL4V%QS(;O+18H{SC7 zX%uLCc)&m=#-_gU+}*d2azC5C31sCu>N+X@vQ6zjp~D3a%6@-jKNR!wwepT*&e!Mp z@=nw;_>&m)lw0-KbbF42Op6RlMZ>8Ism?PUYd@6`eEBo3Awo;8{Z0QPCNBtS6k*x7AD6} zKV{5jA8cG_k#=*^t`5;9pXP4LoHT3J(|-q~bxt38S@O8-cSh#T6D3yR_Y*8XWj@+H zYqtJ`x!NCI+*FV|U-hTa;QFt817qv>`w2foX1%#{N$cKKzmnMFCc2kq%J=m7hf4nu wUE#WITf0jzm*B(4N6bTazqD`sKXZQh#^1RWt{i_D7#J8lUHx3vIVCg!0P74AF8}}l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/prepared_leather_gloves.png b/kubejs/assets/tfg/textures/item/prepared_leather_gloves.png new file mode 100644 index 0000000000000000000000000000000000000000..123308a9b97ea2552752a12d59fc3db18f646fde GIT binary patch literal 1973 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|U#y%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q#~`?WJ41p1#?S1Lo)+QBNH73BLhQo zeFJlSLt|Y7Ln{L_D`QIqC{VIfuqjGOvkG!?gW6S;l4h%vQBqQ1rLSLJUanVete0Pu zu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*(!6mggxhS)sBr`ux0c2ugQhsTPt&$Sd z*oxc&xUqS~&|pf=&(*I;EYLU9GXQxB?AMfJxVnPUq8za0Darb&IjOm+c_qdAhI)o@ zwFMdZCHch}`8bS*OQTp&kz3&F3%3KSTXJ*ZRuq@GmX+XFT^v$bkg6Y)TAW{6l$`2X zmYP?h4Dxn?m2**QVo82cNPd0}ETRHnPF8SsR?rB~%uC5HFV;j-p6ZfVl4`4DWME{f zYhbKvWDsIx42m-o(d1MxslFzu{hm2`L+M$0EuJs%bXK(?%rXY6C=uW!r;&x4W7=2vm_ktf0zF{ z>ODo@Az}99(-RI(nB6VBjk7s#+E&|rwnhgUKB)O#p7;6Bz2`Rh+6Ko8B7495nyJ81 zVJ<6J;5zfXea|=B6x9c-H!e@u)weOBVeee7|KdvX-v21tA}@TnR=`#8_3PU!CaLuB ze@%K(D85@Pq2yf3x5VWx3CR3w;_~>6^~w1!UgSL1citGfCokJ=>#DwPZPGv^qrmdbXnb=1?yShe<`@@CGX{(HO*MAAnLks zWrv13JL{{MusFt_FDCSV3C>{5^(~FKdE;QspV#yCmi9Qd1=SfXkDioE)|Jzd1{*q+HUATe4Z4dv$6Ey`ajH%7AfrCdUCZnsABbW^>bP0l+XkKbQ9P% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..747881431e663ba1c3e9c394adee6d4f85b9ba3d GIT binary patch literal 2069 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rkD%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5n8bh!dFe_D@L;rZ&d9{1*YF6 zKe-eXvmpJDRGyNboS9;Uu+`Gc&^R&0AW7FC#neF8G|j|B*U~J>MAtMq)g;l>D9y;& z!UATRe^F+7W?o_rvZ)|frDUd9rKK69m>HxR>ZTZ*nCd1Pnk4F4m>8SrrkWZVr>2>w zrlpvegHkiXW|%3CdC958CHY0g(A?sbm=0y-WZGeOv{9;~DGAJk7DkX!GU}}mIR5%k$Y!MYMQ2pf@sd;#lCdBsQ{Irtt#G+Kk^whi(f=OQ= zm*a~Q%kVp$xP%6A6PnX8vkF8RX-*bqoxQA)YRdAr`&0lWwnT3gB`1tE(>| za;4!TBkNJ_3US{*|F6%wx}<1Zk&5P7y}36p8|eyWnjS5&nyS%t@8i$8?#AmCI9fJ5 zyP2bQ{dMT$qMaum7F_sMVKePwhRWoVF27})o`2TtKkl5jefFLA<*Y?^a{WQmmcA*o zzL{e->G{rQ4+|oMB|Jkzxwgzc`TTRF=$r4=ta{VE_uiFM>`P`<_xvQP(U7zI?y0P; zK}@gCah!4Am^t%`|MJN~3iIbIduh(N{f`pk362#C{A|s$6nGAQ-&Q~IhS2rbTYv0( z|Bp4rNdKq3P+k1ARI4WE1MJMg`=?y6o`3$XU;sm7>&i@}#)e(bD@_@fC3s3aGyXS; zK`kO>{q^5wlXmu~GU|0X@uoP~G}JI#E6*qt>uxo3N_l6@K5L?dHJ8=gKB;D<&4Mcu yZl^f>t&4yCByYR++p^ti8C5+UX^U2}zu}&zs}o)<8ej*ixIJC{T-G@yGywp7^1T-T literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/redblu_steel_hull_reinforcement.png b/kubejs/assets/tfg/textures/item/redblu_steel_hull_reinforcement.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf46d8b2fe6d996d17d9afbcd3e2dac24485f1c GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zUF+~`vy2%S7&m*mIEGl9UOVBu_iYA|)s7dz8zw4;*QflcIV<8-`rn%v+@jQZT?xZ-%~@O^yzl_OH2(nq5}TsE?Vca zCEVX}bHt;I0Rqb$Sa~)#N^az+{d;d_Lap9Ax5XFd-Sb_3d5_mSE~Nu6PjXIDDU}s* z)mK@TSyfY5ckktcr+;=xR~xzQR|($Elm8)oW0RH8x2o%=v+ry-zPA0FwXBSs_>608 zo;-DI3Go$tKg$_(Qgh8}+Zm=X>nqI9QqMVfSh2NRu-mgzg5j#ip$%RO7k$=#^I^dP z13A7R<4JFBa;j*=ILRulyhW=%%lVSod4;b#*E&t?9F*r=)td zHSUjhc_qzopinA;m;K^(msipUHu-9mwx2n!&(!e#f41M@NAngjEC^lwgnN3&BiSeQ zFSlfgE`Ryj=SEY}Nd;$_{rem>6bfDDEN_%Obv-rc*P83+4VvTcztBsoeA|1Q`@Yv- a#`w+yF<k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( z4VnJcw`Ca^7>zt#978NlpPg*zeKn;^IZs^3ZWDk?VX(OBS$rdt`mc2Y5I4wwOZRtFdWS+$rJ4}3M s`lwx7U$^jT)>F%fmD48vci+o=Y;_T{x5LLT3=9kmp00i_>zopr0BJM3w*UYD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/redblu_steel_plated_airplane_propeller.png b/kubejs/assets/tfg/textures/item/redblu_steel_plated_airplane_propeller.png new file mode 100644 index 0000000000000000000000000000000000000000..8103198ae1a27eea42cd601536e2d2657f37e13b GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zMOn?ffI|!nj2k^&978Nl&z)?z`c{HS+kAhn-Xlj8PAYKlJ<XC}C#f9#yl21Dyep!URUA1SXDtiOwb-?rA@^EwAoq_t zn<5)IL!RcVS*{aoJ08C9^VHm^(_OZk_drhDtu@ad2|g&WV3_c{(lpY`Q|36sjAfmV zEq?6t7g(Uj;P_2}!&!Cd5)Ce%!w+8ftGNbV$S}E3DyzuiIVr^U(XV4?tMqCXFP?Q) z?eTVbi#OkEBK0~KaWGsj-IzQ3Xp&>;p@Nd-Hs`HpFSBEO{Bg$NI{#^@H{|bsd{gpk ztKy3LzH4}_tmCJtR?fTpwk%R_`kty^yT+h@_2efa8)HP4ken121WyZmy>$&^D01`0ffvwUN(Gj7mXZRaujYs{H6 z8?LVWk}0ouaVQ%2PTrRJ&$9D*=JidvvrT*pW!nEw$}hR{`?>y==hyS|{#~fAdOyFR X>$v2M%2k;R3=9mOu6{1-oD!M@McBpyB zUU_)InV@sq`0~E*cG<+Gyl%%wqZL)N$_g}Rh;F~_`*mO1qRVwPjShwE+s~PK#Fm@4 zy;I)#qgUJg`-#`8&avfIqILVXMC$6WG1Zh>gakJBa$HeMzi@qjvRY0`G3)ep_DxM8 zhUKO6G~1mSr{tRF7hUxB+dT2wnvk2PBzNVDrypm1Q(e7*f7`{9GkS8-f8O)hEG|=A zeu8ziWNqFiv9pZ_I{%6E^%d`!rToLEuy%F3@T^PA=cZh{FMN^BbKTy97s40H1Xb-5Sd_lRO={P>pyyWpN_7(g-UzQ< zp7bSEiZvirRBh%Lt!JNvjXF7ghHBsZ;1>`i(6Mjz@q7QKb)71^cF1|j*VGL&T!bST zeU1JFd4aJY3_Dp5qpr+#RiS^v0g%C5}sr7;896~28YWel_|!R zHB(ZTur$74Q1(vP(9>vO!{a7xagX`=OV<`>Cw7&;?`&Nh6&U_aJMi5g;BvOateB>W z#SWLX6j}~`_!7(VIJ|Cp@Riew#`S!=m{M1F`SZ7L_?yPcwvAtHGxy(XntOKH@jpxv z^cJtt^}4{<(PgQWAG+X9v6J7KgJ-HgnpE)FKHk0IxBemHda;SpwXy=We6u<~3%9TM zy?`@vX;){YX!GOE3?2W%4NKXtH>K{i-qrN%XqJ(C(N8U|EY_B*4qL4(?s2yn9!}VD z$gWcIVMpkEJJ}8LLZZb>V%9!>y^Ptq|GGn_tWG+6deOq`Ra{Gb7hY~I>zEOKGJ7M_ zQ_FrQEtbhoHGbs=d+6vt@{D==Wr6Lid2=KSFKnC`_o10L7(W}Yw2WHeTFfcH9y85}Sb4q9e0HInPQ2+n{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/resistance_salvo.png b/kubejs/assets/tfg/textures/item/resistance_salvo.png new file mode 100644 index 0000000000000000000000000000000000000000..15f2be7bd91f2be2543aa67cd382b526e7926066 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s8J1}lKFBMmluneZTFcgPMpWF{jz0XsA$8xXYA{z?PoBsHa@#CB4_jR z?*(7--X$vAZ~qWgY4Fu0>G*F09`1zyTpJxHOUnD1-G#bS&$7Lm z*S<2lCMxpa6|a(ZryZfo_kDPj`Qg^po;}t3S8U=7ziK=LPAAthiyeb=K+US3`wP7RoH|3SOBY$<|b` zX}veY(xt7^;z~jHS27Fu+8kQFvn6!u;)@z(mD0i24ej@_EJ%2>A?(-EEo%!)EPVDo z*|_n~9zkuBr|f+)84NXBc|KlBh?t~&(Dpjl1pUgIA5qD%xBtG*W@D(UkFgVd3%$)r;xB^c(KCw*B4rWs&o81_lNOPgg&ebxsLQ0EiCr A4*&oF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..b333f9b3a9b7e0f97e1f40afdb1a211f5f5219b8 GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o{+5N5n|x9$%E0|R@Br>`sfeMTW+af7Shq~9_yFh2BjaSX9IT{?NApRu7p z%l@x7!*P_;~TgMO(y61aMU7e7VL#W}g2Yb^uMs)bj zRGZAH$l}By`C!iD-@j)|D2t1WACc%ZOzK(qdY7`~fuxNB4!5_d9y?LBm+ir`XKcwl ztGYU#u)i+Mk25;b6jq)Y(gf z9~4;3k^J)UqoVKSC;duI#eIu3jE*hw=4gCU)nllBH^=Of$yvca_h)a?F}^m(Xth>p zZ1DB1*Gktavh4Z3=6ZJKZL{!&t7a;AcNi)a<$V49+xq&GFD@ zm1nKLpSopesG(ecsg2y~jtk#yS6}sd_wL=f6FLpw=LH)FzYbe18hbr3RMa(a&cjQ0 zmmN5N{`}0{p6@eE9{u_i75wJu)7DKo#*y>hzbsibefsp7cP*zM|5jje;d|}6q}_Kn z#ppfF5oc?5)Z4GYwPvfu^G%8Oe&1ot*3Hk)*O`9$v0hDWE#rmnwPwp#X?^=`d(P5{ xqa=2Euiae9pV@QYzkhGaD|+Da<;&}D)blRXbU1JNcOoctc)I$ztaD0e0swa&3QYh2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/scaffolding_frame.png b/kubejs/assets/tfg/textures/item/scaffolding_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..f032243e162edd116810d029de5021d70e7a469e GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBOZ} z4(%YjL?H$ShIUUE#}JFt$q5VCDr(eT+w+9C&lYl>f8)jP`HhW@jjU-W+P|NdxNx&2 zgN==i&5ezXt?gC8<^Mc9JUn@Br(AYcT;I7H#Nk=1?QeW&Z$V}GfqIalt4I4-UY_2~ z{2)%E^xz6^2?+^_854Z>?XiCFzg0b+?o{=l&VXBgNzPab9MV`Q{b zD2uC$(_&`(QP$fi=n{X8b>>kAsRv$q8d{8(>KkrosBX2G+1PlI;lw#TeNBcg<8zFg zTqkWh_=Z=ZEYM?u@q}8I6VJTcH>_{C;VJMaK+#a=7GtM4iG-E$Bjd7!Q zkha4&Ba7$aA!4b^(x+%hL`6kuSuA^^zEq1PTx|N1XJXnF&s3j_i#`!oowj5d!&Rp{ z>}*W}tqTM$Gh}VKkg~vt;V5&kg&dz0$52&wyhE*{vvz>6rA&mQWebg40V$Y3=9;^E%nTk64R2?40IHX z42%r*4Gr`SjdcwStV|58j4TwOK*>(QrYI%ND#*nRYFSZAnypesNlAf~zJ7Umxn8-k zUVc%!zM-Y1rM`iYzLAk`QA(O_ab;dfVufyAu`3q#^x16!znpGSHB{$K;KZ$0OTjIXH$~l>IzDWa=@0SBKVe-7G&g?#l$lC>0&PAz-CHX}m`T04pm(%P-1JEU{I}%uP&B)i20PS5klnqm^@hPJWSZeoCsXk}=p7zP?tTdBr7(dC94s zF1AV)xdnQenJHFgCYGrNX~`+NNr}dWx@m?ciMmN9Ny)kLf1Ii&|KFr$;3i8(ZV!U*F4qGFfA!D z(bC*F5tN$23B<}Hv$!O`s1lk#f>R5jtei{*aGJ16Oa`TOTcu=BB&Vh*L4`B1ga=VJ zL-m(uq~_s`e2DGE`DrEPiAAZ7>8W`o1QVA&F2@%qmf?3gaZw3z6E>%#Bu0ob(wq(r zmgJ1Yy!6x*TP1xZkZ1HkMGPcT^wHxBEQeGa*(un7g@Rn%KumDa2`WbI6cFWeYF>)1 zQjwCq9k)W79s>hoy{C&~h{fsJ$)M8A@t|}`n!L3y;M@O zI_WvL@Z8JH=bs06Et>HAuU`Lg=gv3!)4OH*-EY4CE_8fj&i3fueec7WCZBXUwP}jY`KcK* zJ2PjkYQFq($q|h%k-2`$^%!QJacisC8+VoQw~A-V=9?Oo8zZiGFR)`t+dQ*LPC${# zMc{y4;oi7#rU@rmUY1*~f6#MXqSwu92}_JX`R=(TyJHJ~{oQwKYo4;(w{k<5HJuYQ zoqsoo>O}2zVR^~DBwTQwK993*;?9_VoCPO@B_$uU*e+m6P_k&_*}^iLS$WScOBudb zZTFwGt+|oEHR`Iifrv?GV YviNVx-qcy(45~#vUHx3vIVCg!076|F82|tP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..5940e79fb0596e55ab0c13b03e0d71667ace69e7 GIT binary patch literal 3223 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..b621e6a371d0794ad36b40d373fee2cec2b7d572 GIT binary patch literal 2083 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rkD%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5nG!drX zB|o_o6tf`xkW`+MpPZRug|OAc)FL_2C@EDp)g;YG*UZ?&ST`xj&_LHX#lqOoB-zr$ zz|azAntxGddS+f?4zj5rSEXd8SS1-4BqybrnCO}&8CmKkC!1L6CYqY2>ZV#IStg~L znj{&gn1fO?!e*E$j(N$c#U=Sg#n9a1l$Z`>z-7OKcGpE>QjD8L4@AlP1LW;{3Fd^2DN4$Mn>^5`sxz zAD82c6U*>Bow$SsaTA);F|!Ip8EH<321{~AVqSV`imj5q638>)c!flYK6-qC<&X+X zSmXz}xPh49f*n-I+bJMwkJP*rTcsi;d%KFL18fWoj7gp@jv*GkrIT;2J7mD)@;iEp zt3$Maf?UJ2yeYL)fBX-Rm*sY5-aC;^`=GI$`Z{%`xXZK7rWwujxtDP&P|w~`fMdgx zpEY{ZPrDY{%}?Eb|MkxdlSvv~DK>K1`;d!x zuJfK>djI`yxP@GQU$fOu)dfnPlQOvb7~XS93SLl2VhV}Zo1VvQ;c(!B%AtAp!dFk- z=d}IyUk(G27y;&B_qTrcw)ZoL-+Wn8$9{4d&uos6P}Q%e&MC+82g4uLH O)wrjtpUXO@geCyaB*G~G literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/speed_pill.png b/kubejs/assets/tfg/textures/item/speed_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..debad922006499ac9ff401a2ac96083196a91013 GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_ma1PZ!4!i{7b|&wGm$N*uGl@43Nj!&(&&5pB&^3SnYyGfO`N39`7BzGn9*d3|MJ zy#mLf4;SncO0+ngG(ISFNi9+F(mdVvdX4?Hzoy2o-}P8q8|Sw#J(^|x=J}s}{QT!X z@AGn5(aLTg*O{5txzy;)y^6K3vTm{Q99Ed-vAF*{oi!L1g6Z8sakyQdt7o+%8VN?Y@Quxx%7In3`y z`~3Ct1f~G5&}WDI^*ln^<1Ri-SMt?L4$#`!!SciLz}$5GC(kZF-w|#0^1X4^pQrAj zR}b!dU9Ku}ul@Pd4_&TI_ZR=Hu-+TH{9 zHDj##4=kJ<8}sVT1D9fD-i1|@-1_cTe^;*a)YAR(mH*UVZQCz%UM_h1!jNx^%))sN zzV-hWfSw0tG&`MW|6 z3p1a5W_5e6bYt7uX|V@NWdc^|B;>6z+$ym+G2Av@$?DoOwOPvqE94l`QsQ?0oYQis zw<1rFlWESJ#@TWD=?gNgJyLk?`JPF7YIZVGt?XP%bn=bt)2E8>7ClnhF|%cr%%xLj zW@x2M7Rt+7n(6Ms7iJ%f&?-{!mC7~rsrDrE@+In8C_u99Tj=gW3mH#hqfByJ*zkL6M zpiT2E?XA@|-!!?H()E3LK38e%`bHl$=aQe+8&C2xX!MGoi`%K^d|27&g7pS1g=sz? zzW(Hqb^p!~kZw>?8S<;Ts^I1tn^KF^1?3KVc>J$0E}AI0$$XiMk7&{T#oR$5(k*T7 zPx9&~yzBE#39n1K6cXpN|7r1$LRlA%h3jL*n}f^)OnA2+?mN0-p_E7spLVqW*FyPM zK2nRg_cl6S{qZGro>+J1**JB#s||ss1utVddfEHd+;m|VDbBp)-Q8nf-5O~6z+m%X7%4UZ`xmB zxu_h*Z*zOs(wi?A&hWl`ZEN>~e|tF;4K(T>yDq!`@#D!I_gu_ZDZ+m^ct=iJ4WIVn?e9M(Ti&~~pm3FM%-q;Z&vKnFnrJN*YCU3J)LmTF xY|6NG!nAL?K^&}_sy~11Sz-ED{XzXR{%LP6|1~-C9h7(&JYD@<);T3K0RTj$3bp_M literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/stainless_steel_hull_reinforcement.png b/kubejs/assets/tfg/textures/item/stainless_steel_hull_reinforcement.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f8f705ec87ab076b76f54659549fb4e37c1081 GIT binary patch literal 627 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zeTFNq1*bAFFmCsBaSX9Iy>_yFhH#?9vHI&VJKMZP`Ml4DTxeOaL!yQ6WB|)T1;2li zUIOk5{ggT;Z+`IVUC?wfcG=jYj*lidcYf6I%<{P8_HLH_@vpOX@6&ts%5i$a{g*%G z?tQPk|NQShem`SAe%ECO8D6p2Xo@ZgTm3od@2)Su?6yYDW#7K;WsCP&9 zuE=^KbpEr_p6$E6&m6kdyGG=b_{_^Cd^P4?Ipypz5nk?h{$-rmE^oc(XM*NNztc0P z%y_nKN|@NvEt@o!?bJOzbBfQ8t9ukzS1LbJFP(VmZc>zSL9;o%;4=wB1bKS#Rz5=kHgZ>hs`@^_{vs2dBT1>w8=D|E5^j hUAw*Kzuf=GZXhpof}8p0Z3YGg22WQ%mvv4FO#n`w4_N>J literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/stainless_steel_landing_gear.png b/kubejs/assets/tfg/textures/item/stainless_steel_landing_gear.png new file mode 100644 index 0000000000000000000000000000000000000000..f6566e17cbeaf9512b926ef46bd68613814ad2c0 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zO(UfNNonvKvIiak=#L>XUb)v&Uwud`!1n?f6W>vAh_~D)6_qOb2I@z&@9v|LZ zsc%-}j2NM_$JiMq` zy?bu{qH{_CUV^TI?7wd_a41^rl)02+Hq%Egx!;;&h*-W{<1x_8mE z)H7+uIk)5Hb-PYjrs>4dcm6%2Misxu&n-PC pMQA@&;5lr>UVJt6$^XFldzo_XD)>C{VPIfj@O1TaS?83{1OSLqzWo3I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/stainless_steel_plated_airplane_propeller.png b/kubejs/assets/tfg/textures/item/stainless_steel_plated_airplane_propeller.png new file mode 100644 index 0000000000000000000000000000000000000000..476ddbffd553b72f6d307e18203a1b1ce6f5e359 GIT binary patch literal 464 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 UD_ymafq{X+)78&qol`;+0BV{o7ytkO literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/terra_firma_greg.png b/kubejs/assets/tfg/textures/item/terra_firma_greg.png new file mode 100644 index 0000000000000000000000000000000000000000..e355abb3c4cd522c57c950d7643ce11f6bf1b8a9 GIT binary patch literal 79389 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 ArvLx| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/titanium_hull_reinforcement.png b/kubejs/assets/tfg/textures/item/titanium_hull_reinforcement.png new file mode 100644 index 0000000000000000000000000000000000000000..7053925e956966ccfcf81c5ae87cb9432e3ed2e5 GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zeTn1korf717!P~8IEGl9UORbzwlJf}ar^5rd)uM?0MNqKljwqpM^2!cE7f~F;Awf^P6wH z-22*}b^H6-mq)&r7vB?S&``jWciy-9;|ZI!?}T6Zc2}g#oBFlAXU_}_;>^@iL+)P8g9&LwdoiAK@E+5@;-@xdOc*uuG_oDTudVNjV9-&k8_}>}@ zrVw-Ui7GFTI0k-kO`5f=|9e?^v*eQXYI|OuE@V@gxi0lbv-MW7$%a?o%a-KSt;zpr z6E4P3V=OJod(iLm!{mAT+V=(Cn4FJ$Uim#!bhWXwTDZbw?E=4D=iFR>|K{2p9`ZgY zXNsdGi^K5(#tTutLaUr2FMF=wl0BTdHtKn5oN!GOJNM~0qnU3sj|8nea`$QLeZ{=L z-W^+`E*x5$9XwCz^ozEG9~wHY$g>?NjM2I7_{Q4h6@T(gwYBRGFAl%otjJ`s?&ymP z0t{cvX6NS02l6P&uUx(Twncm6RC^ZQy9!c~k3MHjedRZKk44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zEy2S&N0k^D7~MTx978NlpPg*$eK#`Fhtd<68UYxlOYeeE(!R%i*>8pV6PbYc+GgGxDu>e=j1)+${;$9wztYR={Uhu@aXc3bQy zbNt6X|AheyuD>oUtv~6MvAKAM*~Kdo;_F^NvfzuBKFts@?dVHa?%Ug5e*gVOZtZ!S z%A}4UFQ3ak4`TGb@3c}bU0@u2B5gCLjSL^>VS(7|mx~ScY|bCvq~muko}ptA$7Pe3 zB~~nsA8Mzx3V3k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-^J0utw7&r?&B8wRqxP?KOkzv*xkRW@Br>`sfOBN1( zWvhKb?b-|sjGdk?jv*GOmrma8r5z~Jw*O?{jh$~2CQ5GjIw$FZ8nan2yYPl9*Y+H< zafwUjoAb)1Vfso}7GFi9itMAF0-h&!IG(X`Ju~Nsi)-xJwzK>H)&G6XRIJ3K#M$ie z!>h$nrD%#*(S*8rDMmlvoZoxrZN1MXgZIWSC3F^CHVu9!V65Udr{@_IYysw27V_8Wz54&V30zJ$=RxHvGF6-MDM5 zvRQy_;uZ56tJukcJJ)eHFcixCUti$Fp^$xH$7g53O9vaCKIJ-oJU8aLYj$f;%BsoR ziW#=C9S`HU@cw(H9A6;UrQ_~?e*Qc6zAY-9dtt?Ii`+mrusuW!xUT$wW0i!Y^QqCY-;?8O%}aq*XG e@n2z|><=ZKt&k3_dBMQIz~JfX=d#Wzp$P!GL+Q`} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png b/kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca1e99efdf94b7fff7a4a176af0d15cdcd36b48 GIT binary patch literal 2034 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rjo%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^OFcu~WCH_31#?S1LlZM23rkBK1tS9^ zV|@cNeIrv{BLgb~Ln~8L1t?ImQ?MyYNwW%aaf4b`l#*tvlu=SrV5P5LUS6(OZmgGI zl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u-iLH_n z)YyvL0=Thx#n5m{&d=4aNG#Ad)H4A23GCUFWVpJ5(xM!&kGF7t6Oq&;Z_uvxR#aRS6v)ZS&*t9lvXKNJYO7>q zU}U0eV5n8bh!dFe_D@L;rZ&d#RM)`L+*sE%#UxSJ!obj2Hzh6E&?qe}DJ{t` z8K&PQKe-eXvmpJDRGyNboS9;Uu+==p(A?C*JW1Ewz&ugc)Xc<8H__bCQr9%a*f2RQ z*}}rYBo$_we^F+7W?o_rvZ)|frDUd9rKKesTNoHw>LwB6=rW&Q{8k?FX zS{NmzC0UwVfKoHUW|%3CdC958CHY0g(A?sbm=0y-WZI=?<`!5%+ze(~nkE{gnVOmD z8k!^~>YA7t8t7W4nHuOCSsJ97q!<_)nH!ng=!3FIPNtm#gat8BAHU7uglpxI335p# z)c)YqLMSUIQvsY-trC+#dC*oV8I<@^QnONe9s1SkbFV9HL!<#4}wioB8m6RtI zr8=gk=9Lgk^!m6QUz}Km-|569F^HRxosKn=K$MZ@bZD?7XC&sOr>58{=_`Re1CCcn zr0Ao^7g!Fdn1n@skc%6L2`#k-vXqTWc&OR-fdQnI&mO}SIaz`$tk>Eak-ae8X- z>AofhfiL|w+)fOEEQc8dL|G4RXZiO(YW6GMO*wbYT6m_;nEB2twA`4NgkV=VUyS>e@C{}#>>8Gv>nA9$}U1ho0x=nL@qF; z3VKdDv1DUtYUCmfuAk3jg?DdnWb(b7Vo>3k*0eTh>rUg7CcZnLuX}B!Hu+?K{HL?8 fIwXAlh<<0){C}AL_@d?eLAA1{tDnm{r-UW|iovk* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/unfinished_basic_electronic_circuit.png b/kubejs/assets/tfg/textures/item/unfinished_basic_electronic_circuit.png index c69b3d4009807b91cbecbcd39c3e4813f5f0de26..e12ccaaf627f732c1844be44f0dc52ec9f99f777 100644 GIT binary patch delta 359 zcmdnZ+{8RVrJl3EBeIx*fm;}a85w5Hkzin8H1TwC46*3FI&r_>p#YKg{Zeij@(ryA zy}Aw6LK+XU-Z?FNLfYV?(w=5NFP}R-oQ8f{LBh#Qx~da5zGjV#c%|@NZK+h)U*GTZ ziuc8zlmGGk(l*hMQ|udS_~Y&ef1R0|U^hQ}-TxiRJTdXHfmCnh93O@qdtY66y=|ZM%PpBEuUrDB82G(O zcu{E*J6(Fg^<2Zf^$!wmo!1QLuxwjs{H^xriqwcS#cjIWhc6hG`!a~l?`F|B5_7PK zy>oIzn&P@pZ4Sfb5qFe1)b=;o_igYywk>t#j6KKHW=JJ&p3HmMevSS delta 417 zcmZo--pxEgrJgOx+ueoXKL{?^yL>VO0|RG)M`SSr1Gf+eGhVt|_lJRjfxX1j*OmPq zkFGc@jU#|V)rkZcC=?i|2rUnBZOD%`ZH&ZNRiXQou$f)nHo=~+{O3(hKebDFVdQ&MBb@0IGho0{{R3 diff --git a/kubejs/assets/tfg/textures/item/unfinished_electron_tube.png b/kubejs/assets/tfg/textures/item/unfinished_electron_tube.png new file mode 100644 index 0000000000000000000000000000000000000000..19ffe446b67d12587f5481dbccafb63ce482d6ad GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*Lo-U3d7QJu#H*z%vh_u-+GT-o;+r`4-wNS25k+`c=HPc7aBMXmba#ZmPJ}nW}2mha+yy^k*-g>w1D*W`gA>Zp-th3B9P( zJoxqS?GaWvo{F88|N7tBf018Sd3@8!|B@0C5=p=L|C(R9e8hmK{_xDWyuSZar%si4 z5>o_{lhCvMb>zT-0|!1NgbE&>zCK>^T>P%SMeVH9z3sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;mU@P|$p!|73g(u2h9+i47M7Me3PuJ- z#`*?k`bMU@Mg~>}hE}Gg3Q(YAr(jc*l4cd;;s&*>C?(BSDWjyMz)D}gyu4hm+*mKa zC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3W`avc7m0xRdD)WnkfqLBRj99T>Rz?`gLWTI!Tpb?&#my%yztcj!{)g`ec)mF*K zz{o_`z);t~FvP&v%EZXZ#7Nt~+{(ZJqSQA(B{QuOt5RbtV^pQ7C5b7CC5Z$TrzBgY zKEjtD=EN((aJeLC%?!yKPA;x$r$VkUtcTFyyB9?yyR3*7h9!@ z+ycGK%oMBSRLj&#m;B^XP|U*g zr;w=MzbG?3GcPfRY;!;v4wNLUJTi+*@{1~=IU+c<5X#EQQ~;*}tHfkb>b6x%21RRX ziV{>flk5h(atiFU3}=NXgzV;#1-t1_p++o-U3d7N@UH-pku;AmC=p zuWZ1uRMU~^WD}G5g(b~er`Ysjn34_diPx*UZVF16Vsg?mT%zXu`#*~rR^$i$6?-6B zIZxT|tJv~}MH)*oZkt&=H|Sg3vsuSkXu;NFg)%q3%d&i}Xw4gxO_^Tx+dn#Qb9Qm6{|X?tXCV zg9pcxt{yxZ8O|Q=DDa1&P<)O^?2;q@Ra?ajY@lYHqC zbLMII(F59lB%C;yJ3P)@nLP8Tj?MAwwly_-yFco@FRt%%T$*5XKwap(;oS`#<{jx~ zx^q9<70#Hd+WKQo#i0e!&9m^)nYJt9T~e4?$fL|hD;8x< z(SH&XW|3bQwz~A%KK1&<4GY$$?C>iV;nY#=6mdDRVsVp}&XJ6(9)=T_{oT=S|L8~X zlSwB-8I_MSWd$f&)_t)5ad&OxoLME4n+g|vKf2BSSi=Fm3t2b5eczb7-H+kFalz8k zKU>udetT9eUhLZ6aKWsg@b1MYwhxNfB`PneIv1(f`!0-Nxp)4>>`wKF=l6fOHx759gMfq^Z_+ueoX1j7l2 zV`t~?kYHe7;4JWnEM{QPQwCwiilz2t3=9nHC7!;n>@S%G_yssGr6}YwFfd4#xJHyX z=jZ08=9Mrw7o{eaq^2m8XO?6rxO@5rgg5euGcYh#c)B=-Se)KF*;`*FQKW7D`d>kz z9_O9@v)CUoubqh2N-si*Ul@hJa747evl*cWL?=uRdTA!Iv?NQ;V;o{C;jcA@xgrmCvgZ7jTYANt|6f~B zE@#oSwzn28hZIkp=Hlt~d%RO`<`?~M-?#m-_1LP)a3WG_d-?VmZJs7V3)k1P*sj{V z$K*E;^N*?tn@v9bv}xVL%<))Q*#E;Lp53=spDOP?IgL+q8}Eb8g0iABfBrC8&-P|W z`QKRUE+81=zhl>#i?=WT)Oulk=;(ZdD2YyN3D_W3Y(ybAQ%A}w<0$qj|y?aL2pi3_jMUuJ2w``Pn;J+IT+cHewLO}7^P l|In~dI%Rvf$o!@58@rYry-=@vfq{X6!PC{xWt~$(698y*rEUNK literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/water_breathing_pill.png b/kubejs/assets/tfg/textures/item/water_breathing_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..56511a73cd777843a6a8f9ddfc18cefc76628fdd GIT binary patch literal 613 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZ^PZ!4!i{7b|PkT>c6ggV|{d4iMf+=$*oapQ@>zd@kV%j0f<++73MpA6+i;w&* zZ)3JiSP|V;OeGbZ=)Rc9}N>(usA=Ww`jZcOpfY1evBL5m~5KaGH>2# zE!U$bp6#@*an}ngf3W$ufMDO(pQf2N_v|kW^Aeh4S?if?#cz~<+ak?r$37in11pWC zVl$VviN4ga*O89w3Yr<$Si{)BeLa8WicP8$)rvpw{PAYvC82Y3t=4Dy>!zu7XQmqz zvC6Fdee>bnux~FotGBtV_1;3k-1i?IeKHfayXABGotw<$M9GRO|5eR_O%p91pOjdC z__T$vrU3Kf^1P`F$}?Q{&Rsia#mdFI&oy@>m{w-I$P8yNxkYEw^^H^6y%kNqbtf%tT(XHlCEwqp_Bvzi$16!{;S*vQji;%6OY!n) zSQP1KmG$tnkFsEQ?m~^w&mT*Vsmav|d_O7HdbO+9@8m7X=fD15+K`gDDpCDhNAHvF z8Qh%9{xULtxS3pE`S0YRD84kd<4ZTL_SMu{bZWV~zBgOCvRUt^|BK$F-|DazaFCk5 U`=}y20|Nttr>mdKI;Vst08^6|J^%m! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/water_breathing_tablet.png b/kubejs/assets/tfg/textures/item/water_breathing_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..af21777f031ecd7b15bdb07ac44cfb1cde38c360 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZZPZ!4!i{7ah?K37j${hRne((FIwV#(&CTDsWbA)YtB)_6*muHV+(_}C4!Vl+z zwD@GZx;p~I1*KYFDMW}|S;}{m&x%88k-$-}4P6tqIlBmM*|IR`-j!vUlZsDy``k*B z-|>{s?)&cNEkRwq&kB-aLRV?;*)1cevD9pflKG`qxBqNn>frCuy19ZsZtvPJM};nb zkMBrSzge<7?9Aq^XGIve&&j*|6&4C_yYl9z#I);6o+eJZb9T9Jhd`4ubMmSU4<<-j zsmDABt9N>O&h5q>xs<}4Emuk_zD}I^kA1aYQ1@>ZRnw>%v1wC0e3f%%W!w#PSQ%%% zPi@i826y-WbCM@dDf!9FQsU|0od5mU%I|)$AK#zUMC{kKm3+SKDnJ`Y5T?O!xp!lPAq1RcxmbO;$5rS5#5bt z8-ADgOm(hH*>@nOM0}oyIMam|h6O*K3IFW=e#h?)XO{G2{~)LH;sX1pukh;iTI#g? z{;}1sw@9)z-l#iNUUg@Gd1F;dmWryzw9L8xT7Txu*|h3X-mH>}T9@eN8}ZL)S!cLx zT5o*l%+rl^XD0im-gx+?+0d xhwmE8KgT3?(V*s{sX1E8uhe73f6V{G8pHlU-s742O9lo822WQ%mvv4FO#mq#5A6T| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/weakness_pill.png b/kubejs/assets/tfg/textures/item/weakness_pill.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3af79f13449b1850a2f9cb8b01a033efd7f620 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZZPZ!4!i{7b|ef@<4C0gf~FKeCRq~f+gidRU%fmcFVEk`9!z?rEqu_t@`kt6mG z4&8rvNj~w)+;~Heza4_w+t{9Hw{AOpro`&+oa?R|*;aPXd!knU@!8JjwwB_dOYcse zBOA&PdUS#B(r1reJ>SHj^4x7}Zo};JpX@HPHsnXQ{4>8{Zns!SBWV3(&%IN36t-Sf za7KhO6^5($D+8%$mTEa9aQKiET>@zeigeXoZ%2 z`+Q?sbL2{;RWcQJ%Adba>5TOIy>DL3%_;1&*Sm&%l~6FVSUXkNR^qBw+S0Zw*;mfT zCw%(kYE&tG`lG@1OC{>X?u;9wzfY}lIH4PG`&Z-3>5MCQ`UU38JbrgZM1TLXimxxN zr|zv)ihP~Vwy{-puWkL@kDZ2#4mW>s`Ss$g#HPJ-C-gD5$M24uSMT#FF?Vj!N){%! zt=AZih)pZ`_>71D{hfruDj~sx-CqNxU*(G&Gx+dF==AE$qTgbVcKDVnHh8F={Cl%!cXP2&VUZ96?VJ-=YDQUrU8 ztoVd9yNgp)k2!3Wj7V9m;LCn->Xs`y;oa$e7bCw+R9JBMo5A(XOdpmryLYr_eN&in yZ}K{YfXtlUo%5{C?s(}|U+BB_&*%Ru^B!x7%gcUU{=vY&z~JfX=d#Wzp$Pzl<_!J- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/weakness_tablet.png b/kubejs/assets/tfg/textures/item/weakness_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..00f7b3693b6c25f62c8b8bc03f4679ff6feec3d3 GIT binary patch literal 578 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 Ze|nqW$ol-Z%?u0-44$rjF6*2UngGAU{(k@f literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/auto_coke.png b/kubejs/assets/tfg/textures/quests/auto_coke.png new file mode 100644 index 0000000000000000000000000000000000000000..81649cbb966cd7260664d2161722b884f62dd181 GIT binary patch literal 240745 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 Kb6Mw<&;$U!?AzA> literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/firepit.png b/kubejs/assets/tfg/textures/quests/firepit.png new file mode 100644 index 0000000000000000000000000000000000000000..09f66b3b4c37917935afb636a0b03cda0eebb1e2 GIT binary patch literal 120598 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

9HR@~D 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 z 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

u|weRgBbIMEc4r( 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

3bqe=n&-^Y*t?cF|mmt{z((6mbn_fJ~5?XBZV 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 <43c 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/raw_rock.png b/kubejs/assets/tfg/textures/quests/raw_rock.png new file mode 100644 index 0000000000000000000000000000000000000000..fe553ed6e957fc5f5df2bba9a0ae0c5331ff303e GIT binary patch literal 129497 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/selfie.png b/kubejs/assets/tfg/textures/quests/selfie.png new file mode 100644 index 0000000000000000000000000000000000000000..1643655ef24a98e987d8d9bfaef984992d8a6b12 GIT binary patch literal 268892 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

X_Zz#B!W@D@9 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 HkYcbRp0295YxHl-xrN{$Ifx?I{9<< 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

%mXOaZ;q~b)?ToV~ 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
_2ZjfdZ1g{PqF3C6@-0a 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 HP645zQ%?_ywJU@Q)DcVfJGQm3AQfq^C6 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

*jj)*ua!48T$NqAdd+Pv zv7VK?q}NXIm|POB!(_0awdw1!@4wIVtkRk-xP9N}H!07Znj~igGzIx9hTJkqoVt-a zq+vma!yBs)4_up!d;^xH3q00eaF*%RxrJTwvy-EyimfhcJiS{cQmN3+*U+o%{0`$E zjJ=oBH--M0?-4#q)&S>f+^OTepg*$L6ofzhw6+$zzN85rOI~Xn?1!FTx11j=1f`V{!mKGCTHK<`}zG7uEu){ z-E}T6TYtW2XG@Unf(ULARZrvZcTS$0nYcDrC1vTPUgNVSzKLIgIcDbcyf>V|(PnE= z_9kmlK>quN-EK4IE%rID=oarVyORBm_v?VD_S>nQE}SV*k7}kRPRcxS?bgaY)djXo zbZ13*AG)s2q{Gy@$EyF?*86M6+zSbCYDi@({dj!CJ>~QH1~Yw}*1PCF*lgMu z;G`{kBm8LGzs|1bPWARsOjy%eEcf{G z`U!LESc4>`;>&;VK6~;bYUew~^6lx1(+pTRLhd@x*j>T$dckA|kNvawzNp%_mGM1@ zyS>-oGm(#WPnK^G+ZcBKOu}uc$TfdY%M0K6xg(idRg-`2sT;EI zW^X!}&iFm-o8IKF9~;|x)AAFe?z3j6zYUVVpLp_2M9fq7ey#~`@})9!LX^M0G=K5K zvGg-z+*4=GpL;{9eP>(W-}y4PI_#?RR`bTDLf!;VU8ia16|KW9zo)5uO^a4d`t_C@aduJ_)|K9l9uy5+z^HvJox7ofMa6ZA1y};c98&vu*aB$DdbReeI|!bTZ;-;9-F^{JEFH_%BK? z<5?WL__ByrAbVqVUHBmxNkz7=#y=m-vTMLnOk(Zcpbx^>^X`@-@akVU#C}CS9p*0>qU<8@82D{4=}&HDK2pN`3EHjc}~W^ zSK}Xk`?}w8k;sQH=MOHAKfuL$pUWx4>d;B^|4c{tPM$QLFkymSU+Ie%>%V&0iCmb;m>zq1>GnP699?=B_!#+BNqad9-}(4hNXb&KNLh(P zH%UcGJf}3mL~HAhjM!DPALMDX=l^tERU7_6$!y9kvz6b@=6Y%{PT^bhM6Tg;@7p(4 zx63@zFIz}$WlMa%^L6(9%N*={%6YSI?i66TZnb=oj+GswQt95!F; zPTwMx$>Ce}Zh3rT3R6++spu6vE<)#?d|1cgzVo5f1P!K1scoumPY?f?Ef#xFT21ia zU+#c!LWiVZe3DvK#a`qs(0=pJ>}Y1e{%o_?O}kYXU4Jus9Dn`#a_lTQCQH3ZGHFjX z>TvZOzqtKg#FS9Z;7E?zrZ-PSCtZwuZLWOQXdaXQf0n!&M#G&Q=ga&5ynng*oYlKo zUp|EGwCp+QVc=O&#{O0CORE2s9VKgAt%GD4GLLYz@;-BUqW$68d!|Q~ZCcwWbapT) zv`5wRUA%K|uEQIqaz%cRFu9Lc=gy5&*FWCyd*OP8h!T|@%6%`pBqZEy+xl7G@vm!N z7T+{0HSqO(o{0x**C@ES{%tG~I+dZez2Ml}wR>0Z4dGvGep_d{=#kuwQ@8SGHmw$a zAYip>-;E$|57`ym>38C0+D|>fzw8!&-H%@Pod$co3Ti{D@AF?|4EdcF_DZIi^}@&g zl$^#&-|5p+TQ6$7l<<^zT{Y_>hnKpqvrO)l2h62%(g9lh-yFNP>e>jWO-p_L`TE_f z4slOD+;jB4dh(ng<6Ue1o2w50{$jF1tubNcUNfNyK8{9>WaVxw^_=~>sY1sHhd7B^hbTgCteM$jH=_&5A3{!3wHgEGisP5-*-qqjj4RP z_70WStzw~}iorcMC)=~6KEH8ukq?XAe<8mti){kzXF9umuWq-^YjD)?F#BI9gjgpFgLdZqI9x6_vra1We2vXa4Xx zE<9->!<${+C-Y;}ejc4~`@1q;%R1j<;=5o9!}9YFm#ud)R$#cl>xj|JwQp-%TPAQW zk!ns6@-@m?zPd^{LAE$SGpcB1Y_$gyH|y*OX~CyM!w)G8as5p1tLq_I>368HQDdw%s{bBe7bs zYDQN6#Y?6hw=b1$ne%%^Ss(X?dpT>Ee0G%uygvPmS)u)Pd?=flufozdxh>iH8cUlP zdM@qSthwrz`^>}pyBD>X=9-({Jb5nl^=HNfYpm}$Ke@14J$LQe^I~?^{B5kJEv_HL zt5}*C4(G}4nINSivP7#ZYhIh8sHM+LZt2cFeoGhRHlEbG(sg}v_yyEivifi*0 zo{`z~htq*)!=B^(@1F}a6_|M%N~&7SW)t7yyy^2V(~}(W6ApWX2P`sNF!FP0Rc_gzxcaY+aE7+C{E>iz`FqRt@7@z`*urdKp#1ptTHm)R(-f?g zMViWvA1!?rx9i3eX@}Q_ubv-X{8!A_J>!YBx&A?gs5xwBP6S)bONv_*6EY#nVJX+i z7Zz?0Uqqd5oT({gZdNzr>Yo*nQ3)A)cwaX-TrBLjTXo^WLH6yOFG{c9->5%#&2w?) z3CDJAyC1uH2EI_ z?Qc7(KHT+uK0C+`{Jv73i@74GI!aUUH^0R?0ZhdT~5+X3l@Dz zJd*rmqu{!^bGPqTSQ<5d{^kwWOn!awQeUwuYxT-}BT2_>PJYhS{?-bL78jm5^*tz0 znQ~`Sn)1ShmoDG<8Gm4R7VkS-<`45EQ*)LDZ@hMot(>i~)nTG7<0kHoo7+9Qv{xMc zo}kCTXMFVfXQu0)nbxmo@jJ$u!sVm>D`Dd1$X)6Wnq0fIm+UyCS=Y|BT%(}L+J^f$ zd)0@ZTzgsdx;}SU6drWX)Blt3Kq0E?-@Th*7rf^_H9scA_4(g{NWmW$ChdH#w%DY# zwa4mJ`>*=njf)hlrm{CyM^FB}@z{*Mw$>fjZ=5pS8*tLaeCerkrH>LB&s~TJTqV&{ z$Wb=u@d>dyxj$>Fmq^)MUdZor>b&#Wa)!B;GxDkmmQ4H`V&%jfW$SXEO)2QG(tbr> zuD82(%4ue3?0CU_PmaG@XVu>GA_uG4W+x>661d8D?;hXYuLWC_t)J&sAE^3YIlY>V6O2;2u}&sOD1=J(~+(|J}tK^7*Gw=uWnjwV}^HFA17E^Shcg z`+_ZPlY~5HmF?48k}>C0&MzUI&DSamSrjDaUfXrOGo!!LK(Iy1aYZ2aozr4Fl20$X z=JIU;%PhBD2h7&&K49CRRL$iz-{BV1r8A1+|2ZB#PK*L~-5vP2?d)=uat zO`mA6?JeW$&lhwG&MAkibeOk3ihu8oQ|APaM(;745R_-S+tkv^_>{%2w7I;K)^BYu z>WP|L9HA2)&FE5JCYSN0tZbgk(VZ%ufzv`K>!wF?DYDq8`21p7Kvwyasx{l1Gmt3X_5;emi8=2aaJzOuymC%EY=yyZG{Mp68J^9`2nfb$V&c*TmF zS7#q8SyWIo$-#b7%~BCL&RE66qJA&UHGVLurm;8few?sAD)?j5k>&^Q9>}*?-1;tJ z!0sKMwxnjev9Uhmc4uRrnp=>!j>RR{N0zim%BV|uo}WapvcI$L+uUfvBNucNJ>=KP*{&m;Hd z3eC5McD~kHRkg_1BSf8X^$~>|<{@TrD+hRjl z)fRJ3aw+Aj+Nt#*D)tkv^o5|7#WQLRjl+I!V*SIpMBuEH_oW4L?!IN`Rvh8E@K|?g zc^co=j~4QG&x)|$2@sl4#k5j=VxRekbrJV3ytUMeIKN?@^K|QrVmq2S{QMt$VM+VL zbV*0?j8eny^U}xH|Gbm1al?czgLz(Oj!AiS9^Cr2Y(3M#WS8j@4~?3B3*Y&`E#i^5 z^SI7}Yq}0Bk!xn}Iuf?5c1G15#hZ4`6Bo3&-1}Xtyy7xP<&U)2Wo&29RXkb7_TAy+ z^2rzEzXTZkGmJOA+atDP^XK`d%DQ69PF`>=;hz#zV^)yAE|~ky%*q)}50v9>NZpzH zvG@4ykVglXop5ZZ%Mp&@^?9qdR`E@+?@n2xWd=vq?_m3!JcD7S>Jl!SRojpE7F8VA z2v1X=!JPPK;YWkzZ(R@DhE%T&oUecCS^BC&O0(5^4ZY>B+9kD4jK9D5WJ=S|qr5K}!i_st*8Eq>d1gIl;ttbgmS+8fp@{Y%J*F=dnV9rGeT`LniJ1=EjQ z*dn=5c+R{-uQ&~=xI*tZObuV~itWkgig=rQ_d|B93Bl zuS(}$vk>_#^irkqoQY53ter2N8PgP!#O7#G1C>CdY79uKHp8|>L}|7oY7=IC+q$fUVF8w z?|NtYuE||)zjCwNb!Yivj^wfzw_JXGeYU-LqTz(|r_VjVZrpLwqkMMIj;V8hr)WFR z_ETH2D)-`iH|agjkAM3q$DBBE`rIF%#cjo z`Of^tm%#Pr|5PrneN)3_xG&?HAFst3hLkV1?{iO7?P=e_R=&_JA^hNOrF*xdY;%(z zcRz^R*!{@#;Ko(TPA*JoUs%$=QnSwWgCltRH^JM)=edhK;*=MrFj7v>_|1qSkFgR(*=*;`>9-DuAGw)hC z!3*Y-XPfTm-uhAe!_Q6MUo2tw?Cs#)z2lUfvFUpqtIM42W|`MI^Q;#J-_&WdO166=-M*sa>@KX1M7*6V?f*cMAW z+6wmaNw z?as=}zEiwIzB})HfMf23w@O*;PrOQ6TKH;tb01|HPm0}N#Gik-<>azkk{1nTUp*+f za$3N~#rrnCHu*QX;dk7H^2WC-dOg3W%gEn5Y7iVPd2YK(ynQrhvaG^Z-Lv1Ds*gaky^{Nk z6tr2}G*&X)v2V#sXV454Sjd|FI{g`k^0ve)Zjx%Z{{5}fZ=umuVpV_nd5NbBH+xSaD&-x_{SSaCz-TfxDm zX=)W)SM)8q^;>MR2S-e9d1~0smv7gID)h`@Ff`C)IdjAGk=Am%))$pALb}XrwOEcl z=K1_nt7PkTjS{vAYLX?FmcG8-Tj1+pc*<(!maW^2mrYBH-0*45`K7B8)*h`8a=UxT zLdx8h)rrI6xx(vrzkYNtUHM?o;Y%7fLXFxp&!<mx&%bk? zsXiDh5F#~0;eAbk!{;A42L+CwG}s}w?8+?OJQBb*&KdUb3JbU8lv7$&jab>6DZn=EJ-uHCBRT@Wo2Ju`UMMGo;7yYs~C=k_d^ z8r3Y^RCVX)QO$Mh@*G_xw!V6JrpM-dv!Ktk#+&X(w|k^to3!~{TUGv>hVL?Nj~Sd4 zmkHQiTR;2z*IusZh&y%JH%%95$QO#=WSV&Gf2$AUOs6EaZ-RGfS--6lzax0?Zj%3U z8wS6$f|EQm_HaFj({(uNuTZ?1^_|OsqbE5o7dE}Lu&fHJT>W#yO`B-}5lKDfCqBxs zrbQ%maqV8~(;1!BDdW6>H|!Aei2%pso4@5)3y;U1Z&zzg8iQlLED65&vlYp0B6yd=4voz8mxoaICB=i1JkmfRMF6^c(APB8H7Tw!+YEVIP!wePOihFC{U zYV)0@<@(v~>Z4+1+#JvL{bf(r1V||D5xtZokFzS(0D1%I~OVO*Za^p&F{4j^4O(1dFH*4ocD+C z(5GbS4=o}IUE5rG*dr#NpJ)C5UV}A5#N%e!HGlW`^mvJuESumPeB+dp?4F3I;`4TW z9&chRnb+5EUBwr+rg&=eYMGXz8T0zfQV#!~FB5#rF>uRC-^I%J7{5k+|E;)cZ|;S= zQ6^_v{_OiN#lf)LEjMs7!vZdTKbZ}TC$cVYo5+|g+q3aPl(|=qlShi}*3VJhv6C9o z+b?Ro?KqJ$@AAu+Ji5&$7SA`t=tY0o%gN}Ld+w4|T;G>{0-Gk!y{&Ox>+(ys2d$+N zvo5VD=lryB!CCip4|RJ>ZhbsBTiS)8{F~Srv2{@gtG6$ox$awGx`&hV$$Ys*{%Hn^@oNXP;Sp;2wiO#51*{Ms{FgYos6 z<|&)X)$UnxKaQO|w|ZjJlBR&naFb=*oThS>ihHjwm-?DBV~h0Z%;(~K3vSQ$`E2lQ zN(+-?<0hSk-P;S&BvaG3-(S!8-6OnP_JQ9?2_GhjzoHMk4m??~`#obZ`wi&;mhVS5 z9lCv5HElA>Slwoc;R@qW>5{<|&4d)(W;TeLTb=x=x+tW(j#s{VKSR1TpY!J;Ko zS}t)*wCUPNXn!(rp0WSi9J9v{3RS0`(hYm@c(J5_R)J|d3y~y8G@8HEtgsIb_RR;^LxLRalYHJ!bNGe+FWUg zH8WSHhTka8W6pNJSLmNR+d6XF+g!7k%Ws+YuZ)@HF!$$$y>~Cv`AFmjyghsP>Fz`N zrGKqVoJ#GN=%XMDMgq@ZN(mInSb8_Fm zTeFVcF`IjRM{C_VYm4_zW%K4RC8#{!%x4>){#-?PLV)!(y=IBn&wYCz?BP9BqH=d% z?#tb>U*7!5S?Hj|qIXZSBD!I3=7HMa$gb~=)xT4cWan?L=er@a!ScnoaEFh#k9n1D zT(u#h^x)rs=UGaJFozI%n=9C_o%iy!Z#f$sOBvT<4$%A`U zxcjpX6u&n2m|{A46aSr73AG=FCC=NYa#uG99kg(hQCnpyvYpTNoNs}ARh@H6!TumS0cOFM|_DQR6cI;K?al2J|ec`im)v)iXY5vFe1~b-%RR3+&+TQy{$CL3<>GR(y z%x88o7T;gEuh*18&~N!;KjoOYbH$HtGsz8{7O?BK&ee10EQ3BdaY#INI$pycpgUc= z;{C%~)@0pNi(aHW_uA^3@vWjzo42Czl6s*JuYgwWot-<*ons6zy2ZIK=Jvja6{<(h z7B6;w`HlTvd3^i#U*0T=lW#DbNJxK}vyZL(7E5{G1HXbZj-BU~&93Ge@M^J!aMk?` zclfG);FFMs-oe%NEQ=<^^1i#i-BK;NcXMQy%V~b5a?jkCk;i7_87_-9U=ge7)2?rn z;nWd1_j29$C?O7WlQn$%imh+&m^ORqk(4F&nrbtYrZ8kr-Bl&_Q=-7WPxLGEI#uU% zu9F^%qgn-TI9orfuh0G>->vxK-A|r>D~k5MGF*Im1Bb1Rp@+=9ixob1_xznTr=Ks2 zWnt7;-L$u%dF+92L-Q8x3aBs3^KP$+W7B}a9-lv`%=wX z+Raam@{8xpo%!Kdt}dI{xk!OlpS^SEa<5DZQ`vAOok7A$Ex_~I#6sRLE15j^9$i@e z_4dnV`4e{;EoHCeY~Q#r_tFjiM(ZVQldP-`PW@okUcT(*z2#@67&&j;xGOL7LSoVi z>vJ9~D!~CptRJ^0d|rOwlkJWjOrPpm6cXkh|9dH6pV5R#2414)*c+@H7kIw=G4FWK zI)lm6R~WdSOjgnO^_dP?Oyz-#8XAXQ)%b%shv_ju{rd4O` zP0J0t^tb;Op{vuVlV(|*51{_#tca&?G& zkgF=Wb@JTo`O{ZP7Di`xY|jaLJh`|-=H*8R`H3aUWj92QA3P_zdGF8nSEBQ$@jAMs z?%H+lT`pt6@4Ams+VTzThbs>#_-J`7x?y;qwcKl&gAwZ=^Mcjy9e!3X*u@;0&%j}E zJYo&gj%?2pLam=CA3jhkJ|q8K8Rs;QjGKomTJ}$WGSU9Ui+lC8?KyK?TK?>731E8Z z;jHm%#i{(QdcW%m(k+6^4#r+GIQ5tL#e;8AqD>5nhL<)m`b9@tJmwEm_?saS)o*mY zv!!sq`~$ucm!uU3m+^Z$TuFABcJJf4i4&>>zoovt_cLzlR_8_Qa;EXsWxVRv6g545 z{&(Id$B^oaXEe5*-+S(g^s7Aat9id)J6K#Fsw+T8f>Ti^XP=mePGYt*^hr- zUQoU7RQKBIXvxbzZ)I&|y0~LJFzJ##XJN0Y@ZvMXs0qv;9L zn>(}59jv@Rqo;#y0jrl~mx883skJq~)lL_Nmuvc8uh{vm|Bi@unO>XKh8MR}G?|RQ zty{)?qiNZ_d8}qfW-G)ovzvU{b@%)F>phGLk85@-aMc=|omG19q+dOE8vnX|jWK&! zL*FyZZ+6(wxA6q8*v`gDOzE3hCf_jpFL1Zc$ZbyFaVjyi^@&S5 zm)6vP>Mwe1>CfF+;L^+c=M;gW#;Ud z_l4_RfA2KUuAh*luk-2mrgGz?^AUH&1hQ-o@9^9@ef28&GsWy1OIAEs8HH1b!s3;C z2j>GOhJ#l9r*AV&-_Gi`@=(eWgOet1GqcWp*ue8Qu|PkwV*6kA`;UL$XBQ4MCoOs;w)Tu|=zeh}Jtxj3S{qtaIGh3#irKSX*<0;6{`*yJ!Nb)D zYgep1$G*OZ@AJyu^EJHhtZkl~hk9LYcbmG+s;1Bdya}n^U0s7G4KEI zVTEeD=A}#9R~aeYvAyH#`*qG@t~d8{!c14`6gGEnEL$C$^4M_Ft@*1ie)MOSI<=hZ zrn6P$kMrk4Yo_}!*q6L=jSRJuw+ftWRq?qq?Dfg0BAYq41UEJ=3hTJF8wS zSUguZUXbmQRc)uN?QXYwVzSEOnhKl0bw$+5l$`3Hy)T2|9gESi<=c7P7&ujgCU`V_ z5j^)Vmf`#N2T$V}KCv0NrUrzty$@9KXD!=#D0v>^?BC+MjEglYW<>3{nEfdG4BPK1 zI^wL~w`Q;W$E0xG@Ou@g#XQf~F>1@7iux=ulJi&@SY z&M^9Q@4>wsrx_AW)urnue)Bs2NzUNAW^Ue9)*L>srA!Kp*|ISe9?$ARlqTj)4i!Ik zC*t(OL*+c;{;GPtYsCDYu5s0V(EfL}+lo&+`Cp0bx%D_`w@sFTF^|F8RaS2VB3!bz z7o=77ITd8Ajox2!pnv+!i_hFNP2Y62ub=z<=1zf}3D2Hh{$Mpx{cO;ivfE|e2|c`i z#ldBIEfQzWnLW;ldUs*n{+?#fr)y&^<<~tinw$RIWpUWo)Rs!kj9;0Y_rE+}A6c^{ zbDf!;`6)BIH!B`F%l`0}N#FV6-y}l=HHFLJ43+|x5w$JGM|0e_Z?($VWmEipl8xHV z*Ukn1g=g3`&;Q30_WzDtbYP^&)T77!P3ye9_uN`~BaLgfP2|>Vb7p3T&W)bcb+B6>Griu_-?v!XuPY%Sse^qqz)LZY6bB%vr_q_d8lpxDoEzzDcX}`hTlm++v z8e=D%o4#J$x!}D)Opn;zWz!G%^Pc!3s&TV9hc!K$|J~p3QmkKJ982w;*k75N(5sJv#w^Z$wbKH^2KGnEP1OXM*9e1HT@;v-x?c)iL%;d1<3@UHr*~jJ|po z`sSF%{?TW>vsG25&RXfFik;o}KRdtp%Dwz_;-a^2fw$hLt=%`$--bn7c;B#DX5Q{) z;;?Di$HjKpA;)*sN^m@Rt#y{^QN!n8(@Cjqi#;AMkkIdrp3;8m{PFWL)Bi*qjjUdz z))(Nb9CK#g=K8&JigShU{3sWm>N9z7$AaE(I<^}=|NH$jBKW^uiN>YpG zCBzvsmLGFeYOMVc-4Mh5Zc!c6)%`yOVww1!bF~+@x^OP(JksAUonypW>3Gc6xc&0f zUq5AbtWSNB9hvbs;$}RvSmW>QTdH{%7sQlIcE8Vbr#0pJe&>S|IQmqAPsj(&xV4Dm zpz{6l=MOn2K1bH)6#t$R`4z`OR!<=_`T!$v6*_0IIgjmA8fL*oG5Empw2YI zSm5}7hV}MMFZ&Z7{#&{A=))N0P@zbr58o7zn=!r9YuTt1XI1q;@2Yu^QR?S?@2?-I zT|4zv7Mqok<({W@G1j}(g)5cg3REoHSL*PcU%qYTtkdt`n3Xf$+5ejV>+DBN8_dm@ z`nZ@>$4pPV+8BRYYaVN=Qbh8{KesuZ#5{`j7w?vu?DblH(x-s)@7~P)`gPN1*Oj%i zPTu>on(276w?fC`xpyDzwb;JkTu=7WZxYu1)9qeqEO4D!({l9t=JT4nc3$*wf9zqV zGvTexo~;IM${RUb5>{m2t-B^v=67VlcKd^q_!lI`G<{zMDF}P6~4Q2MovTWN#n!`eVixW7@pZ4Z4unC zf^D(DXQ`QyWgmK-*)p=<7C%_`y`JgLd&O1i1%G)8|H(6O$TXOV-Kr=E4^r?}srz2l zocrwk&-k5@rt6Ni`X{M41^l`b-plp%)uNa$)yW0({Z7_c?);k;vxDv3eaBVmN)eA6 zCtrP&+GO4EXlIkDSkLG6pYF!oHF0eW_+7>Km`zJ`!b+B8xijHc&ss*;7S(-jYoe#>w8lo?&FZ;K(9^rZmnY@0t*9}ao7Pk9kUIU~cW)gt;fA?ao@IV{ zZ^${9(Kh=;=DhEJHWsTry8CVODly)5`Rd!NSzT0q`(+j^onJVg@%z5zHS%|!I`|gc zJE&L9o3j4kwtD73d*>O(0DZ}%l6 zZkxm1L$h|XTB_xL?$+6zxo-EKz!_d&dt9Gi<^0OWETa@X}o;pZtsqUlW~V1nEHIO(@m~$ETvjo@jbKa3; zXBYqUYQNnMeXXns$}=wUEh*miq5F+_+#Qy6xAa!kTi@RJEoZueTGCg)v)*rujkB(l zwg38@WE*h3d&xKV>8|G7cNiYsbg?%Ji&9{4n?2KQhlF*x@Sf9`z8J9yEZA1v!FDE; zYn95YO%k>~WnXSG^%PnZ1^WMRTa@pU;_)`Y_0rQYW44J;d|&yWzdetYS=91{)czyq zZr_)Tezom->K8NdDwAh3PknLqmHjJbnXt~x?(gRb7q>tD`u14+@smGV3wP9oy#8Zp zTriXQ1mo84vY)~Z&*XBL6KSOsa&2=>!-Rr&wol#ntDoD?dhLBxs@VU#yUkx8yEBd9 zn!ueD|X8MeFtY1w}tPocPL%;;m_;L#w+(2t^};p>0(NWb;)`z5ajl>INisE z^Wo)>*|VfnIL@*2mR)?>QoMw}pV`4Gn@Qc}rX@p%ftOln(=ILc(k~0I=ucGTa!plw zGskfS&x@ncn+)C^4UyAdEa0nsX^nYbL*N_@J(J_Q9MLnc-O2o7mvgE_^1sz;mJ7Wf zzTRDu;g%>rUs`ZQ=9E1gI>`n18@w4f56(K2zTg2Wd7ZF$_Id^+gGMEmM3f_|#g&0ASicC&L#{SvYD;K#q~13a5_PB%sN%fqx$~SnInSDF?2y_}aEx`*AHf(ciP%PsioL~*9Zwdqojdks&I={8e)p?t z4!+J0_O~AW;&@j6e2Ljy-Rx|3aiNslk~KYsb~$n~@jSEcva>uW*}Pvu(A@2T-$J%M zjRBS?q%5xY9AI_mli8g9u5RK~zr%9>;&W8^zwNoZ@Io`oq^a9BW}hrtEb=kHhvV_m zZn3CsWqXacKVo!XS@>hs@6YpI7l)o)%X8*B)A#6)4j&jBX5C^sIQjq4hUy)8MiX!R zwQFBl^YiJS5WaWE^_gF6Ig`GT*DR4Sgf+T$;kB}h=CW%aTkoGa-F)iT=I|2Xe3q?pVxWk}vvc5df+7xnc_1_BD3f2{QoZ2vYf^o>NPhLUUin`cW^ zb!@La^y|GLcyaH|rmNSQmBhIOv}SllOfbE>^JCuT1G5fDh^^E=W4F8P!i3V?%f+61 zlbswnSQnZV@a_n2->|Ur{OfCdAF>PE5_tN96er6_Yu4u0?Y847dizVbdYjaD1FlKo zIV^hh9{Vjb^J@5R7=8VBy5T49L&MsF>75RfwD)uVJg4yL@`E_J9mdZN*N3Q0v|nZ? z@+M-j-j}49DdMS((T%1m*Kb^E^yZt|IeV7bv}jO6mZsQL6G%LMwr6=#!JDUshlDWl?F+AJLK97@==23b)wH*LQUZd_TJ{ zdxP&|pIP=xPRIw<^Y)v*+T6D8*}>Rz^Iz;bCLlhic+IvAx13a%oPO;5=579W)~-tK zjG#Lu$umw>Jv&$RpnCC@d!82$AJd=d6~OSd#p2WKrDbjH?d~3m8$FBXtUhFHd_?-8 zMDmGEC7TpGV*7W*@6L%=UfQCnaPu7-|A&u{+Yi2a5c^1H$rQ!cF|OwX1cIErSd&W< zo@d^^6Sg$};R<8@hfY=1msIl8S9Qj$5a()GeW6fyk8BP@Y5MDj8@Fn_%2SeHE|B|s ze9o6WDai+ZURW`GqjZGO?Dcz#6%VBLeR=4?tLjN26&G+Vy zaa`74=bW|ISk_W@s@JT2{YBav!tKPa%+xFUxw}lbe{hP@8$GSBJ{Kqcd-ms6UB2s#eig6v`pxqL3hm3^olV=b zeQ$te#ch@w+1G?l{hs)_&T97bg{`L^tZBRaG~rK|F5@T3otusxlv7xjZdWtyZ2$Z3 z8(;EB->&q1_m`!ou%m=~>idOj8n24_e3TIj5T72Ixg+y?ut0YD0)3YQZEt@4>*Suv zY{cG?@QV4=`Tr)nZuA-*To$y0b;C5Fw~m(Y^r@uU7DH3FDp8%z__pS*B{H>}HuA{!`&{?DVR<{C`)?%bqV6s^Ci4RiF4^pZ~=7 zdy^tbtV*0EH>rTHd5q$I7iJ4VFh;izvZQS>kZ>yDES^MsJk#ADtmA(fq z?w==lF67yfIAI#^y+x~5ovbNiKCt_)KtS-+16JL|k*?AYLzWb-`wY18A|P|Bzzt$6LqzuGfD(q*Hi@^$VW?e=9U_{w!ors1BU z5XbNG*{2U=Gj?kh?@!+t>z(rJ`l)MT+qSLn+qzyl|BCCkon}U*fB*ax%6)n|ZvN{B z@663g7k>QnuSF%?V>{=z^~G0~{(Kkr@=4o+d2fYPW>yJ4xTiiZrr=20qHCU_$8`67 zIO}`f!g*8Rf~mE?d`(`ywf;D7(uSa{^0I$5Ck1nI7qTvVB$mHQ^_vpp>I>&#;xIEu{*~EEX`o!$l1$J})_~!0@ zJ!i#|+!pDYZywXqdmg^M9jH6>O?vY>Oy&JCWT3b53-T%i6omZC=ze$-qZIG~L zxB6dpVEKl|Vu6pG*7;)MikH8AJy*sv`{b4Kz2>p^3}4@vXLu^1q?h&NZpLq--(SQ` zxP2+KJhMJ(%2(c5|9&JCA97`CV0V3x_=a5$+twdE`qoZ_rO9}W?#bf1=1lfPQ{g@Lsy%d>Q|D~G zcJbV$Ujbq@GXtjGu&l{^@#V7Q_ke(wH}9pVHm&bj|AgacaqFXS9e3G|Kd!uR#%*uwo0vIm z%VXv$TC{Kc*lK$E(>GhG1y3KIuPx&{X0w3#!cYIeGPx}E4aXcb*tizw^%Og#+3uX{ zJL}gohkd(`$!33#y~}qbGR)$r%_vq zIUdZ*36QO8y?V#|Qt!JH%bqKieJ;OV<+o+&y{e*>Ea{0~Gk5*;FuSpLBf~YL@N0S3 z)^5&~{Vla){o48F^D9qRt>os7&9HFS{k^BuSaIK?{Ga0N->uEOH!?>vz2n{dKg|AI zRe^s|XU^;`ob_(E^SRyysWB}xS-pQn=*AY7J^vmvZ>qJLI&nMarQAnnlD-I=ohDcRY{+1woJaO_g`)0+&v3@b976tEwq>(SXsRJCeQ1e50_t)N{!^< zbL3z=>AFQQPp0>j#No2p+b{jj+kWt4h{LIeX$w}Z=H&j|XmF1uWsm2CAU>6v?7wb{ z65ss&*Wf#^b(7e)8?dziw{|)#ee`C|jQ&q0=NL=x8m9=}dpGstyd!rRxt`xSzy7?A z%jNawrLR}yy#G1<{=qxXRlXON|2|vvJ0?jgSwM?_nSIVYo%oVnpT8SS=M)u`7)4%`hkBvUC`f+~2wXF@eYoEuhivKM9`j=cob#k<9X4r4J(kSs8F`E@L{@8GQ zxoYwudgk9Ja%n%_nZD)R@!gzPe@WSc>{|zGKS($2KJ$%JOKjH}>E;++|XXlS)`>Vbhc*G^|kv4p7&k`ES7x#Sk!@v8zHPzo0 zd(PVGZ6SED^}Lze;in8!^%(YZ+`Psz_Ya3NPtWgGpDz)-lcfdrtd`iQmcV8gsk`I2 zt7@jfgv|%1u2Wz8{pK@?tO)g!#V>asVQ=_$G{U-njl-6ji?V07^Zpi@^{$K|k#BBm zh>3OX)&6_SpEGtC>N!dDea|Xb#uoD?ZeNQ1^}o?N8EJbK8eA=8*dgLmGO4#UBtB2i zTJ5y?{?k>6TBw6lrKm+LEPdh!BRZOZXYKlWyZnsu%Dib&>td2{w%r85uZ=3p{?z~U#|2d26m~Pf-9B;3(7QW%5~>#&-t*j_MPPU$y7OYP2EI| z;b0C3U$~K1uwmV*qM{W+936q_RsxwVk9l_AEi0<*k<7E`F`V4%P;GPNPh=B!qls_e zG}kF}zaN}m+_$StU=Dj3--{>g5|7?8osxWS=cHm+wAt!lBy%=z&$(@M3R?)}xt%p%7 zGW_4}_6aLvS~WtsSIe&2+-6)RD6lsD#px#x>o%n_znimP=G)CL4zWz->HFf}?Wt$G zFsWfW*SlY9KCY}e_UeDa#(ewD3{j zmY05=H9hE{l~Zi_nY78zJuas_h|TM1mi=lyCDhU)&@%1$rDjW}+hR^U+0T#hJeyY8 z;UXHO6eyI?Fm-*v()GJ9bO)N7KIRGwF9_oov(7d7a=Cty9>0KRU(R>4lCtkcN1V%l z=PVAZ&Pg;rxJ$n*k7pg@?~?y~FaOD|S^1!(_0!Mr{PXVs8_1+da4BI zRvC|dXKs~jE!12TFTd1mk>OXdrRNyVIbMJIVwUgI58sT;s+G^}_1`n0z|H+}m~}#V zxViqW8aB(@E4d#ozI4WE9qSissRgrc?G9ja`g!vs+nv`=)z+`{@BP}FcKOjk+nXvA zCLNYy&%WdP`eW47j6j*UJUjMJnLnN9-Pyfm|3a$lzsIa&DzE&T_Wnsl`kk!w#eWo! zKK9=ox?Y!0)F)T(b-3|?cT2yW_P@FyPcHdK<6ZO8um8^0dS<0hvsziZ#ec#f^KGV! zlXzETuT5Y2?c-0wV+t)U`##1e$Ns)~;;h#6ro zeqYC%A^Be~@UxWD+3h26|4yBsIkJE>Xj@OU&? za!Z-4mO^MLj=ZZUhYyC-69`MBI~@9po6 zm2s0Zu{UMZpTl6WU(vwyh14aNQzF;B1nU_0$Jl@W_jd1};%AeuwZz=d+;>fA8n@ik z4aXnkZE-GL#oqPQHdVBm{ldzS7LI7Xs~Qu$5B!y8x-M~N_N3?CGu8VWe|xXkZEXK- zjrQY%w%-$Vy${wF&Jj$mJEwPdX~D6D6?zNB%Z?kL+wi||x7WO)YY)F{jM%nV_TzJm zHdP)!_jN^mLq~wf(J6EJXDpC0o7p3-vY7pQTfUF;jfg86T+MfP?{5`+X=5!ubNZIG za+;@@{-$kEYYU$4{^AqIv6k&tzGiYOZs{%LnBlU>RZ?8}ne`@FUPS|EpC=PuvKig| zv25L=hF4!Ww^{Kz%T_-u+(jz2u>x=H(_`)4fPS#95;*R#iZx?@63 zyxKDD_w|xfzW)52lF0g#w{V;GL#H>d-m-1Up85Q1>mJtcK8K|E-%R%^;J*G=-|bhW z2X}CW*W|pdQ@@2Xe-B8@JvJxaXvgopM!)|Z7mo=km1Hg#yn95Ctz_Y@xjN!ZzvZ_X zY<2w^bN1S;+4`T)&X{~Uer&&%hJS8;pyCG`GP3bH=SP@f`7*_cB^YsT%C&E3KG4#n+5a(gTRgYCVVqL?t1p~aKQg!Y zOw5UQ?qG>ob+0lm>EI%1`JAk`iI)$|Xy~~5)_uWhv;KhD?)t~&?;pO_n*O%uzDxJ5 zPmU*2q))wA{H|=~7M_2TMBm-%zqs$nrEe?-Y{w4$b^6e#xzYK3<^JEl+kC%yGw=L+ z=*66se#UDqZ!N0cU$d3v&dvz^*{fpiviKMYPVnR_YI%J8vsQ@Op;vs*uPOhV^hn^) zhL{e6T&WrFv#!Maj8c-C!k^Fhy;_Z9MnwIdI_BrUPm~n@omLaivwF5=%cF#+t*O~; zcedvjah$A8x)bCu-?(UE=Ye;3+0F^QD(?Lh;oo2zZ?MQrd#io;+s1V_c}$MKRongY z_L6TEAyfDNFq*jb$<^t%o-Vi2+G^gLJej?8^I`w`|NJ*>_8p4<_w#?={z%KuzwiEt zEYI=k^iZB7Ex0CeuPnnR6XxeUQRSchFJ<2$Su8wf`|QSL+1q(0uAj1pjg#||YQm}u zInx@suj>6dx6pK=WCQc-8_(Yq-Lv>Olk55U|BT02TLSFrOivnmgh;9{Xg$mQy1&gZ z|IVZwIcMjaU!x2d3Z^D~{?)JWJfXDl(@XLB4CUR&BwxLWS+Q;NOvO)g(|5mU-}Gr#XqQoO}7l#;&D%w@#T7AY0eD>)5I@jfGvC)l07J%;`(J ze^4%bf8G<#!sfkas?7F%sE|GxePYSl^y}$+>lVG%PFb=2f!wt|!yWe*H{9P|$*J9+ z;&J$^a=Gjs%jDJ4Vt;FQ1Z;=i>2{U)>az6J>bCPew-nSUU+lm|78NcJd2m^UQ*W6aM9c3-(TAuJLX-H3$BmcvRXFb$4mKt zf<1;d`zpKt)c?Kz;d=dV@j3SO9sl<6^pu}i@iSrDZR1SylP>mi{h7<=s%TF6bS8}L zTW#lD>Er~a51&;&mX^P|vGaYE`h{n?=Vgv=b_$+r6Vc@OWPQRbVYQOJPR0{TQhATm z;-xIPlX-n&9ZrZirFxjHKj6;W9&_U4t1CCxRPCI*@!VA2gn|;=v@Mx3k7K^=d2-j6 zuV-!}pR~nK)Bne2Epxb6^7Ha1)*cQslOw#nO&LY8);IUt2fuU9U-q;q&ffEKfOzx~ z&K2G10TZs@eDV16+!u@a9OjqUzFZ(NzF6Q;gpS(B+~Nh!;8u9x3TQ+9oPuW?1^aPk~y zmB{x65<7hU%#gLTh&~*9Lcsj#LgxF+nrELV|8So5XvwqB&XRjQ>k`lYo!xTQBV*2N zlP~epLVESuimF>Uk0-3O4=m91>^mm;B{?CTC*^e`BZpw4-~pD#?x)t_Y_M$c`lLfe@;g3r z?%3ZVUm1B_e6?-!P9eqMZB1URDOzIoHs3wpn*470Id@ft_+i)Bw}uY=cVa}!{L`jE)@?JHbu6ew# zz?179x4_5Q481MK*REK#D#x6q$1q>!a`N-C1LxYi_ZF{kD+&wPu&Xz1E`5IH+V3?F zU&MZwi&>_y+EHBYm*e%?BXSW>fBSJgd6Oo2MN-!7T6*8X*mHj62gUa$f9w`|e*3#p zdZ69k=POR0_x@|7c;d*qxbzgQ#gpD{o&Tim*Uv9idhrLYvwf*KDb%>xBr-Vpfu68s zpv}99>)&&xCMNo}GFX(pE72Fb<9y)e_czm~PhawFYr?(y6>~~goZ~CaoRA_E^QrrN zw9VA-o^M^mx1WyL6t+&qI`w&7;10d5$N%|WXA^6vp5oyrwx=k3N!f#|@BbOR%u!R4 zv9D$5n4qHhY8O-Mn~#N`rIL9%g(TRgg`~1Rmnn&LUda*~%X?!dN1CB?+G<9DS084r zOVl>_AZP7AC5v&_`Ez%lEf=(2e$Q6$&t*yGId7%*NSU43TW(!t_r6fg^8C5y9D9vL zv!b1+pBK<_|M!8XN6}IZHQ9Nat33^y(0oqu{;*}FBZjc&2m#c%H1x{bG7Q7NRf(`D(}RRPz( z9&l0fywo^HtEEMi^T~R)1hY9RPZ%OCVi`(bHfr7d*%7ioiMQD^>5rNgum0VS?Q!g} z4}Ls6f6pQ9JDb*BrJHt6D@s=Ui+`z-9^+KNsmQsk;@e+FVb9rHc}nN)>PRa9$W8u<~*`G zX_Xz~r&wgc^e*PZ(V4FeA2nESy4?EY#P`hVm|Z4yTfT5voOD^Uu2MftWY(w1M5nLa ziJxaUYFzAPsP~@mXTHFlXr|Ay&+eqg9E+N7T4!3@TO+vN;2L{x%BHE0=hs`WUFRAz z=~nyh6))FaKluKIw5Q3bb9Y%U^L%16OZM-p(pHdY-ego2vA*s{>=!qSKi^Jg@O~)1 z7nnTLLpdh)b?2Me&n^9yFP1+oz?5}G=h~U6=B-V;)-Bw6ENwG$GEeD**T>)Nxf`Lv z`6`9~OV*XYuTNC>hMhgvaf0!xaE|VQ$+|N<^mHP`CEkmEv%Vwn#k`U2>F0cnkJ6Ja zE6?y)uxW4lTjPZWn;Y1gJj@v^Z%kVo{M%AoP{APMT&sEQ!iR3*sr;MI{Ga4=Z<=*U z@4ud(E=+3dV!PkpzI$(~#ue5?ov$CAzua#rdHwX8cF)$rJvj&NN$)@I`P)`?i*`B9i1OIRbyJVga)I4-gRQ^S9_(XjYI`8( zrX4S^;e4a@EQVFx zSJ3Y}ZY_-mE!Ztr&Hw-5`+ts^KF5E~yZ@gnc>3Y0=17UOd;8!ym(N?93PZzFSKOv2 z`>~w+u|oM)b&GX$v!%X%wSlY?|HbKfHZSLC1dIRp^87!ao-oJMrw!iT^*BYwI5G-LiY9{;S#f;h5qZ>EDaojg^l**cZ6M z`?2h+s?vPL{m!}57+@p~WtyE@xk zx3v9C3(U)!R`ZuUJ$K@KVRVN}L%Uk<()XpSugE#SUUo#mxbanlzw{?PkGC!?)_G=} z`)6NixX{4tXw5F_V0+WnWocP#s6}m!eJYFX`I5ES6DE6X7TI%M=DNwDnSlaLJX;Iy z3+imV`<5-Jdj4E<_1ot|&7=5r;x`ABFTeM^i9vU}fsV@ztH;sncd##Ln`{2n^0Oy=H8K$|dX)aIe0z;tN5q@N=i=dO(|9h-lsb3i$Cvm2)#ug!6VJK# zhw-*~eeuPdVel+(>%Nv_V`IUNe8JU}vh3~(7 zRMc0Zyqw?sjI-r})6@EmwPR~O35BQVPsls_>Zo_B_N-e@d+)MrNNG|$dDZt*b?LSE z(u?VH6z^&@Oqsr)dB=KP!5@6z_1SlAZ?LXqU!#7(fNM@=>XW67)y_>9yT7#V*3Xao zwqIrD+VvOLuog?T?lm~45PbhmQt$4l-#fLoZr*XlF71Ucd*L?k#I3HCYc4!!-L0^- z|84&4_f5hRLQHm?%t}|3IQ;(KyZV`DCYtvaG)HOkE)M+NQGJRTcAxDx_Wg}s zvfF&$wR>{UHtgQpt^4(R2=lwT9^UDbZ>wEDaDDIT!_@}oCceA(%Wa>^{>05O{OiK^ z#~gI(s|v|`pX=9=k!CEwKUY%QxH<6Py$4NRoSFONWUjkUFYC6IbgKLy$)WYtcXxPW z@!C7*Zsr!hPy9SFPozWSRq-?Os#UAayuQQbg|LhH_y>_|c@q4%K_J>jWqIY&C zG$g#;<*$7pHf=YHTl9}3N4}PR-g^Ib$-x(SX$x!I|Hy2J-t3Si{-%kszhCJ|(us&x zp%Z1AuPz;!k`|V=y{zu=L{XM!%i5Q&b&Z^}QTpWDzivAie{;`${+ z_BVS{ui4sv`!`WKJ8>@agMe!eN|PNAbltbP!T7?=x6p}0W#z0*#SBq7i5=gsGzCg< zPc%=Lj4c;vFFwb-NKYZeE^>qIX0-*Sn%T+++IVIg3S^5#Z%`z;%#+xuHLS6S@4)>o<+q_$&`imSpZU0Z>JQ`l#G;?NU5QNlbiCu;J{ zom0=St-iYN&Hel(yI*yEo*H zO}j&8wyfhh<=k7cS|R^S%>H!oXUzBRUY#u5wf){MUkxVRj%U$ITe&qK#l7)zh-&|w z&OEha|K~^iKf(3)_i=Aq*>d=I{4(=-o9~@i z^1b};j3C*ZSWEVE%NGjvPsloSE<5(?fx8br9=AWR@Bh}RccP!&Pkt`p`MI|{a{kte)5g;f$RIo z-skiG%dao8`NuK!ZH=+CxbTCVx_aG>$vxYTUz1h-DQFYi*eB0;Y{I*HPHM9`50_tS zd0xy`5*bjLcK5D^()QyjKYtdlI6uGr`jYRF>;Ee(m?W~x$gcch+w0BO9>7q7n%9t^PO{6A?kl!mwc;S zU2v$~-u_?~`)sZyyGtGv8+k@9&g(tXRrzyM;%fW$Uf~O{b zX}|XMN#hjdleZ=fV|w=g$3>7FwKr zV#(w=TW=hC#AH4HribbE9liJRVy>1juHtSe>?mQMmXo%`PyeNLR)h}oj*dGovY(V~ zOVM?Rl?jlwZ{TiKspom9xu?7??@4Z*YL&^1w;PV>_J0-(mcQ>WbxvxIy=dK(g5PW> zpOv1zHFu@6LF_m*uF4OZr z#bdK2iz-vElzS;HRnD(wH{aEgwPxtzCS`}R1`t@9;a>07PujL1o zq?k?ED;Ua)DmI>pHQV+;pXc`T19v6wD<5QSx7lOQUtV`>cXsG;sgrI$WpD9pxPSS> zgEPM({epLz&6t;VNTKHY1KyzDFTT&Kv)sljw`-HZE{A>o2U8z&zh7jYzlbp}{l-pd zwe7O^{`dS(;87B)O04QFI6Ip|QDMgn8;#6a4qSbU)+F?Py?fC%?ac{C{zrb6aeqHp z8ywqk(|$qKZ)Ll`f37c#(N{_O)U15y-QD*AcJ>RewK%=`(`#@!+;#D{=l|wDxfP`s z_3iRmm*^d@B-hzBtd`Na$@IXM?e5gdTMgnydo9bh`Q**t@Hw?xPh6{JIg7Vx*Wvs` z6<4K`-|f<_-W0W28NA0LIFVUp(ebNHMFA&Q9j?A|ykEeRZ(@$4V$adDxAyM3*}C|q zfsWIZnWw$aEwuV4mHOP1ZA)!i;=)t%R<|>Pqp!5~842qB{Plz{id}_whjntTd;Mj{ z+RKG&+&f%N3tkzQU!SJ4KU{LRRoLe@);)Q9O$y{E*!)t8zZ=e8u5=(oOe=Xp@!}+x zmRBK*?XG*6ak?ngZ1$MEC*}R*TjBf5Lj3!^*34n7nS13O;~k$nuTBV_^H&W~QomSJ zyV7=M;`6gk29*Kl**E<2skqItT)o|FUFYwMru#2wt17Y_{}|$PW2f2S){j@;|LZtg zcKug1@xP&bcwpJaI5Yea0)B8x=nScU|1@YiXhBtER@|XG;v* z{7qO(V&xb%U9L4{zV|n?Zv9n_mY;U6v6&&qt2W&0uy%5N!N<63obY_l(%i(={ZT9=iR-E z%hDnzRpY%%S2a#9*Yeudxjub8%M;aUJ=6PAGbUUx+;h+6^4*}{9}icS9p7QeJc-fu zP(VME>aWq~QkrnH`1y1034U^Cjz4%TzU^Ji-$O=4_lwI;oZETe@$2o) zpZ|XO7jBW=R{VOR`sC9rx7qFU)Gx_y(P;c&wQCDsYp-+9TytBAYqwTh|I3gtC;e@R zJmbU$)!C6|eksk@8=0NBZb`6SJM~saW!28ktx@da+w>l+X}daa;i?k$srFwc-CdV2 z@$0YrxeSXJ2J_d6t^W`kJhCF^UX-~1TlrtHKf z^^z4mmrY2~nz2qIB)v9VS>mQO!(2Uvy^GDhXfDgRXPo{<=k8WP#?O}TJZd~oWj#Mw zdvI&O%p==>d^CQtZ;fNiZ>5*}zO_AIZT{_hf7(jjHJTeM=ep1QsN{KK-FnBDhhqM1 zy785HhuT*0^HXF{g&%Y=T*0U z{y1mj&0Ce9zn{C6H?Q`{x!(zf3D4JVc_%6>_v$hWd$_nm?2ijma=4dGl1wOPh>Tcn zD^M)CDDeG++o?t?`~7cZ|CZgf;FnD8uh{_tTFp5jy%Dgr0H?lv&RK9=;T=Qn_nN)HXge8$*!$#ExXba=Lnwzu}eSgJO9^7;b_%^ysgZU<nX{!j zV|QMcW|qrVTsmXJXTt^l@1?UGC&{#4H@B{2UOnIOR^w@zn7rLDE?qq9nZoF zTg7gh1j9uU_WLvSQaJ2qcB;NLJ!zoF{`INEkBcc~vlpFmto_&X>yKqam6%eH^y?dJ zvm#@Dzdd>HoYVoS2_K~y)k3XJ3wqa1GHx)=eJuNU(dN~Ae^l+-!S~|P&FUkc=lRIT zO?v-c!DX?k%k*RY(_2N3dq40izkKJbu*v>mX!dhqYhn2EPHHn4ts8XYWdP}=zF3#ZXdh3Y>S`}e!P`p0{^zb^lY`GgI- zSkrwzU46EslDmm@!CsO2(rJ&uorJt`W&ul$(2d$92`z=IWlDYkM{^mIp`6*w2}0pY}liLgZS;@5i1_ z-n%2s)V_QDr3D7&PkYzjxTrr}E@D@3w=}~sqdT^R&C9lRFZuS;^;MmJxY$)s<$52* z$uBkIC*O*fl(a29C-H5!Z?(+Ipo-5sjz5f9pmXZQq8UqGK7F?SUhAb}4=QYwPV0QK z`M%r!r28A071_2kUaB*sxuot0nRm7=`PWzbe?qCxdz~hv&XjLoP<7zkd@iThGU@qs z%yYTFmdLriX4|VA^W)jkYim;a=1%sPNj_6ONs%LhMp z=3R396z2TWE=Ih_&PDA_l~U2~uNoJ<|L46j?vww=qo=azuC&VS>&;e`@;>XO_TAX` z_DzgVZp~)L=})(Huiw6_X>A|F9RAZUO55!Jy|ZiDlOkDoY@yXPhGz5DK$)0MYsp{J zV_Ww6u4-KQM?y}#Ce;7H^?#c4v_;N~ro8&=`Kf(6`#YDpS}!MeSXwO3UzDSBPsNlg z=+@MJ>B(F2xnA@brtrUfC4KgaT|~p_+qIA879M<6u<(jp^$(5ksD^4-B_wPTu>9fvRtECQIX5F_V4n4n@^YTE&vXiP} zzP#paRtN9P$gmhQzfjyZCC0ntx6o~eN&6jnRnikqolh*@{PDrPk`w(0`(#dp?Q0N_ zdU@+iQPJG^>STt)R$?}5=U#R#tIITxnQOPurmn?nyT|u@#U)O{_n0muO~^d{bH?}l zgqn;}8}oaXn)VmI@^UiFcy;6G@kzPsg&*_0Ec?rpmQ{RP$v49>SfjB-`(Z}xk5=Q? z{l91B++D%VyW_OWwx2h@_x!lmKjrWHD~CeFjs~;N^jZs&DZyYJ7YhIK_dtLiRAHtE%FTW_itA)?1Ew!nJHH^t};&4Jr5A7?tc@X#~E z!_N$zD|hH@&G+5&I@+tz##>#;j?qFq^~*z#&2LT}TVXwMk;a0p?>2tmx|W*Y!)s=8 zbmy!M#nw>_Yrgpgfcj?4EFsU8=Ufal`2O|xxn4i%-hTW4tUekxGi8>Q`_wvY-}d^I zT*u#yANsECGd*;R3nE(E=kNNW_FU>vYDXa`ps`t5_FuQE87SF!t{EzKi^-qR=IAE^fzx6$T#li=5 z*YqCT6!(bku8UBbu*O78L1})(wd|1WvPCf)4*YrcKB#*A6~1_5ZN5^LC$fC+&uvu!;^KIzDM2p_xU zs4T;9gTwlL{Nnh3Z|Cb9wV7-vj-OqAVWHvs>EGRNOxgaX`p~)Ak)JQ#@4xUME4?~+ zf38#VoYIAE_FR?SE04d~RyuP{+s65cr_@h;VKl1dkiBnnYR>F+x%CE@Q%usc^7Rfs zUwV1<%@;krHEY^qe=W0eoX*ZMv*9$0=Rbk1t+6cc_VxyGzYAYd!(z{<7Ba)CATiDM zPW`Tyweuc-zjo~Wg7trQs+U{8JRAJG#ehxEMp5B4+u1O~q)k=5sjqh(Jt??mvu^Wa z#h#~2JwNR-y0Bj=e%f6vmD?;vf(6g|_`dJ{?q|YSK2>`K+nwzB%YI%uAluWbFh^kF zo+P>WxJkDrTgNm>rP+ONuz20fA918O zw%6sxjQVFaI$NJtaxG0MasU1C^5u}CWFG$CvTu$)So=<&ul;aAVIog|e|1MdzfAwi zt@Hh_^tG7g-`wz-G2xuY+u$-eGj5-Qs@C!+wOrU=oK?!JwtW8AU|RIe%7Sv`YzN`} zOl2SY&6$6{XkAv-v~vD|RJN&hO{Yyf-ts=^EfeUuRoB4AGh0BU$SgkmCv3iFka?)~&7PMGX-+&he%>i}|MRW&_o}R05mK{-rfN3tzQ&yL zi(#G75w4gNUxxRR*;kes_Udk#@z$5;Omjv)pR8Tr*_+HIl?^`ICwTJB%(>?IDS|(3 zUw7<*DgGCG=S*mLAoX?T&nKItYcH(b_`1KB-FWKi1Ob(w0e%?==Dsu3`gy45*7}*( z{0mGT*d@1ChjTxW62v!*rMsuz_B0;Y^E+}9)488_ zKF7_y+5FYUIzRT|j`N%f+3Ig%=rk&H%^#@#xw#4S1mQEDg^YE#U z%ah#Q9}YhC4mYD1XfzTbdZQ{ZX~%yk)a*M=$-h z`F+lu$+!N0_^@5Tc%iJMf59~t?xutqhG#(?E3Wvl*vR`CB$xTM+|4s)GH_6p`MQ!T zP44dc>7k~H&-wYSQzDHlj%FDw6T7jqxS9QC-=TzK`~j0v63%Gz%|5#={f}Vs^SOKE zR?jV->7Ww#Rw3P4WKH_|Uabr7uccnRnZ@naAgy}dG~wQr7uPp^&RfN}m;K?d*AmkU zwmFslVeKjGDB+*^hF!VASvrJiBLCXV^!wtGr@p<(TW{iLRX*1>B6wlNKhYlV6*=6B z#sw?$*hS3Ni}*Nxm)sV<4&_%vQ_GIGwOK{( zJAZ5c(f;DoR(GVscWt|`(qO$$T;l8(s5@-O~`q_diMR~@8)UGL}t#3RN8u7e95=%Kl@LF*!})>_;~!@?udlFo1U-Sdq00s z{;J+@#m@~_+Ip&$SI1_)xK&-aT7@xP=A7l6zT=!6Z@0~6wBCMgVOI9@e+oT@8;&)3 zUYu3AGJB~?ctYkP=^(MyeM&)8Z0l}V+g-e~5+Ws$PocQG6zbg$n zwjONV8$YKdJGl9~E&BClPQm_iHEvg5F)`Vw4G~R$c8DK5IK|)KX?np-#}&RWPR%zv z@w2b!^-Rmh3+L%QE9dWt{h}_BBezcXlkGD9a|`V387rCsG+Rz7PX1$+z5L>TbKByc zR=Gd(zFfCqKe~KH)d7nMdC&T9mX}$7xYfXEzwK)J+wW%jcQ1QfV^_A7yiRA1o4UdHed#=49{t*Y4M>)Va@GKJ$a0-v7R|7s=(jId^#H@7U@R`s><* zbw->gS@VxuY^p7qer4V2uV34}i|5tqzgQjg`{$%9>poQdF8ju4Z(HAHSH9qt!-aEA z#(nL+a&PO(&OLm5{Je0&gPz3g_xtQlTQB9cy`IgX7w|gpn=y0T-l`6hL!pPIYCd>; zzkcET@95lh8$OpbbRUzLP<&w*+w@Jx&)whl^`W74z6g`v6!Rv@_h%%VLo^kHBZ3b~ z*+$F1lX=F(U0(9tsixF1|K?-WZ`aRGGk;f^;CQXXG$*t@G`g`{C#GF;b>xC@|NbYl z*_YcM(~#S7iQyMhnVtIW=-7j=xOUkzaWhW6EAZAU`PjXU%v`g#|N3ILu8%|E_6^o- zj}`pc+;VqhC7+i!UcB_{r>&Bs-Q6J%Z_S#pVcV0c zdyiLbXS-9H=^S~if3|7X3GZK-2lp=5x_gWJ(^YTwx95x>GG`X^TE}Z|jlc8q(g(*! zHZJ*>dalIXjx779Rn2Xwyfr$zpyL1Ld<&_)aU6Xnvol+?Pu=4w`#w3p=!A#O^Oqq! z&yUG2G&5bbD{J=Q8s(U#w`%iyR$hJVX7PII*K_AwjU>{kNyHbK2I)>mGjL?9ndR%6edV>6g6YkKY>}+oN*cb;6VC$8)c3 z(W&0ixn%V+J>QuRK7CGGP}=zGkIba|WdS$WCBHSdJJw_P;uTN&<2pY6_iu6!xXEUJ zPimMx;Vswklhre?m8bb*A)QP)gY)~^0mvANp1nrD99zwZ7eJu-*$CLdo~mRn#kZ`ng_uZM~I=kA$k zcJ1_)#mUCUwj6kUa30(G{JQN@{VOfS->&-J&GY@@RAqrP=C?Vm-~Y3=v0>S8H#^{b z*V_5A_tKv$u{0KZaNH!FZ*zTZ=HBD8e_TG+&^o7itJS9B?lbQ;aW6P~Eb{K@CtZN12Pkj1y6Bj{~J3Eoy+X%6eeA1 zUVH6cb<9eZMTs{Zr)D$|Gg*`)d37wjONd zk$rUdx>>@mmbvGzK7F6~e9he&pV^z%&HmeJvi+6ujA;*)81rAfbt$}-r*-~HbV9mq zLit>)4MBPHHFzcZEq+CW2hTgu>a?krRdMstNi{$Jbl3lLj*=xxas%Ex-Hq%j*^Erh9+7E;3EOYEF;i zQYJ0Yf`#w$db_`67yguuEL!sNdvx>eCrNcJ541K22gto%|Np=R)-<)I*OQ+(_^V2I zzkSIQyy@73pMTF^WLxRtne$nvN@n?IN!K-kdAl8Fxk)|D;uU`Kp{!@Z3f7DNs*5#0 z{`}c-{det+9T%>+9J9R7TK#a-(o8N*m2(UwvC5v850+b}J%3Wep!GCgf!TR;iuM0b z7xr9Ff1Z5poJ9Ag;%m1(O00kGV_kV*fpGV<&7Zv$?8BXQ<+L4Bo87{8WBuLphLyLi zn2SVrOh`y#R=aewSs{H-d(Dj3?-+iaKJix8dj9@-=dz}>e@}>UP?KJf!@h9Sj^?-< zTV}pmx!wMy*tU|#2Y$-(#Gd(XUt#v-v`<~*e6x@^Bgx23c6XVxd^M()ikN9hGtGqg7Zn59wu;@9-3hsBCa%bc$n-!uKf8}FccENP-np?jQ-0P7x zI2IuOYu)UBVk>KZY2RIRkoEYxT)y8E7F4VY{F)ZFJ*$8F?()sY3+!wh#gDHjyj?cg z-Q2p5qy4bvC6418Z|6PgEeN%>G>!i+m!}eOB4_)#hmRjN*nC~HYj>Ee_5Lr)OImnL zH`|<^sG?~hy{Y)irrWm*Ew?gzo4>vPd7cel#m#O`!-VI~hb4S&RLU#N{&&%b1%O^?2-4W)t7gk|1^8vgx}}ZdH?7QIT!Jm`#*~W=P}`enal?_ zr2p7?rR=(}*tuoODz|he-F|C2cXzHtPTK9A6Fkh;|LJ(tvGw(%&jym~%Wcj0->p99 zYW&PSw^eAtmCfFt{}+B==iB!>V$uS61{GCTm$Z9pqOXQp-`9wYSMt_Ry5;WQS?91)MQ*=bVa=(+%5{le5Ayx%=i9Ws zDmwOg{eSJBjFrm*Qf|I*p4s^Re*C0^tX`fPQ!`qur~f^Aka-qoX~aA4y@s!AZKn&! zygL8-h9zfX@|;(0PnhH#G(Ii5E_vVcdvcjwNjbOC0s*6w=WcgTW412mYM7Jse6n`9 zM5wS{sh8WCeE!TwdP#+XXT-#^zG*pyyFJ*FBR`9=^}dK9^O}Qhhi_b}b+2p+Xg|rH zY$nSwc?N4mx~sO?$+wv|lLL&5Zfz_p;w<_3()h~5i@9&&>t|2c{g9#dIMWW-Wo1H} zN_^*@kwpZ z@4qFB2Q9GRG@0rcoVCK~?$XAy(VM@m{?d8DX1jmZ{cVSR|2Ahh8~pO0GV{pc>&mC@ z^Qf%MT={qU|1W1fAIJWm?%#iRme~x;dS8n}jgr2XA8fz>?|{F3?KkB(p0&KQc1hOG zbu(9P5bC_U(v9zGx)^w4(KStpD9>t=htPRW)sex=zp!Q}LepK}WO zVnmjGxcT5t+pLzLwyXCOUW;>-e%V?!lcDssTus8;#m_gE-)er#l+^b8`n%-0d_7WA z&hKxCtIwDGWpd))z4}_-Z1zgdnY+HGoqja4Z1JAPUo(R2_r~a?m}ixBYn+W{@ME9B zqBxiR*TalT@bPDyhW*x!}UFtxY29@IH8_WN#zU72sb+U*a% zwl3V`?cTfL^)j-{41avyZvWxeamo6>fAW8P`XQWhWo2#UzqVyHzH)~Tznoywl90A% z&m8sQ&>69xZ|$%9dDe1|DC@cBMPKfS94`BLPif$A0w$7F^7q?H${{8g+nRO@E#=g-KlAJSDn?Wso z;vT1$KRJAgcr*PbwZAap+h*4lyzjNew7PmljzHFI=PW$-l`TCQlR_CY8{_j`w;`Pr-IW5xVJkfuCJ~#ff=8fS~u^Ga> z1&gf=`)`T}I;Ki4De^5_IotN=x$4KY$4vK!hPLj}NO01%t8Y4S`OO|yO~r|_^97FQ zsNJj#R&`t#ZoS=bM)`ctLcdiC$ImUl@o51gclN8t+G3xkD4v+sYRYm$N4MwX_Ajz; zcm28hbbh+~gcI!FHf}tt!+ebC5QEa^t+f}Y-}t-r$-9}R_mf>^_t{pwHjA}MJ6Zg$ zV0Fr4+1aKuU+rFC;ODuv^-D_1tG*xS4czxjhy1nV=>GL8`@`InXAzV5zkd6)^w`tt z((;6tzYa(|TUykaZMQ#m)oj^xF40pe_kU#YtH{S z%=yW$#BS6Z3EeTd+*{zX`0z)_3+YbV#Z$-@iLsH}Lz3ESIDh`Q@e3jh}*))Y*)7B_2#ndYYkU!eSThNAN=>`tn8K+z2)oPFn(tJHV z=e<91TqVZ)irnkknQOir_}9NN+nptP5B4|~CRl?kPej%tku z6&ccn7rf7Gs@7jQSNHMP{?kuf>o19&;&RZ)*k+KMd&%>y>pZiRib_j$>4(eq`Atl% zEr`6yalO%@ep@`(b48i`Wj|#3+mqLa7$iN9+P+@YX@?LC^Q)KdFZ|qSeO~xYOqy%= zB^8!WdmKXJVghF!ZZ*9(*IG?v_v5cizs-}5iMF1fHhGQ|7k|c0qussS@lDgVU((5q zZ8%<9ab5QQ)pEx{}#6H*1J{n-?PO;S%pbyhJ1X#oqGny?>AYx z+j)YY3jH)Jj(n$mF!tH+rjl**s-M~Icw9I8$?ngyPHwv<*KFN;a4ymK`$`^!fP0O#9w+i?io`Kdv}sedOs; zM&HuNgy(mR5}Llw-kkZ$yUFayEdJfMtfn>|`f)p9^MttLN3=5Mgx#%3`t*6%7W2*j zo=N_>`6@i3mW`8jp`61)XFEkp)@%3j$~@LZT)fUGR&1PECS32su+VR5b#hy!s>as8 ze3N!bT@r2IwR~l!?q3%_2Iw6DZ0NI&KGG~(_gQ~K!JD&Dk3$+Pc$TL=ZCKy3gj%YdlNiMJUCqZvA?yLthm{wuStIU zYT2*x`uyd+pfB)>MUiiE;M#*u+mhcZ70!u%Qr6&WdQhpcT|aGNqMzyVT-k8x+`95> zuDzX7nk()q=1(fQANwv(R_y)s#J03uYXa_lJiB1!+1>Nke_h4v=yAt1#@z z?R4Rw>Z;&{Q@l16%f9h_F7>b>Wp1!rW?JLR+l?yc&REPpzhV{F^7i(7b9QdMHupV? z_4S|0$9J&34*T&tB8&fx&4sh;yl?Am`23(Scb8OUk!g9uJ#B3RH(sZeSGzAI-l~-} zQRTT{vh*>l*LABCg*w~UCkQojo9b!$P7RsVz16;dTV?CBaDi06Nz)~ll{u|rzE>jq zVV+<9#M_-LHG?LTjy4`Cv3=CK zB^J+Z^qIE!)8j0|+0%{Ao@?i>nltU#Jwuv8zwdM`_`JVd+Wy_t2}>r)*VSxp z$lH3?bWz&Y$k6>IpB8?$;WIC{NxJ;@+2u7iGPOozjKs+U*9lscG~*8&oa+QNGz*t z%{(XIPSSKdZFseXC!r~TFzhV2Yb^?kopb%XZ7 ze5Xm~&-Pt9aO<~fki@-J?TTh6Z`Q8)vh8?Pcl(5W_Yd_ul%+i8W2{|&<({|Wqo=a< z{Y#tfR;(`gdg5MR^^L3NdhGvyuKZ-&r&EwLQ^0(#|IVOHVK&WHZzUnF|KGN+-w~r# zQ(q^0bzQW9$fE00u4&1vG&EHV+xU55@0$yowx&j2TrS7go~Nub$9iUfkejr|(kRdH z^!NnNEq;}c4TQ?yO+9tXRqM*RwV4ZE3*|_<2rbjxtv{E?@Z;UXb;-hB9E*J?MeLq& zsbb+Ry&2{5vnsv`d3x05X>aEj4>;XWT1(LHwdlsE7VvP-F;BczE_U<%~ z&5t*A?KKQ#QjNPzrOvQKaDU5XJ~uP_ewEm<<1-j<@LjoHRq|fec9#~r&7>!rn~NmH z!>>hupYd{sfz(DmgZBZGPHi{RCI%;oymTR<532HTlZD>CZNu+?6u#2%iqOi^!-l5M-|lIf>ppw>WoQ3S*X!79Rs2%zCQa?U;PPgVdS!LlyFN$D^tB05 z0@u%N{bsg6v?SPaL;n-2Pye1iSXU;ux!AxeSi0}zvso9l47t~xk>27zYu()ZpnuC= zeXtWWh~Y2x%Qdu~zbm}T(O6qxuYOJ|-_LMyzR7bPmeeTA_Acz@ol(11cG1?OrSA%E zE#C3vJZnVspD*QXZx38q$-9sH_u{x^2cr#2V&8ubIPWjnb)3ofro;4GzU+I$FN^1P z@XLCADrb1NdA6j~?2x;Un{^j!n$Ei9E6t&KPxMacsknmc9Z?f*y`6N%(szl46<=)j z3$MjB>jG@VPVjL>Dl!&T9D(8O>s!a8ZoM$hgEmrlNXyWeou3PJx=S?l%u|Jl0N zeX}}x&T-N8CFwrQ3sb_a)4!J=%)0U`VZsJMMf)XfD%RKcZa%7gu;y&nTP>Ed);oG) z_Nqr`PJS~d%wX}0uig)3v(3)Re$YF4gRx}yE}Pp@yGkVA1kF|0-2QJ_OPkh&uLsST zuDxo!^uT>Z%aMm0>n#ryKB|jxUtBTW;y6U~xX4Cd! zwwmc@-iB`3m9wDes-)swWyNKky(i{2))-V*`WJ*7OaG3%by&LOKdaGLra3k3ofBK-`t@(4vp@d*?VX;V z^>@Z}kz5~5{(1AWT9miiEE8jxdeGp^hQsgj{{J-ms^8^2+ga{LrGYAAOeG_aL}k;& z%KFKM2hSyoTbZw2a4@E9e)8gF+dMXlr>j zTz%@f*4a;z8D71AZayg1EpTc}UubAj^w%b<<+WU7m`@20^UO(}ITdx5i*=3{Z$JK+ z(>2aPdVa<+=|8t7$^}c?`FplLig-}8b3x{-vdtHAom9Fc%icYSTwnEMe!}9*_D9c2 zPFeGP)7FIh6VikvZ-_M3-jHZ}FjdaFfBkx0xyRb+d!`>uoW-YVDx1%Cnf2U-hPjt# zi57pV`C8B37RHSQ&y}&7hH1|W*5%ya*BjY+ zsz|2hU4>eaM`q#{x6tdIZaYeov(8!eRqg)v;C!8h+=NugbI&*DhkWiWIJ)q;^nK62 z);E48oZDON*Wqib>+tm;N9^_Vgg0^Xw!1kyl=ZeImPN12cDr@tocQF6N4orF`ui46 z{k*bv{tn4Jsfssl2RJ@IoO8lpx#{cZ^?`=GaVD0s3A4j*JiEI2+hl7op>vgaNsATB z9&x@uvuiu=0!X<9mU#$MceGI|1wqJ7#4uB}ox)^3|@y(R9L z>1Uk_>?`M5@;+mEaCxcyYhQ*wok9a4QJy7F<0`k97teb-S$n}Gqn|VP|NG@$WN0_n z?=Pz_$A&5AY*JaR<*%O0%<-AD@(g3qk!`xx-A>t(TBmQ_vOMg0vrwU1L2%Al_ct*d zj1QZAcg;ATStfTrV)Mnx4ARoek39D^H@(0Uu~xxgZD!HSpiOCwn`IBr=0E%L&+g?j zCDjkeT-m?sM*1x4>zyxM^J>d~S4@1{`fS79Ef!yUD%V9^NxG(YRq)!By@qdo+_9;- zm(6o%x3~wx+?+Se=9`*7?faDfdq)~y<-Lh>0r#6>)mUF*jDEJd|K&nme>$lem+vz#!%YtL-uTIIhL!V46bk;ls}Ft*@@V@;hd+yQ3%(&b9y_<7pG%laN zW_H$%kFxo;Q$=)E&-U8>Ox3ANWykU>o7PTxf6ur1)Lh*x3CVSF*(OhS?JDSCsWn%7 zv-x&uuEJiaP1|SBzjxyDv4@inYbX^xc(=Z_x`xB^guIdddFdIq)-jc*y%*V@aan?K zx2c%#%IdOp%c2;cX@7gDyt3BejtX;o)i3uA*BUKvlr~&1eVe^qC~}(bree+XCEwob zCv*ELMxFoi!!#=Ug^SK=L$)B7hO-|3ESw$AKbEY#pApW!zl5zz>G;bThojss?|7fL zXrqRp;WI^Rep}&(P6csC#T0H%<=%1G!Q+ISHGlnvJLiATN_ze=|GrgoUP%-cpnDCVArsJ>s89_F8>io+8spZBmWq-aV;B8^}`mgKKo^G$1aZENj z*zDW{En&a4I}Qt#@x1e!^nLF0@~Hgs*{UzkZ*Ki)wlkQwBWtqj;{17&XMT~b=A9L! zUb9lTzC-5ZGQX0qLY{9qMZbk`dszSdwQJ?^t(E!5gtG3gJgRZ}Qg4C2etO7aH;Y3r zzf9QTv1V0K36m4^?5$!!o*b&O5j^K+N}MP?_r>ii!}qU$ZcV-?FV{EEQutHMgP`@v z&kuj-o@UF<`H(r;M`Xp}gzE`6X4Ty&YZmmr;r*s&%a67DI*(|5yIFPQGt)1fHsErJ{toS$|#+Ri$8+w8XW-Zz)c zKbdA&uiX32@-*-K>MJdaX71D4a;?^V-HeydTvht}Z(6FRE$IE2oOM`Q=ky-w=>Mjv zk&7fZ6!$Tli(H-+kv#Faq(#ycm1Ao*CO>~?*_(GOGVlA`PxEH_F6Nb*oA6xaqR9N; zZ)`4YtGc-C-ZO2MXDp|0A5mP^y|irY_d#qpH{@x@TA;k^02b3 zd$%J^+^NmqJUL${*-<;R^Xbo`9EQg~Z9VRnmEL}}y6BxO_w04*$-18_v)k;pE|{)w z+QD%w;=03E$1_DQr*Jz8v>r-c7{mT+sbjF|IR>6}Gb`0g_htsqGv$$BzWhUQ$DOZ+ zceI7K-EtD;x@p*aQS9u}!o_#K`3YaM*>Sr$_-yIQMBaG*7iSK<|Nn9A-1XV^N6JOM zNjx}oYh^ZX@M}+l={z#mJ>GVnS5^{nHLRSRGEq6^&!hPI-^w#LndP)(Uv1qbRr_Oy zwWP+UJC$p>uiGr|l{7zeQYY#8zrU-q4xHoP>ukras(9l0HP*ZtkA!A+d%lSE z-9x6EQ@M79teG*F+y2bEpO5`Y;Wj4 z_08~$?tE31haYBGyWNy{;dNg(fURJ?e(!r@fjlP1&e?f$?(qE0eRg4~&;)P zE<3hz_J#dFj4pDN&&g=fKD{ZIuUowHVVlFLyp+D0T=}Ld__>X)vYaGU#w+8Kju+ZDHESM955ZP}M7_%@RH{2#vM{#74qpGEB6 z`u_a6_VxVl9~x=giE^8?M}K=vh^^hK;;7U-m-SZHE$X!c=NNJPWHe2T`!2IuH!JtH z-p>aM)XK`{8{eCL

DqyG`Rb-s!eum6m(5jb_<>dolJI$_CT_ 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 HDWM4f^NV^u literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/supported_mine.png b/kubejs/assets/tfg/textures/quests/supported_mine.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3edfaf73a8ac9c0d595d5522e04255f68c9585 GIT binary patch literal 134615 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/wheezo.png b/kubejs/assets/tfg/textures/quests/wheezo.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1498bb7fd92eecbbcd81d5eef92ce55d6f3e86 GIT binary patch literal 102260 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־Mz_Cc~^`{t#8-TuE*cbDIBf#H{Dp6 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 literal 0 HcmV?d00001 diff --git a/kubejs/jsconfig.json b/kubejs/jsconfig.json new file mode 100644 index 000000000..e2acac6af --- /dev/null +++ b/kubejs/jsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "lib": [ + "ES5", + "ES2015" + ], + "rootDirs": [ + "probe/generated", + "probe/user", + "server_scripts", + "startup_scripts", + "client_scripts" + ], + "target": "ES2015" + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js new file mode 100644 index 000000000..b2f9be3f5 --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -0,0 +1,146 @@ +// priority: 0 + +const registerAdvancedPeripheralsRecipes = (event) => { + + event.remove({ mod: 'advancedperipherals' }); + + //Chat Box + event.recipes.gtceu.assembler('advancedperipherals:assembler/chat_box') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x computercraft:monitor_normal', '2x gtceu:mv_sensor', '2x gtceu:mv_emitter', '1x #gtceu:circuits/hv') + .circuit(4) + .itemOutputs('advancedperipherals:chat_box') + .duration(1200) + .EUt(GTValues.VA[GTValues.MV]) + + //Player Detector + event.recipes.gtceu.assembler('advancedperipherals:assembler/player_detector') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x gtceu:hv_field_generator', '4x gtceu:hv_robot_arm', '6x gtceu:soc', Item.of('gtceu:face_mask', '{Damage:0}')) + .circuit(4) + .itemOutputs('advancedperipherals:player_detector') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //ME Bridge + event.recipes.gtceu.assembler('advancedperipherals:assembler/me_bridge') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x ae2:interface', '15x ae2:fluix_smart_cable', '4x ae2:engineering_processor', '1x #gtceu:circuits/ev') + .circuit(4) + .itemOutputs('advancedperipherals:me_bridge') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //Environment Detector + event.recipes.gtceu.assembler('advancedperipherals:assembler/environment_detector') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x gtceu:hv_sensor', '2x gtceu:hv_emitter', '1x #gtceu:circuits/ev') + .inputFluids(Fluid.of('gtceu:biomass', 2000)) + .circuit(4) + .itemOutputs('advancedperipherals:environment_detector') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //Inventory Manager + event.recipes.gtceu.assembler('advancedperipherals:assembler/inventory_manager') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '2x #gtceu:circuits/ev', '2x gtceu:hv_sensor', '2x ae2:export_bus', '1x ae2:equal_distribution_card') + .circuit(4) + .itemOutputs('advancedperipherals:inventory_manager') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //Redstone Integrator + event.recipes.gtceu.assembler('advancedperipherals:assembler/redstone_integrator') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '10x vintageimprovements:redstone_module', '1x ae2:redstone_card', '2x gtceu:transistor', '1x gtceu:mv_emitter') + .circuit(4) + .itemOutputs('advancedperipherals:redstone_integrator') + .duration(1200) + .EUt(GTValues.VA[GTValues.MV]) + + //Block Reader + event.recipes.gtceu.assembler('advancedperipherals:assembler/block_reader') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:lv_scanner', '1x gtceu:mv_sensor', '1x gtceu:mv_emitter', '1x #forge:lenses/amethyst') + .circuit(4) + .itemOutputs('advancedperipherals:block_reader') + .duration(1200) + .EUt(GTValues.VA[GTValues.MV]) + + //Geo Scanner + event.recipes.gtceu.assembler('advancedperipherals:assembler/geo_scanner') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '1x gtceu:prospector.hv', '2x gtceu:hv_sensor', '1x #forge:propick_heads/red_steel', '1x #gtceu:circuits/ev') + .circuit(4) + .itemOutputs('advancedperipherals:geo_scanner') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //NBT Storage + event.recipes.gtceu.assembler('advancedperipherals:assembler/nbt_storage') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:hv_machine_casing', '1x computercraft:disk_drive', '1x gtceu:item_smart_filter', '16x gtceu:ram_chip', '1x #gtceu:circuits/ev') + .circuit(4) + .itemOutputs('advancedperipherals:nbt_storage') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //Chunk Controller + event.recipes.gtceu.assembler('advancedperipherals:assembler/chunk_controller') + .itemInputs('1x gtceu:hv_field_generator', '4x gtceu:hv_emitter', '4x gtceu:hv_sensor', '64x gtceu:ram_chip', '1x #forge:exquisite_gems/red_garnet', ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 4)) + .circuit(4) + .itemOutputs('advancedperipherals:chunk_controller') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) + + //End Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/end_automata_core') + .itemInputs('1x computercraft:wired_modem', '1x #forge:lenses/nether_star', '4x gtceu:quantum_eye', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '1x gtceu:luv_robot_arm') + .circuit(4) + .itemOutputs('advancedperipherals:end_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.LuV]) + + //Husbandry Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/husbandry_automata_core') + .itemInputs('1x computercraft:wired_modem', '1x tfcgroomer:blue_steel_grooming_station', '1x tfcgroomer:red_steel_grooming_station', ChemicalHelper.get(TagPrefix.gear, GTMaterials.StainlessSteel, 4), '1x gtceu:hv_robot_arm') + .circuit(4) + .itemOutputs('advancedperipherals:husbandry_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.HV]) + + //Weak Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/weak_automata_core') + .itemInputs('1x computercraft:wired_modem', '64x gtceu:cpu_chip', '4x gtceu:hv_conveyor_module', ChemicalHelper.get(TagPrefix.gear, GTMaterials.StainlessSteel, 4), '1x gtceu:hv_robot_arm') + .circuit(4) + .itemOutputs('advancedperipherals:weak_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.HV]) + + //Overpowered End Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_end_automata_core') + .itemInputs('advancedperipherals:end_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.Osmiridium, 4), '8x #gtceu:circuits/zpm') + .circuit(4) + .itemOutputs('advancedperipherals:overpowered_end_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.ZPM]) + + //Overpowered Husbandry Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_husbandry_automata_core') + .itemInputs('advancedperipherals:husbandry_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv') + .circuit(4) + .itemOutputs('advancedperipherals:overpowered_husbandry_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.IV]) + + //Overpowered Weak Automata Core + event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_weak_automata_core') + .itemInputs('advancedperipherals:weak_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv') + .circuit(4) + .itemOutputs('advancedperipherals:overpowered_weak_automata_core') + .duration(2400) + .EUt(GTValues.VA[GTValues.IV]) + + //Memory Card + event.shaped('advancedperipherals:memory_card', [ + 'A', + 'B', + 'C' + ], { + A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 1), + B: 'computercraft:disk', + C: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Gold, 1) + }).id('advancedperipherals:shaped/memory_card') +} \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/recipes.recycling.js b/kubejs/server_scripts/advancedperipherals/recipes.recycling.js new file mode 100644 index 000000000..3d6107a89 --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/recipes.recycling.js @@ -0,0 +1,413 @@ +// priority: 0 + +function registerAdvancedPeripheralsRecyclingRecipes(event) { + + // Chat Box + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chat_box') + .itemInputs('advancedperipherals:chat_box') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2) + ) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chat_box') + .itemInputs('advancedperipherals:chat_box') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 5), + ChemicalHelper.get(TagPrefix.gemFlawless, GTMaterials.Emerald, 2) + ) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Player Detector + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/player_detector') + .itemInputs('advancedperipherals:player_detector') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 24), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3) + ) + .duration(GTMaterials.Electrum.getMass() * 24) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/player_detector') + .itemInputs('advancedperipherals:player_detector') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 24), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3) + ) + .duration(GTMaterials.Electrum.getMass() * 24) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // ME Bridge + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/me_bridge') + .itemInputs('advancedperipherals:me_bridge') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.CertusQuartz, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 2) + ) + .duration(GTMaterials.Aluminium.getMass() * 19) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/me_bridge') + .itemInputs('advancedperipherals:me_bridge') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19), + ChemicalHelper.get(TagPrefix.gem, GTMaterials.CertusQuartz, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 2) + ) + .duration(GTMaterials.Aluminium.getMass() * 19) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Environment Detector + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/environment_detector') + .itemInputs('advancedperipherals:environment_detector') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/environment_detector') + .itemInputs('advancedperipherals:environment_detector') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 8) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Inventory Manager + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/inventory_manager') + .itemInputs('advancedperipherals:inventory_manager') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 24), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 14), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8), + ) + .duration(GTMaterials.Cupronickel.getMass() * 24) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/inventory_manager') + .itemInputs('advancedperipherals:inventory_manager') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 24), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 14), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8), + ) + .duration(GTMaterials.Cupronickel.getMass() * 24) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Redstone Integrator + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/redstone_integrator') + .itemInputs('advancedperipherals:redstone_integrator') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4) + ) + .duration(GTMaterials.RedAlloy.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/redstone_integrator') + .itemInputs('advancedperipherals:redstone_integrator') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4) + ) + .duration(GTMaterials.RedAlloy.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Block Reader + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/block_reader') + .itemInputs('advancedperipherals:block_reader') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 1) + ) + .duration(GTMaterials.Steel.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/block_reader') + .itemInputs('advancedperipherals:block_reader') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 1) + ) + .duration(GTMaterials.Steel.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Geo Scanner + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/geo_scanner') + .itemInputs('advancedperipherals:geo_scanner') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 3) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/geo_scanner') + .itemInputs('advancedperipherals:geo_scanner') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 3) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // NBT Storage + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/nbt_storage') + .itemInputs('advancedperipherals:nbt_storage') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 10) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/nbt_storage') + .itemInputs('advancedperipherals:nbt_storage') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 10) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Chunk Controller + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chunk_controller') + .itemInputs('advancedperipherals:chunk_controller') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 10), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chunk_controller') + .itemInputs('advancedperipherals:chunk_controller') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 10), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Memory Card + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/memory_card') + .itemInputs('advancedperipherals:memory_card') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 1) + ) + .duration(GTMaterials.Steel.getMass() * 2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/memory_card') + .itemInputs('advancedperipherals:memory_card') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 1) + ) + .duration(GTMaterials.Steel.getMass() * 2) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // End Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/end_automata_core') + .itemInputs('advancedperipherals:end_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Samarium, 2) + ) + .duration(GTMaterials.HSSS.getMass() * 37) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/end_automata_core') + .itemInputs('advancedperipherals:end_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Samarium, 2) + ) + .duration(GTMaterials.HSSS.getMass() * 37) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Husbandry Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/husbandry_automata_core') + .itemInputs('advancedperipherals:husbandry_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/husbandry_automata_core') + .itemInputs('advancedperipherals:husbandry_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Weak Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/weak_automata_core') + .itemInputs('advancedperipherals:weak_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 22), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3) + ) + .duration(GTMaterials.Electrum.getMass() * 22) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/weak_automata_core') + .itemInputs('advancedperipherals:weak_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 22), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3) + ) + .duration(GTMaterials.Electrum.getMass() * 22) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Overpowered End Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_end_automata_core') + .itemInputs('advancedperipherals:overpowered_end_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Osmiridium, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3) + ) + .duration(GTMaterials.HSSS.getMass() * 37) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_end_automata_core') + .itemInputs('advancedperipherals:overpowered_end_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Osmiridium, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3) + ) + .duration(GTMaterials.HSSS.getMass() * 37) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Overpowered Husbandry Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_husbandry_automata_core') + .itemInputs('advancedperipherals:overpowered_husbandry_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_husbandry_automata_core') + .itemInputs('advancedperipherals:overpowered_husbandry_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 11) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Overpowered Weak Automata Core + event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_weak_automata_core') + .itemInputs('advancedperipherals:overpowered_weak_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 22), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8) + ) + .duration(GTMaterials.Electrum.getMass() * 22) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_weak_automata_core') + .itemInputs('advancedperipherals:overpowered_weak_automata_core') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 22), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8) + ) + .duration(GTMaterials.Electrum.getMass() * 22) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/tags.js b/kubejs/server_scripts/advancedperipherals/tags.js new file mode 100644 index 000000000..4fe3a6ef2 --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/tags.js @@ -0,0 +1,9 @@ +// priority: 0 + +const registerAdvancedPeripheralsItemTags = (event) => { + + global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }); +}; \ No newline at end of file diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 79ccef166..8b25b2eba 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -1,2121 +1,2147 @@ // priority: 0 const registerAE2Recipes = (event) => { - - // Удаление рецептов мода - event.remove({ not: [ - { id: 'ae2:transform/entangled_singularity_from_pearl' }, - { id: 'ae2:network/parts/energy_acceptor' }, - { id: 'ae2:network/blocks/energy_energy_acceptor_alt' }, - { id: 'ae2:network/blocks/pattern_providers_interface_part' }, - { id: 'ae2:network/blocks/pattern_providers_interface_alt' }, - { id: 'ae2:network/blocks/interfaces_interface_part' }, - { id: 'ae2:network/blocks/interfaces_interface_alt' }, - { id: 'ae2:special/facade'}, - ], mod: 'ae2' }); - //#region Рецепты энтропии + // Удаление рецептов мода + event.remove({ + not: [ + { id: 'ae2:transform/entangled_singularity_from_pearl' }, + { id: 'ae2:network/parts/energy_acceptor' }, + { id: 'ae2:network/blocks/energy_energy_acceptor_alt' }, + { id: 'ae2:network/blocks/pattern_providers_interface_part' }, + { id: 'ae2:network/blocks/pattern_providers_interface_alt' }, + { id: 'ae2:network/blocks/interfaces_interface_part' }, + { id: 'ae2:network/blocks/interfaces_interface_alt' }, + { id: 'ae2:special/facade' }, + ], mod: 'ae2' + }); - global.TFC_STONE_TYPES.forEach(stone => { - registerEntropyRecipe(event, { block: { id: `tfc:rock/cobble/${stone}` } }, 'heat', { block: { id: `tfc:rock/raw/${stone}` } }, `tfg:entropy_raw_${stone}_to_cobble`) - registerEntropyRecipe(event, { block: { id: `tfc:rock/raw/${stone}` } }, 'cool', { block: { id: `tfc:rock/cobble/${stone}` } }, `tfg:entropy_cobble_${stone}_to_raw`) - }) + //#region Рецепты энтропии - //#endregion + global.TFC_STONE_TYPES.forEach(stone => { + registerEntropyRecipe(event, { block: { id: `tfc:rock/cobble/${stone}` } }, 'heat', { block: { id: `tfc:rock/raw/${stone}` } }, `tfg:entropy_raw_${stone}_to_cobble`) + registerEntropyRecipe(event, { block: { id: `tfc:rock/raw/${stone}` } }, 'cool', { block: { id: `tfc:rock/cobble/${stone}` } }, `tfg:entropy_cobble_${stone}_to_raw`) + }) - // Cutting knives (for renaming things) - event.shaped('ae2:certus_quartz_cutting_knife', [ - ' A', - 'BA ', - 'CCB', - ], { - A: '#forge:rods/aluminium', - B: '#forge:plates/steel', - C: '#forge:exquisite_gems/certus_quartz', - }).id('tfg:crafting/certus_quartz_cutting_knife') + //#endregion - event.shaped('ae2:nether_quartz_cutting_knife', [ - ' A', - 'BA ', - 'CCB', - ], { - A: '#forge:rods/aluminium', - B: '#forge:plates/steel', - C: '#forge:exquisite_gems/nether_quartz', - }).id('tfg:crafting/nether_quartz_cutting_knife') + // Cutting knives (for renaming things) + event.shaped('ae2:certus_quartz_cutting_knife', [ + ' A', + 'BA ', + 'CCB', + ], { + A: '#forge:rods', + B: '#forge:plates/steel', + C: '#forge:exquisite_gems/certus_quartz', + }).id('tfg:crafting/certus_quartz_cutting_knife') - // Network tool - event.shaped('ae2:network_tool', [ - 'AB', - 'CD', - ], { - A: '#forge:tools/wrenches', - B: '#gtceu:circuits/lv', - C: 'ae2:calculation_processor', - D: '#ae2:illuminated_panel', - }).id('tfg:crafting/network_tool') - - // Wireless Access Point - event.shaped('ae2:wireless_access_point', [ - 'A', - 'B', - 'C' - ], { - A: 'ae2:wireless_receiver', - B: 'ae2:calculation_processor', - C: '#ae2:glass_cable', - }).id('tfg:crafting/wireless_access_point') + event.shaped('ae2:nether_quartz_cutting_knife', [ + ' A', + 'BA ', + 'CCB', + ], { + A: '#forge:rods', + B: '#forge:plates/steel', + C: '#forge:exquisite_gems/nether_quartz', + }).id('tfg:crafting/nether_quartz_cutting_knife') - // Wireless Receiver - event.shaped('ae2:wireless_receiver', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#ae2:glass_cable', - B: 'ae2:fluix_pearl', - C: 'gtceu:ev_sensor', - D: '#forge:rods/titanium', - E: '#gtceu:circuits/ev' - }).id('tfg:crafting/wireless_receiver') + // Network tool + event.shaped('ae2:network_tool', [ + 'AB', + 'CD', + ], { + A: '#forge:tools/wrenches', + B: '#gtceu:circuits/lv', + C: 'ae2:calculation_processor', + D: '#ae2:illuminated_panel', + }).id('tfg:crafting/network_tool') - // Illuminated Panel - event.shaped('ae2:semi_dark_monitor', [ - ' AD', - 'BCD', - ' AD' - ], { - A: '#forge:plates/glowstone', - B: '#forge:plates/aluminium', - C: '#forge:plates/red_alloy', - D: 'ae2:quartz_glass' - }).id('tfg:crafting/semi_dark_monitor') + // Wireless Access Point + event.shaped('ae2:wireless_access_point', [ + 'A', + 'B', + 'C' + ], { + A: 'ae2:wireless_receiver', + B: 'ae2:calculation_processor', + C: '#ae2:glass_cable', + }).id('tfg:crafting/wireless_access_point') - // Toggle Bus - event.shaped('ae2:toggle_bus', [ - ' A ', - 'BCB', - ' A ' - ], { - A: '#forge:plates/red_alloy', - B: '#ae2:glass_cable', - C: 'minecraft:lever' - }).id('tfg:crafting/toggle_bus') + // Wireless Receiver + event.shaped('ae2:wireless_receiver', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#ae2:glass_cable', + B: 'ae2:fluix_pearl', + C: 'gtceu:ev_sensor', + D: '#forge:rods/titanium', + E: '#gtceu:circuits/ev' + }).id('tfg:crafting/wireless_receiver') - // Capacity Card - event.shaped('ae2:capacity_card', [ - 'AB', - 'BC', - ], { - A: 'ae2:basic_card', - B: 'ae2:cell_component_1k', - C: '#forge:gems/certus_quartz' - }).id('tfg:crafting/capacity_card') + // Illuminated Panel + event.shaped('ae2:semi_dark_monitor', [ + ' AD', + 'BCD', + ' AD' + ], { + A: '#forge:plates/glowstone', + B: '#forge:plates/aluminium', + C: '#forge:plates/red_alloy', + D: 'ae2:quartz_glass' + }).id('tfg:crafting/semi_dark_monitor') - // Crafting Card - event.shaped('ae2:crafting_card', [ - 'AB', - 'BC', - ], { - A: 'ae2:basic_card', - B: 'ae2:cell_component_1k', - C: '#tfc:workbenches' - }).id('tfg:crafting/crafting_card') + // Toggle Bus + event.shaped('ae2:toggle_bus', [ + ' A ', + 'BCB', + ' A ' + ], { + A: '#forge:plates/red_alloy', + B: '#ae2:glass_cable', + C: 'minecraft:lever' + }).id('tfg:crafting/toggle_bus') - // Redstone Card - event.shaped('ae2:redstone_card', [ - 'AB', - 'BC' - ], { - A: 'ae2:basic_card', - B: 'minecraft:redstone_torch', - C: 'ae2:calculation_processor' - }).id('tfg:crafting/redstone_card') + // Capacity Card + event.shaped('ae2:capacity_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:basic_card', + B: 'ae2:cell_component_1k', + C: '#forge:gems/certus_quartz' + }).id('tfg:crafting/capacity_card') - // Fuzzy Card - event.shaped('ae2:fuzzy_card', [ - 'AB', - 'CD', - ], { - A: 'ae2:advanced_card', - B: 'ae2:engineering_processor', - C: 'ae2:logic_processor', - D: 'ae2:calculation_processor' - }).id('tfg:crafting/fuzzy_card') + // Crafting Card + event.shaped('ae2:crafting_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:basic_card', + B: 'ae2:cell_component_1k', + C: '#tfc:workbenches' + }).id('tfg:crafting/crafting_card') - // Inverter Card - event.shaped('ae2:inverter_card', [ - 'AB', - 'BC', - ], { - A: 'ae2:advanced_card', - B: 'ae2:inverted_toggle_bus', - C: 'ae2:calculation_processor' - }).id('tfg:crafting/inverter_card') + // Redstone Card + event.shaped('ae2:redstone_card', [ + 'AB', + 'BC' + ], { + A: 'ae2:basic_card', + B: 'minecraft:redstone_torch', + C: 'ae2:calculation_processor' + }).id('tfg:crafting/redstone_card') - // Acceleration Card - event.shaped('ae2:speed_card', [ - 'AB', - 'CD', - ], { - A: 'ae2:advanced_card', - B: 'ae2:engineering_processor', - C: 'ae2:logic_processor', - D: '#forge:gems/fluix' - }).id('tfg:crafting/speed_card') - - // Void Card - event.shapeless('ae2:void_card', ['ae2:basic_card','ae2:calculation_processor']) - .id('tfg:crafting/void_card') - - // Equal Distribution Card - event.shapeless('ae2:equal_distribution_card', ['ae2:advanced_card','ae2:calculation_processor']) - .id('tfg:crafting/equal_distribution_card') - - // Energy Card - event.shapeless('ae2:energy_card', ['ae2:advanced_card','2x gtceu:hv_lithium_battery']) - .id('tfg:crafting/energy_card') + // Fuzzy Card + event.shaped('ae2:fuzzy_card', [ + 'AB', + 'CD', + ], { + A: 'ae2:advanced_card', + B: 'ae2:engineering_processor', + C: 'ae2:logic_processor', + D: 'ae2:calculation_processor' + }).id('tfg:crafting/fuzzy_card') - // Quartz Fixture + // Inverter Card + event.shaped('ae2:inverter_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:advanced_card', + B: 'ae2:inverted_toggle_bus', + C: 'ae2:calculation_processor' + }).id('tfg:crafting/inverter_card') + + // Acceleration Card + event.shaped('ae2:speed_card', [ + 'AB', + 'CD', + ], { + A: 'ae2:advanced_card', + B: 'ae2:engineering_processor', + C: 'ae2:logic_processor', + D: '#forge:gems/fluix' + }).id('tfg:crafting/speed_card') + + // Void Card + event.shapeless('ae2:void_card', ['ae2:basic_card', 'ae2:calculation_processor']) + .id('tfg:crafting/void_card') + + // Equal Distribution Card + event.shapeless('ae2:equal_distribution_card', ['ae2:advanced_card', 'ae2:calculation_processor']) + .id('tfg:crafting/equal_distribution_card') + + // Energy Card + event.shapeless('ae2:energy_card', ['ae2:advanced_card', '2x gtceu:hv_lithium_battery']) + .id('tfg:crafting/energy_card') + + // Quartz Fixture event.shapeless('ae2:quartz_fixture', [ - 'ae2:charged_certus_quartz_crystal', - '#forge:rods/aluminium' - ]).id('tfg:crafting/quartz_fixture') - + 'ae2:charged_certus_quartz_crystal', + '#forge:rods/aluminium' + ]).id('tfg:crafting/quartz_fixture') + // Light Detecting Fixture - event.shapeless('ae2:light_detector', [ - '#forge:gems/certus_quartz', - '#forge:rods/wrought_iron' - ]).id('tfg:crafting/light_detector') - - // Annihilation Core - event.shaped('ae2:annihilation_core', [ - 'ABA', - 'BDB', - 'ABA' - ], { - A: '#forge:rods/aluminium', - B: 'ae2:engineering_processor', - D: '#forge:gems/certus_quartz', - }).id('tfg:crafting/annihilation_core') + event.shapeless('ae2:light_detector', [ + '#forge:gems/certus_quartz', + '#forge:rods/wrought_iron' + ]).id('tfg:crafting/light_detector') - // Formation Core - event.shaped('ae2:formation_core', [ - 'ABA', - 'BDB', - 'ABA' - ], { - A: '#forge:rods/aluminium', - B: 'ae2:engineering_processor', - D: '#forge:gems/nether_quartz', - }).id('tfg:crafting/formation_core') + // Annihilation Core + event.shaped('ae2:annihilation_core', [ + 'ABA', + 'BDB', + 'ABA' + ], { + A: '#forge:rods/aluminium', + B: 'ae2:engineering_processor', + D: '#forge:gems/certus_quartz', + }).id('tfg:crafting/annihilation_core') - // Wireless Terminal - event.shaped('ae2:wireless_terminal', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'ae2:wireless_receiver', - B: 'ae2:terminal', - C: 'ae2:engineering_processor', - D: '#gtceu:circuits/hv', - E: 'gtceu:hv_lithium_battery', - F: '#forge:plates/nether_quartz' - }).id('tfg:crafting/wireless_terminal') + // Formation Core + event.shaped('ae2:formation_core', [ + 'ABA', + 'BDB', + 'ABA' + ], { + A: '#forge:rods/aluminium', + B: 'ae2:engineering_processor', + D: '#forge:gems/nether_quartz', + }).id('tfg:crafting/formation_core') - // Basic Card - event.shaped('2x ae2:basic_card', [ - 'AB ', - 'CDB', - 'EB ' - ], { - A: '#forge:fine_wires/red_alloy', - B: '#forge:plates/aluminium', - C: 'ae2:calculation_processor', - D: '#gtceu:circuits/mv', - E: '#forge:fine_wires/gold' - }).id('tfg:crafting/basic_card') + // Wireless Terminal + event.shaped('ae2:wireless_terminal', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'ae2:wireless_receiver', + B: 'ae2:terminal', + C: 'ae2:engineering_processor', + D: '#gtceu:circuits/hv', + E: 'gtceu:hv_lithium_battery', + F: '#forge:plates/nether_quartz' + }).id('tfg:crafting/wireless_terminal') - // Advanced Card - event.shaped('2x ae2:advanced_card', [ - 'AB ', - 'CDB', - 'EB ' - ], { - A: '#forge:fine_wires/red_alloy', - B: '#forge:plates/stainless_steel', - C: 'ae2:calculation_processor', - D: '#gtceu:circuits/hv', - E: '#forge:fine_wires/silver' - }).id('tfg:crafting/advanced_card') + // Basic Card + event.shaped('2x ae2:basic_card', [ + 'AB ', + 'CDB', + 'EB ' + ], { + A: '#forge:fine_wires/red_alloy', + B: '#forge:plates/aluminium', + C: 'ae2:calculation_processor', + D: '#gtceu:circuits/mv', + E: '#forge:fine_wires/gold' + }).id('tfg:crafting/basic_card') - // Wireless Booster - event.shaped('ae2:wireless_booster', [ - 'ABC', - 'DDD', - ], { - A: '#forge:dusts/fluix', - B: '#forge:gems/certus_quartz', - C: '#forge:plates/ender_pearl', - D: '#forge:plates/titanium', - }).id('tfg:crafting/wireless_booster') + // Advanced Card + event.shaped('2x ae2:advanced_card', [ + 'AB ', + 'CDB', + 'EB ' + ], { + A: '#forge:fine_wires/red_alloy', + B: '#forge:plates/stainless_steel', + C: 'ae2:calculation_processor', + D: '#gtceu:circuits/hv', + E: '#forge:fine_wires/silver' + }).id('tfg:crafting/advanced_card') - // Memory Card - event.shaped('ae2:memory_card', [ - 'ABB', - 'CDC', - ], { - A: 'ae2:calculation_processor', - B: '#forge:plates/iron', - C: '#forge:plates/gold', - D: '#forge:plates/red_alloy', - }).id('tfg:crafting/memory_card') - - // Item Cell Housing - event.shaped('ae2:item_cell_housing', [ - 'ABA', - 'CDC', - 'BBB' - ], { - A: 'ae2:quartz_glass', - B: '#forge:plates/steel', - C: '#forge:fine_wires/red_alloy', - D: '#gtceu:circuits/lv', - }).id('tfg:crafting/item_cell_housing') - - // Fluid Cell Housing - event.shaped('ae2:fluid_cell_housing', [ - 'ABA', - 'CDC', - 'BBB' - ], { - A: 'ae2:quartz_glass', - B: '#forge:plates/stainless_steel', - C: '#forge:fine_wires/red_alloy', - D: '#gtceu:circuits/lv', - }).id('tfg:crafting/fluid_cell_housing') + // Wireless Booster + event.shaped('ae2:wireless_booster', [ + 'ABC', + 'DDD', + ], { + A: '#forge:dusts/fluix', + B: '#forge:gems/certus_quartz', + C: '#forge:plates/ender_pearl', + D: '#forge:plates/titanium', + }).id('tfg:crafting/wireless_booster') - // Level Emitter - event.shaped('ae2:level_emitter', [ - 'DA ', - 'BCB', - ' A ' - ], { - A: '#forge:plates/steel', - B: '#ae2:glass_cable', - C: 'minecraft:redstone_torch', - D: 'ae2:calculation_processor', - }).id('tfg:crafting/level_emitter') + // Memory Card + event.shaped('ae2:memory_card', [ + 'ABB', + 'CDC', + ], { + A: 'ae2:calculation_processor', + B: '#forge:plates/wrought_iron', + C: '#forge:plates/gold', + D: '#forge:plates/red_alloy', + }).id('tfg:crafting/memory_card') - // Energy Level Emitter - event.shaped('ae2:energy_level_emitter', [ - 'DAE', - 'BCB', - ' A ' - ], { - A: '#forge:plates/steel', - B: '#ae2:glass_cable', - C: 'minecraft:redstone_torch', - D: 'ae2:calculation_processor', - E: 'ae2:charged_certus_quartz_crystal' - }).id('tfg:crafting/energy_level_emitter') - - // P2P Tunnel - event.shaped('2x ae2:me_p2p_tunnel', [ - 'ABA', - 'BCB', - 'DDD' - ], { - A: 'ae2:engineering_processor', - B: '#forge:plates/aluminium', - C: '#ae2:illuminated_panel', - D: '#forge:gems/fluix', - }).id('tfg:crafting/me_p2p_tunnel') + // Item Cell Housing + event.shaped('ae2:item_cell_housing', [ + 'ABA', + 'CDC', + 'BBB' + ], { + A: 'ae2:quartz_glass', + B: '#forge:plates/steel', + C: '#forge:fine_wires/red_alloy', + D: '#gtceu:circuits/lv', + }).id('tfg:crafting/item_cell_housing') - // ME Chest - event.shaped('ae2:chest', [ - 'AEA', - 'CDC', - 'ABA' - ], { - A: '#forge:plates/stainless_steel', - B: '#gtceu:circuits/mv', - C: '#ae2:glass_cable', - D: 'gtceu:aluminium_crate', - E: 'ae2:terminal' - }).id('tfg:crafting/me_chest') + // Fluid Cell Housing + event.shaped('ae2:fluid_cell_housing', [ + 'ABA', + 'CDC', + 'BBB' + ], { + A: 'ae2:quartz_glass', + B: '#forge:plates/stainless_steel', + C: '#forge:fine_wires/red_alloy', + D: '#gtceu:circuits/lv', + }).id('tfg:crafting/fluid_cell_housing') - // ME Drive - event.shaped('ae2:drive', [ - 'ABA', - 'CDC', - 'EBE' - ], { - A: '#forge:plates/steel', - B: 'ae2:engineering_processor', - C: '#ae2:glass_cable', - D: '#gtceu:circuits/lv', - E: '#forge:plates/titanium' - }).id('tfg:crafting/drive') + // Level Emitter + event.shaped('ae2:level_emitter', [ + 'DA ', + 'BCB', + ' A ' + ], { + A: '#forge:plates/steel', + B: '#ae2:glass_cable', + C: 'minecraft:redstone_torch', + D: 'ae2:calculation_processor', + }).id('tfg:crafting/level_emitter') - // Spatial Pylon - event.shaped('ae2:spatial_pylon', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: '#forge:plates/glass', - B: '#ae2:glass_cable', - C: '#forge:dusts/fluix', - D: '#forge:gems/fluix', - }).id('tfg:crafting/spatial_pylon') + // Energy Level Emitter + event.shaped('ae2:energy_level_emitter', [ + 'DAE', + 'BCB', + ' A ' + ], { + A: '#forge:plates/steel', + B: '#ae2:glass_cable', + C: 'minecraft:redstone_torch', + D: 'ae2:calculation_processor', + E: 'ae2:charged_certus_quartz_crystal' + }).id('tfg:crafting/energy_level_emitter') - // IO Port - event.shaped('ae2:io_port', [ - 'AAA', - 'BCB', - 'DED' - ], { - A: '#forge:plates/glass', - B: 'ae2:drive', - C: '#ae2:glass_cable', - D: '#forge:plates/titanium', - E: 'ae2:engineering_processor' - }).id('tfg:crafting/io_port') + // P2P Tunnel + event.shaped('2x ae2:me_p2p_tunnel', [ + 'ABA', + 'BCB', + 'DDD' + ], { + A: 'ae2:engineering_processor', + B: '#forge:plates/aluminium', + C: '#ae2:illuminated_panel', + D: '#forge:gems/fluix', + }).id('tfg:crafting/me_p2p_tunnel') - // Spatial IO Port - event.shaped('ae2:spatial_io_port', [ - 'AAA', - 'BCB', - 'DED' - ], { - A: '#forge:plates/glass', - B: '#ae2:glass_cable', - C: 'ae2:io_port', - D: '#forge:plates/titanium', - E: 'ae2:engineering_processor' - }).id('tfg:crafting/spatial_io_port') + // ME Chest + event.shaped('ae2:chest', [ + 'AEA', + 'CDC', + 'ABA' + ], { + A: '#forge:plates/stainless_steel', + B: '#gtceu:circuits/mv', + C: '#ae2:glass_cable', + D: 'gtceu:aluminium_crate', + E: 'ae2:terminal' + }).id('tfg:crafting/me_chest') - // Monitors - event.shapeless('ae2:semi_dark_monitor', ['ae2:dark_monitor']) - .id('tfg:crafting/semi_dark_monitor_2') - - event.shapeless('ae2:dark_monitor', ['ae2:monitor']) - .id('tfg:crafting/dark_monitor') - - event.shapeless('ae2:monitor', ['ae2:semi_dark_monitor']) - .id('tfg:crafting/monitor') + // ME Drive + event.shaped('ae2:drive', [ + 'ABA', + 'CDC', + 'EBE' + ], { + A: '#forge:plates/steel', + B: 'ae2:engineering_processor', + C: '#ae2:glass_cable', + D: '#gtceu:circuits/lv', + E: '#forge:plates/titanium' + }).id('tfg:crafting/drive') - // Cell Workbench - event.shaped('ae2:cell_workbench', [ - 'ABC', - 'DED', - 'DDD' - ], { - A: 'gtceu:item_filter', - B: 'gtceu:computer_monitor_cover', - C: 'gtceu:fluid_filter', - D: '#forge:plates/aluminium', - E: 'ae2:calculation_processor', - }).id('tfg:crafting/cell_workbench') + // Spatial Pylon + event.shaped('ae2:spatial_pylon', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: '#forge:plates/glass', + B: '#ae2:glass_cable', + C: '#forge:dusts/fluix', + D: '#forge:gems/fluix', + }).id('tfg:crafting/spatial_pylon') - // Matter Condenser - event.shaped('ae2:condenser', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:plates/stainless_steel', - B: 'gtceu:hv_electric_piston', - C: '#gtceu:circuits/hv', - }).id('tfg:crafting/condenser') - - // Toggle Bus - event.shapeless('ae2:toggle_bus', ['ae2:inverted_toggle_bus']) - .id('tfg:crafting/toggle_bus_2') - - event.shapeless('ae2:inverted_toggle_bus', ['ae2:toggle_bus']) - .id('tfg:crafting/inverted_toggle_bus') + // IO Port + event.shaped('ae2:io_port', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#forge:plates/glass', + B: 'ae2:drive', + C: '#ae2:glass_cable', + D: '#forge:plates/titanium', + E: 'ae2:engineering_processor' + }).id('tfg:crafting/io_port') - // ME Annihilation Plane - event.shaped('ae2:annihilation_plane', [ - 'AAA', - 'CBC' - ], { - A: '#forge:gems/fluix', - B: 'ae2:annihilation_core', - C: '#forge:plates/aluminium' - }).id('tfg:crafting/annihilation_plane') + // Spatial IO Port + event.shaped('ae2:spatial_io_port', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#forge:plates/glass', + B: '#ae2:glass_cable', + C: 'ae2:io_port', + D: '#forge:plates/titanium', + E: 'ae2:engineering_processor' + }).id('tfg:crafting/spatial_io_port') - // ME Formation Plane - event.shaped('ae2:formation_plane', [ - 'AAA', - 'CBC' - ], { - A: '#forge:gems/fluix', - B: 'ae2:formation_core', - C: '#forge:plates/aluminium' - }).id('tfg:crafting/formation_plane') + // Monitors + event.shapeless('ae2:semi_dark_monitor', ['ae2:dark_monitor']) + .id('tfg:crafting/semi_dark_monitor_2') - // ME Terminal - event.shaped('ae2:terminal', [ - 'ABC', - 'DED', - 'FGF' - ], { - A: '#forge:tools/screwdrivers', - B: '#ae2:illuminated_panel', - C: '#forge:tools/mallets', - D: '#forge:rods/steel', - E: '#gtceu:circuits/hv', - F: '#forge:plates/steel', - G: '#forge:screws/steel' - }).id('tfg:crafting/terminal') + event.shapeless('ae2:dark_monitor', ['ae2:monitor']) + .id('tfg:crafting/dark_monitor') - // ME Crafting Terminal - event.shaped('ae2:crafting_terminal', [ - 'ABC', - 'DED', - 'FGF' - ], { - A: '#forge:tools/screwdrivers', - B: 'ae2:terminal', - C: '#forge:tools/mallets', - D: '#forge:rods/steel', - E: '#tfc:workbenches', - F: '#forge:plates/steel', - G: 'ae2:engineering_processor' - }).id('tfg:crafting/crafting_terminal') + event.shapeless('ae2:monitor', ['ae2:semi_dark_monitor']) + .id('tfg:crafting/monitor') - // pattern access terminal - event.shaped('ae2:pattern_access_terminal', [ - 'ABC', - 'DED', - 'FGF' - ], { - A: '#forge:tools/screwdrivers', - B: 'ae2:terminal', - C: '#forge:tools/mallets', - D: '#forge:rods/steel', - E: '#ae2:pattern_provider', - F: '#forge:plates/steel', - G: 'ae2:engineering_processor' - }).id('tfg:crafting/pattern_access_terminal') + // Cell Workbench + event.shaped('ae2:cell_workbench', [ + 'ABC', + 'DED', + 'DDD' + ], { + A: 'gtceu:item_filter', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:fluid_filter', + D: '#forge:plates/aluminium', + E: 'ae2:calculation_processor', + }).id('tfg:crafting/cell_workbench') - // ME Pattern Terminal - event.shaped('ae2:pattern_encoding_terminal',[ - 'ABC', - 'DED', - 'FGF' - ], { - A: '#forge:tools/screwdrivers', - B: 'ae2:terminal', - C: '#forge:tools/mallets', - D: '#forge:rods/steel', - E: 'ae2:blank_pattern', - F: '#forge:plates/steel', - G: 'ae2:engineering_processor' - }).id('tfg:crafting/pattern_encoding_terminal') - - // Matter Cannon - event.shaped('ae2:matter_cannon',[ - 'AAB', - 'CD ', - 'A ' - ], { - A: '#forge:plates/steel', - B: 'ae2:formation_core', - C: 'ae2:cell_component_4k', - D: 'gtceu:hv_lithium_battery' - }).id('tfg:crafting/matter_cannon') + // Matter Condenser + event.shaped('ae2:condenser', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/stainless_steel', + B: 'gtceu:hv_electric_piston', + C: '#gtceu:circuits/hv', + }).id('tfg:crafting/condenser') - // Color Applicator - event.shaped('ae2:color_applicator',[ - 'ABA', - 'CDC', - ' E ' - ], { - A: 'gtceu:aluminium_single_wire', - B: 'ae2:formation_core', - C: 'ae2:cell_component_4k', - D: 'gtceu:hv_lithium_battery', - E: '#forge:rods/steel', - }).id('tfg:crafting/color_applicator') + // Toggle Bus + event.shapeless('ae2:toggle_bus', ['ae2:inverted_toggle_bus']) + .id('tfg:crafting/toggle_bus_2') - // Energy Cell - event.recipes.gtceu.assembler('tfg:ae2/energy_cell') - .itemInputs('gtceu:titanium_frame', '6x gtceu:titanium_plate', '24x gtceu:titanium_screw', 'gtceu:energy_crystal') - .itemOutputs('ae2:energy_cell') - .circuit(1) - .duration(960) - .EUt(256) + event.shapeless('ae2:inverted_toggle_bus', ['ae2:toggle_bus']) + .id('tfg:crafting/inverted_toggle_bus') - // Dense Energy Cell - event.recipes.gtceu.assembler('tfg:ae2/dense_energy_cell') - .itemInputs('8x ae2:energy_cell', '8x gtceu:silver_quadruple_wire', '4x #gtceu:circuits/ev') - .itemOutputs('ae2:dense_energy_cell') - .circuit(1) - .duration(960) - .EUt(512) + // ME Annihilation Plane + event.shaped('ae2:annihilation_plane', [ + 'AAA', + 'CBC' + ], { + A: '#forge:gems/fluix', + B: 'ae2:annihilation_core', + C: '#forge:plates/aluminium' + }).id('tfg:crafting/annihilation_plane') - // Energy Acceptor - event.recipes.gtceu.assembler('tfg:ae2/energy_acceptor') - .itemInputs('5x gtceu:silver_double_cable', 'gtceu:hv_1a_energy_converter', 'gtceu:annealed_copper_single_cable') - .itemOutputs('ae2:energy_acceptor') - .circuit(1) - .duration(520) - .EUt(128) + // ME Formation Plane + event.shaped('ae2:formation_plane', [ + 'AAA', + 'CBC' + ], { + A: '#forge:gems/fluix', + B: 'ae2:formation_core', + C: '#forge:plates/aluminium' + }).id('tfg:crafting/formation_plane') - // Glass Cable - event.recipes.gtceu.assembler('fluix_glass_cable') - .itemInputs( - '2x #forge:rods/aluminium', - '3x ae2:quartz_fiber', - '#forge:dusts/fluix') - .itemOutputs('ae2:fluix_glass_cable') - .circuit(1) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_glass_cable_fluixfluid') - .itemInputs( - '2x #forge:rods/aluminium', - '3x ae2:quartz_fiber',) - .inputFluids(Fluid.of('tfg:fluix', 144)) - .itemOutputs('ae2:fluix_glass_cable') - .circuit(1) - .duration(20) - .EUt(480) + // ME Terminal + event.shaped('ae2:terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: '#ae2:illuminated_panel', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#gtceu:circuits/hv', + F: '#forge:plates/steel', + G: '#forge:screws/steel' + }).id('tfg:crafting/terminal') - // Covered Cable - event.recipes.gtceu.assembler('fluix_covered_cable_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:rubber', 432)) - .itemOutputs('3x ae2:fluix_covered_cable') - .circuit(1) - .duration(20) - .EUt(480) + // ME Crafting Terminal + event.shaped('ae2:crafting_terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#tfc:workbenches', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/crafting_terminal') - event.recipes.gtceu.assembler('fluix_covered_cable_silicone_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) - .itemOutputs('3x ae2:fluix_covered_cable') - .circuit(1) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_covered_cable_styrene_butadiene_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) - .itemOutputs('3x ae2:fluix_covered_cable') - .circuit(1) - .duration(20) - .EUt(480) - - // Smart Cable - event.recipes.gtceu.assembler('fluix_smart_cable_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:rubber', 432)) - .itemOutputs('3x ae2:fluix_smart_cable') - .circuit(2) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_cable_silicone_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) - .itemOutputs('3x ae2:fluix_smart_cable') - .circuit(2) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_cable_styrene_butadiene_rubber') - .itemInputs( - '3x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) - .itemOutputs('3x ae2:fluix_smart_cable') - .circuit(2) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_cable') - .itemInputs( - 'ae2:fluix_covered_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .itemOutputs('ae2:fluix_smart_cable') - .circuit(2) - .duration(20) - .EUt(480) - - // Covered dense cable - event.recipes.gtceu.assembler('fluix_covered_dense_cable_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:rubber', 1728)) - .itemOutputs('3x ae2:fluix_covered_dense_cable') - .circuit(3) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_covered_dense_cable_silicone_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) - .itemOutputs('3x ae2:fluix_covered_dense_cable') - .circuit(3) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_covered_dense_cable_styrene_butadiene_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable') - .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) - .itemOutputs('3x ae2:fluix_covered_dense_cable') - .circuit(3) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_covered_dense_cable') - .itemInputs( - '4x ae2:fluix_covered_cable') - .itemOutputs('ae2:fluix_covered_dense_cable') - .circuit(3) - .duration(20) - .EUt(480) - - // Smart dense cable - event.recipes.gtceu.assembler('fluix_smart_dense_cable_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:rubber', 1728)) - .itemOutputs('3x ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_dense_cable_silicone_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) - .itemOutputs('3x ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_dense_cable_styrene_butadiene_rubber') - .itemInputs( - '12x ae2:fluix_glass_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) - .itemOutputs('3x ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_dense_cable_covered_cable') - .itemInputs( - '4x ae2:fluix_covered_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .itemOutputs('ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_dense_cable_smart_cable') - .itemInputs( - '4x ae2:fluix_smart_cable',) - .itemOutputs('ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) - - event.recipes.gtceu.assembler('fluix_smart_dense_cable') - .itemInputs( - 'ae2:fluix_covered_dense_cable', - '#forge:dusts/glowstone', - '#forge:dusts/redstone') - .itemOutputs('ae2:fluix_smart_dense_cable') - .circuit(4) - .duration(20) - .EUt(480) + // pattern access terminal + event.shaped('ae2:pattern_access_terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#ae2:pattern_provider', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/pattern_access_terminal') - // Blank Pattern - event.recipes.gtceu.assembler('ae2:blank_pattern_pe') - .itemInputs( - '3x #forge:plates/steel', - '2x #forge:sheets/polyethylene', - '4x #forge:fine_wires/red_alloy', - '#gtceu:circuits/mv') - .itemOutputs('ae2:blank_pattern') - .duration(200) - .EUt(120) - - event.recipes.gtceu.assembler('ae2:blank_pattern_pvc') - .itemInputs( - '3x #forge:plates/steel', - '2x #forge:sheets/polyvinyl_chloride', - '4x #forge:fine_wires/red_alloy', - '#gtceu:circuits/mv') - .itemOutputs('4x ae2:blank_pattern') - .duration(200) - .EUt(120) - - event.recipes.gtceu.assembler('ae2:blank_pattern_ptfe') - .itemInputs( - '3x #forge:plates/steel', - '2x #forge:sheets/polytetrafluoroethylene', - '4x #forge:fine_wires/red_alloy', - '#gtceu:circuits/mv') - .itemOutputs('16x ae2:blank_pattern') - .duration(200) - .EUt(480) - - event.recipes.gtceu.assembler('ae2:blank_pattern_pbi') - .itemInputs( - '3x #forge:plates/steel', - '2x #forge:sheets/polybenzimidazole', - '4x #forge:fine_wires/red_alloy', - '#gtceu:circuits/mv') - .itemOutputs('64x ae2:blank_pattern') - .duration(200) - .EUt(480) + // ME Pattern Terminal + event.shaped('ae2:pattern_encoding_terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: 'ae2:blank_pattern', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/pattern_encoding_terminal') - // Annihilation Core - event.recipes.gtceu.assembler('ae2:annihilation_core') - .itemInputs( - '2x #forge:rods/aluminium', - '2x ae2:engineering_processor', - '#forge:gems/certus_quartz') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('4x ae2:annihilation_core') - .circuit(5) - .duration(20) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - // Formation Core - event.recipes.gtceu.assembler('ae2:formation_core') - .itemInputs( - '2x #forge:rods/aluminium', - '2x ae2:engineering_processor', - '#forge:gems/nether_quartz') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('4x ae2:formation_core') - .circuit(5) - .duration(20) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - // Wireless Crafting Terminal - event.recipes.gtceu.assembler('ae2:wireless_crafting_terminal') - .itemInputs( - '2x gtceu:hv_lithium_battery', - '2x gtceu:luv_sensor', - 'gtceu:luv_emitter', - '2x #forge:rods/osmiridium', - 'ae2:wireless_terminal', - 'ae2:crafting_terminal') - .itemOutputs('ae2:wireless_crafting_terminal') - .duration(30) - .EUt(250) - - //#region Storage Components - - // 1k storage components - event.recipes.gtceu.assembler('ae2:cell_component_1k') - .itemInputs( - '4x #gtceu:batteries/ulv', - '4x #forge:plates/wrought_iron', - '4x #forge:dusts/certus_quartz', - 'ae2:logic_processor',) - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_1k') - .duration(200) - .EUt(480) + // Matter Cannon + event.shaped('ae2:matter_cannon', [ + 'AAB', + 'CD ', + 'A ' + ], { + A: '#forge:plates/steel', + B: 'ae2:formation_core', + C: 'ae2:cell_component_4k', + D: 'gtceu:hv_lithium_battery' + }).id('tfg:crafting/matter_cannon') - // 4k storage components - event.recipes.gtceu.assembler('ae2:cell_component_4k') - .itemInputs( - '4x #gtceu:circuits/ev', - '4x #forge:plates/titanium', - '4x #forge:dusts/certus_quartz', - 'ae2:logic_processor') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_4k') - .duration(200) - .EUt(1920) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.assembler('ae2:cell_component_4k_1k') - .itemInputs( - 'ae2:logic_processor', - '2x #gtceu:circuits/ev', - '4x ae2:cell_component_1k') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_4k') - .duration(400) - .EUt(1920) - .cleanroom(CleanroomType.CLEANROOM) + // Color Applicator + event.shaped('ae2:color_applicator', [ + 'ABA', + 'CDC', + ' E ' + ], { + A: 'gtceu:aluminium_single_wire', + B: 'ae2:formation_core', + C: 'ae2:cell_component_4k', + D: 'gtceu:hv_lithium_battery', + E: '#forge:rods/steel', + }).id('tfg:crafting/color_applicator') - // 16k storage components - event.recipes.gtceu.assembler('ae2:cell_component_16k') - .itemInputs( - '4x #gtceu:circuits/iv', - '4x #forge:plates/tungsten_steel', - '8x #forge:dusts/certus_quartz', - 'ae2:engineering_processor',) - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_16k') - .duration(200) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.assembler('ae2:cell_component_16k_4k') - .itemInputs( - 'ae2:logic_processor', - '2x #gtceu:circuits/iv', - '4x ae2:cell_component_4k') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_16k') - .duration(400) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) + // Energy Cell + event.recipes.gtceu.assembler('tfg:ae2/energy_cell') + .itemInputs('gtceu:titanium_frame', '6x gtceu:titanium_plate', '24x gtceu:titanium_screw', 'gtceu:energy_crystal') + .itemOutputs('ae2:energy_cell') + .circuit(1) + .duration(960) + .EUt(256) - // 64k storage components - event.recipes.gtceu.assembler('ae2:cell_component_64k') - .itemInputs( - '4x #gtceu:circuits/luv', - '4x #forge:plates/rhodium_plated_palladium', - '8x #forge:dusts/certus_quartz', - 'ae2:engineering_processor') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_64k') - .duration(200) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.assembler('ae2:cell_component_64k_16k') - .itemInputs( - 'ae2:engineering_processor', - '2x #gtceu:circuits/luv', - '4x ae2:cell_component_16k') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_64k') - .duration(400) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) + // Dense Energy Cell + event.recipes.gtceu.assembler('tfg:ae2/dense_energy_cell') + .itemInputs('8x ae2:energy_cell', '8x gtceu:silver_quadruple_wire', '4x #gtceu:circuits/ev') + .itemOutputs('ae2:dense_energy_cell') + .circuit(1) + .duration(960) + .EUt(512) - // 256k storage components - event.recipes.gtceu.assembler('ae2:cell_component_256k') - .itemInputs( - '4x #gtceu:circuits/zpm', - '4x #forge:plates/naquadah_alloy', - '16x #forge:dusts/certus_quartz', - 'ae2:engineering_processor',) - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_256k') - .duration(200) - .EUt(122880) - .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.assembler('ae2:cell_component_256k_64k') - .itemInputs( - 'ae2:engineering_processor', - '2x #gtceu:circuits/zpm', - '4x ae2:cell_component_64k') - .inputFluids(Fluid.of('gtceu:steel', 144)) - .itemOutputs('ae2:cell_component_256k') - .duration(400) - .EUt(122880) - .cleanroom(CleanroomType.CLEANROOM) + // Energy Acceptor + event.recipes.gtceu.assembler('tfg:ae2/energy_acceptor') + .itemInputs('5x gtceu:silver_double_cable', 'gtceu:hv_1a_energy_converter', 'gtceu:annealed_copper_single_cable') + .itemOutputs('ae2:energy_acceptor') + .circuit(1) + .duration(520) + .EUt(128) - //#endregion - - //#region Spatial Components - - // 2³ Spatial Component - event.recipes.gtceu.assembler('ae2:spatial_cell_component_2') - .itemInputs( - '4x #gtceu:circuits/ev', - '4x #forge:plates/titanium', - '32x #forge:dusts/certus_quartz', - 'ae2:calculation_processor',) - .inputFluids(Fluid.of('gtceu:hsla_steel', 144)) - .itemOutputs('ae2:spatial_cell_component_2') - .duration(200) - .EUt(1920) + // Glass Cable + event.recipes.gtceu.assembler('fluix_glass_cable') + .itemInputs( + '2x #forge:rods/aluminium', + '3x ae2:quartz_fiber', + '#forge:dusts/fluix') + .itemOutputs('ae2:fluix_glass_cable') + .circuit(1) + .duration(20) + .EUt(480) - // 16³ Spatial Component - event.recipes.gtceu.assembler('ae2:spatial_cell_component_16') - .itemInputs( - '4x #gtceu:circuits/iv', - '4x #forge:plates/tungsten_steel', - '32x #forge:dusts/certus_quartz', - 'ae2:calculation_processor',) - .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) - .itemOutputs('ae2:spatial_cell_component_16') - .duration(200) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.assembler('ae2:spatial_cell_component_16_2') - .itemInputs( - 'ae2:calculation_processor', - '2x #gtceu:circuits/iv', - '4x ae2:spatial_cell_component_2') - .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) - .itemOutputs('ae2:spatial_cell_component_16') - .duration(400) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('fluix_glass_cable_fluixfluid') + .itemInputs( + '2x #forge:rods/aluminium', + '3x ae2:quartz_fiber',) + .inputFluids(Fluid.of('tfg:fluix', 144)) + .itemOutputs('ae2:fluix_glass_cable') + .circuit(1) + .duration(20) + .EUt(480) - // 128³ Spatial Component - event.recipes.gtceu.assembler('ae2:spatial_cell_component_128') - .itemInputs( - '4x #gtceu:circuits/luv', - '4x #forge:plates/rhodium_plated_palladium', - '32x #forge:dusts/certus_quartz', - 'ae2:calculation_processor') - .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) - .itemOutputs('ae2:spatial_cell_component_128') - .duration(200) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.assembler('ae2:spatial_cell_component_128_16') - .itemInputs( - 'ae2:calculation_processor', - '2x #gtceu:circuits/luv', - '4x ae2:spatial_cell_component_16') - .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) - .itemOutputs('ae2:spatial_cell_component_128') - .duration(400) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) - - //#endregion + // Covered Cable + event.recipes.gtceu.assembler('fluix_covered_cable_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:rubber', 432)) + .itemOutputs('3x ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) - // Storage Monitor - event.recipes.gtceu.assembler('ae2:storage_monitor') - .itemInputs( - '#ae2:illuminated_panel', - 'ae2:level_emitter') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:storage_monitor') - .duration(200) - .EUt(480) + event.recipes.gtceu.assembler('fluix_covered_cable_silicone_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) + .itemOutputs('3x ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) - // Conversion Monitor - event.recipes.gtceu.assembler('ae2:conversion_monitor') - .itemInputs( - '2x ae2:formation_core', - '2x ae2:annihilation_core', - 'ae2:storage_monitor',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:conversion_monitor') - .duration(200) - .EUt(480) + event.recipes.gtceu.assembler('fluix_covered_cable_styrene_butadiene_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) + .itemOutputs('3x ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) - // Level Emitter - event.recipes.gtceu.assembler('ae2:level_emitter') - .itemInputs( - 'minecraft:redstone_torch', - '#ae2:glass_cable', - '#forge:plates/steel', - 'ae2:calculation_processor') - .itemOutputs('ae2:level_emitter') - .circuit(1) - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) + // Smart Cable + event.recipes.gtceu.assembler('fluix_smart_cable_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:rubber', 432)) + .itemOutputs('3x ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) - // Storage Bus - event.recipes.gtceu.assembler('ae2:storage_bus') - .itemInputs( - '#ae2:interface', - '2x gtceu:mv_electric_piston', - '#ae2:glass_cable') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:storage_bus') - .circuit(1) - .duration(200) - .EUt(480) - - // Import Bus - event.recipes.gtceu.assembler('ae2:import_bus') - .itemInputs( - '#forge:plates/iron', - 'ae2:annihilation_core', - '2x gtceu:mv_robot_arm', - '#ae2:glass_cable') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:import_bus') - .circuit(2) - .duration(200) - .EUt(480) - - // Export Bus - event.recipes.gtceu.assembler('ae2:export_bus') - .itemInputs( - '#forge:plates/iron', - 'ae2:formation_core', - '2x gtceu:mv_robot_arm', - '#ae2:glass_cable') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:export_bus') - .circuit(3) - .duration(200) - .EUt(480) + event.recipes.gtceu.assembler('fluix_smart_cable_silicone_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) + .itemOutputs('3x ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) - // CPU Crafting Unit - event.recipes.gtceu.assembler('ae2:crafting_unit') - .itemInputs( - 'ae2:logic_processor', - 'ae2:engineering_processor', - 'ae2:calculation_processor', - '#gtceu:circuits/hv', - '2x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:crafting_unit') - .circuit(1) - .duration(20) - .EUt(680) + event.recipes.gtceu.assembler('fluix_smart_cable_styrene_butadiene_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) + .itemOutputs('3x ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) - //#region Molecular Assembler - - // HV - event.recipes.gtceu.assembler('ae2:molecular_assembler_hv') - .itemInputs( - '2x ae2:quartz_glass', - '2x #gtceu:circuits/hv', - 'ae2:annihilation_core', - 'ae2:formation_core', - '2x gtceu:hv_conveyor_module', - '2x gtceu:hv_robot_arm', - '4x #forge:plates/stainless_steel') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:molecular_assembler') - .duration(200) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - // EV - event.recipes.gtceu.assembler('ae2:molecular_assembler_ev') - .itemInputs( - '2x ae2:quartz_glass', - '2x #gtceu:circuits/ev', - 'ae2:annihilation_core', - 'ae2:formation_core', - '2x gtceu:ev_conveyor_module', - '2x gtceu:ev_robot_arm', - '4x #forge:plates/titanium') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('2x ae2:molecular_assembler') - .duration(200) - .EUt(1920) - .cleanroom(CleanroomType.CLEANROOM) - - // IV - event.recipes.gtceu.assembler('ae2:molecular_assembler_iv') - .itemInputs( - '2x ae2:quartz_glass', - '2x #gtceu:circuits/iv', - 'ae2:annihilation_core', - 'ae2:formation_core', - '2x gtceu:iv_conveyor_module', - '2x gtceu:iv_robot_arm', - '4x #forge:plates/tungsten_steel') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('8x ae2:molecular_assembler') - .duration(200) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('fluix_smart_cable') + .itemInputs( + 'ae2:fluix_covered_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) - //#endregion + // Covered dense cable + event.recipes.gtceu.assembler('fluix_covered_dense_cable_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:rubber', 1728)) + .itemOutputs('3x ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) - // ME Контроллер + event.recipes.gtceu.assembler('fluix_covered_dense_cable_silicone_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) + .itemOutputs('3x ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_dense_cable_styrene_butadiene_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) + .itemOutputs('3x ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_dense_cable') + .itemInputs( + '4x ae2:fluix_covered_cable') + .itemOutputs('ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + // Smart dense cable + event.recipes.gtceu.assembler('fluix_smart_dense_cable_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:rubber', 1728)) + .itemOutputs('3x ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dense_cable_silicone_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) + .itemOutputs('3x ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dense_cable_styrene_butadiene_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) + .itemOutputs('3x ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dense_cable_covered_cable') + .itemInputs( + '4x ae2:fluix_covered_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dense_cable_smart_cable') + .itemInputs( + '4x ae2:fluix_smart_cable',) + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dense_cable') + .itemInputs( + 'ae2:fluix_covered_dense_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + // Blank Pattern + event.recipes.gtceu.assembler('ae2:blank_pattern_pe') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polyethylene', + '4x #forge:fine_wires/red_alloy', + '#gtceu:circuits/mv') + .itemOutputs('ae2:blank_pattern') + .duration(200) + .EUt(120) + + event.recipes.gtceu.assembler('ae2:blank_pattern_pvc') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polyvinyl_chloride', + '4x #forge:fine_wires/red_alloy', + '#gtceu:circuits/mv') + .itemOutputs('4x ae2:blank_pattern') + .duration(200) + .EUt(120) + + event.recipes.gtceu.assembler('ae2:blank_pattern_ptfe') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polytetrafluoroethylene', + '4x #forge:fine_wires/red_alloy', + '#gtceu:circuits/mv') + .itemOutputs('16x ae2:blank_pattern') + .duration(200) + .EUt(480) + + event.recipes.gtceu.assembler('ae2:blank_pattern_pbi') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polybenzimidazole', + '4x #forge:fine_wires/red_alloy', + '#gtceu:circuits/mv') + .itemOutputs('64x ae2:blank_pattern') + .duration(200) + .EUt(480) + + // Annihilation Core + event.recipes.gtceu.assembler('ae2:annihilation_core') + .itemInputs( + '2x #forge:rods/aluminium', + '2x ae2:engineering_processor', + '#forge:gems/certus_quartz') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:annihilation_core') + .circuit(5) + .duration(20) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // Formation Core + event.recipes.gtceu.assembler('ae2:formation_core') + .itemInputs( + '2x #forge:rods/aluminium', + '2x ae2:engineering_processor', + '#forge:gems/nether_quartz') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:formation_core') + .circuit(5) + .duration(20) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // Wireless Crafting Terminal + event.recipes.gtceu.assembler('ae2:wireless_crafting_terminal') + .itemInputs( + '2x gtceu:hv_lithium_battery', + '2x gtceu:luv_sensor', + 'gtceu:luv_emitter', + '2x #forge:rods/osmiridium', + 'ae2:wireless_terminal', + 'ae2:crafting_terminal') + .itemOutputs('ae2:wireless_crafting_terminal') + .duration(30) + .EUt(250) + + //#region Storage Components + + // 1k storage components + event.recipes.gtceu.assembler('ae2:cell_component_1k') + .itemInputs( + '4x #gtceu:batteries/ulv', + '4x #forge:plates/wrought_iron', + '4x #forge:dusts/certus_quartz', + 'ae2:logic_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_1k') + .duration(200) + .EUt(480) + + // 4k storage components + event.recipes.gtceu.assembler('ae2:cell_component_4k') + .itemInputs( + '4x #gtceu:circuits/ev', + '4x #forge:plates/titanium', + '4x #forge:dusts/certus_quartz', + 'ae2:logic_processor') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:cell_component_4k_1k') + .itemInputs( + 'ae2:logic_processor', + '2x #gtceu:circuits/ev', + '4x ae2:cell_component_1k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_4k') + .duration(400) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // 16k storage components + event.recipes.gtceu.assembler('ae2:cell_component_16k') + .itemInputs( + '4x #gtceu:circuits/iv', + '4x #forge:plates/tungsten_steel', + '8x #forge:dusts/certus_quartz', + 'ae2:engineering_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:cell_component_16k_4k') + .itemInputs( + 'ae2:logic_processor', + '2x #gtceu:circuits/iv', + '4x ae2:cell_component_4k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_16k') + .duration(400) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 64k storage components + event.recipes.gtceu.assembler('ae2:cell_component_64k') + .itemInputs( + '4x #gtceu:circuits/luv', + '4x #forge:plates/rhodium_plated_palladium', + '8x #forge:dusts/certus_quartz', + 'ae2:engineering_processor') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('ae2:cell_component_64k_16k') + .itemInputs( + 'ae2:engineering_processor', + '2x #gtceu:circuits/luv', + '4x ae2:cell_component_16k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_64k') + .duration(400) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + // 256k storage components + event.recipes.gtceu.assembler('ae2:cell_component_256k') + .itemInputs( + '4x #gtceu:circuits/zpm', + '4x #forge:plates/naquadah_alloy', + '16x #forge:dusts/certus_quartz', + 'ae2:engineering_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('ae2:cell_component_256k_64k') + .itemInputs( + 'ae2:engineering_processor', + '2x #gtceu:circuits/zpm', + '4x ae2:cell_component_64k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_256k') + .duration(400) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Spatial Components + + // 2³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_2') + .itemInputs( + '4x #gtceu:circuits/ev', + '4x #forge:plates/titanium', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor',) + .inputFluids(Fluid.of('gtceu:hsla_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_2') + .duration(200) + .EUt(1920) + + // 16³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_16') + .itemInputs( + '4x #gtceu:circuits/iv', + '4x #forge:plates/tungsten_steel', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor',) + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_16') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:spatial_cell_component_16_2') + .itemInputs( + 'ae2:calculation_processor', + '2x #gtceu:circuits/iv', + '4x ae2:spatial_cell_component_2') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_16') + .duration(400) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 128³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_128') + .itemInputs( + '4x #gtceu:circuits/luv', + '4x #forge:plates/rhodium_plated_palladium', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_128') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:spatial_cell_component_128_16') + .itemInputs( + 'ae2:calculation_processor', + '2x #gtceu:circuits/luv', + '4x ae2:spatial_cell_component_16') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_128') + .duration(400) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + // Storage Monitor + event.recipes.gtceu.assembler('ae2:storage_monitor') + .itemInputs( + '#ae2:illuminated_panel', + 'ae2:level_emitter') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:storage_monitor') + .duration(200) + .EUt(480) + + // Conversion Monitor + event.recipes.gtceu.assembler('ae2:conversion_monitor') + .itemInputs( + '2x ae2:formation_core', + '2x ae2:annihilation_core', + 'ae2:storage_monitor',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:conversion_monitor') + .duration(200) + .EUt(480) + + // Level Emitter + event.recipes.gtceu.assembler('ae2:level_emitter') + .itemInputs( + 'minecraft:redstone_torch', + '#ae2:glass_cable', + '#forge:plates/steel', + 'ae2:calculation_processor') + .itemOutputs('ae2:level_emitter') + .circuit(1) + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Storage Bus + event.recipes.gtceu.assembler('ae2:storage_bus') + .itemInputs( + '#ae2:interface', + '2x gtceu:mv_electric_piston', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:storage_bus') + .circuit(1) + .duration(200) + .EUt(480) + + // Import Bus + event.recipes.gtceu.assembler('ae2:import_bus') + .itemInputs( + '#forge:plates/wrought_iron', + 'ae2:annihilation_core', + '2x gtceu:mv_robot_arm', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:import_bus') + .circuit(2) + .duration(200) + .EUt(480) + + // Export Bus + event.recipes.gtceu.assembler('ae2:export_bus') + .itemInputs( + '#forge:plates/wrought_iron', + 'ae2:formation_core', + '2x gtceu:mv_robot_arm', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:export_bus') + .circuit(3) + .duration(200) + .EUt(480) + + // CPU Crafting Unit + event.recipes.gtceu.assembler('ae2:crafting_unit') + .itemInputs( + 'ae2:logic_processor', + 'ae2:engineering_processor', + 'ae2:calculation_processor', + '#gtceu:circuits/hv', + '2x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:crafting_unit') + .circuit(1) + .duration(20) + .EUt(680) + + //#region Molecular Assembler + + // HV + event.recipes.gtceu.assembler('ae2:molecular_assembler_hv') + .itemInputs( + '2x ae2:quartz_glass', + '2x #gtceu:circuits/hv', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:hv_conveyor_module', + '2x gtceu:hv_robot_arm', + '4x #forge:plates/stainless_steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:molecular_assembler') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // EV + event.recipes.gtceu.assembler('ae2:molecular_assembler_ev') + .itemInputs( + '2x ae2:quartz_glass', + '2x #gtceu:circuits/ev', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:ev_conveyor_module', + '2x gtceu:ev_robot_arm', + '4x #forge:plates/titanium') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:molecular_assembler') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // IV + event.recipes.gtceu.assembler('ae2:molecular_assembler_iv') + .itemInputs( + '2x ae2:quartz_glass', + '2x #gtceu:circuits/iv', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:iv_conveyor_module', + '2x gtceu:iv_robot_arm', + '4x #forge:plates/tungsten_steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:molecular_assembler') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + // ME Контроллер event.recipes.gtceu.assembler('ae2:controller') - .itemInputs( - '2x ae2:engineering_processor', - '2x #gtceu:circuits/hv', - '2x #forge:plates/titanium', - 'ae2:fluix_block') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:controller') - .duration(200) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - //#region ME Interfaces + .itemInputs( + '2x ae2:engineering_processor', + '2x #gtceu:circuits/hv', + '2x #forge:plates/titanium', + 'ae2:fluix_block') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:controller') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // MV - event.recipes.gtceu.assembler('ae2:interface_mv') - .itemInputs( - 'gtceu:mv_conveyor_module', - '8x #forge:plates/glass', - '4x #forge:plates/steel', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:interface') - .duration(200) - .EUt(120) - - // HV - event.recipes.gtceu.assembler('ae2:interface_hv') - .itemInputs( - 'gtceu:hv_conveyor_module', - '8x #forge:plates/glass', - '4x #forge:plates/aluminium', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('2x ae2:interface') - .duration(200) - .EUt(480) - - // EV - event.recipes.gtceu.assembler('ae2:interface_ev') - .itemInputs( - 'gtceu:ev_conveyor_module', - '8x #forge:plates/glass', - '4x #forge:plates/stainless_steel', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('4x ae2:interface') - .duration(200) - .EUt(1980) - .cleanroom(CleanroomType.CLEANROOM) - - // IV - event.recipes.gtceu.assembler('ae2:interface_iv') - .itemInputs( - 'gtceu:iv_conveyor_module', - '8x #forge:plates/glass', - '4x #forge:plates/titanium', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('8x ae2:interface') - .duration(200) - .EUt(7480) - .cleanroom(CleanroomType.CLEANROOM) - - //#endregion - - //#region Pattern Providers - - // MV - event.recipes.gtceu.assembler('ae2:pattern_provider_mv') - .itemInputs( - 'gtceu:mv_conveyor_module', - '2x #tfc:workbenches', - '4x #forge:plates/steel', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:pattern_provider') - .duration(200) - .EUt(120) - - // HV - event.recipes.gtceu.assembler('ae2:pattern_provider_hv') - .itemInputs( - 'gtceu:hv_conveyor_module', - '2x #tfc:workbenches', - '4x #forge:plates/aluminium', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('2x ae2:pattern_provider') - .duration(200) - .EUt(480) - - // EV - event.recipes.gtceu.assembler('ae2:pattern_provider_ev') - .itemInputs( - 'gtceu:ev_conveyor_module', - '2x #tfc:workbenches', - '4x #forge:plates/stainless_steel', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('4x ae2:pattern_provider') - .duration(200) - .EUt(1980) - .cleanroom(CleanroomType.CLEANROOM) - - // IV - event.recipes.gtceu.assembler('ae2:pattern_provider_iv') - .itemInputs( - 'gtceu:iv_conveyor_module', - '2x #tfc:workbenches', - '4x #forge:plates/titanium', - 'ae2:annihilation_core', - 'ae2:formation_core',) - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('8x ae2:pattern_provider') - .duration(200) - .EUt(7480) - .cleanroom(CleanroomType.CLEANROOM) + //#region ME Interfaces - //#endregion - - //#region Portable Cells - - //#region Item - - // 1k - event.recipes.gtceu.assembler('ae2:portable_item_cell_1k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_1k', - 'gtceu:mv_sodium_battery', - 'ae2:item_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_item_cell_1k') - .duration(200) - .EUt(480) - - // 4k - event.recipes.gtceu.assembler('ae2:portable_item_cell_4k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_4k', - 'gtceu:mv_sodium_battery', - 'ae2:item_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_item_cell_4k') - .duration(200) - .EUt(1920) - .cleanroom(CleanroomType.CLEANROOM) - - // 16k - event.recipes.gtceu.assembler('ae2:portable_item_cell_16k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_16k', - 'gtceu:mv_sodium_battery', - 'ae2:item_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_item_cell_16k') - .duration(200) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - // 64k - event.recipes.gtceu.assembler('ae2:portable_item_cell_64k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_64k', - 'gtceu:mv_sodium_battery', - 'ae2:item_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_item_cell_64k') - .duration(200) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) - - // 256k - event.recipes.gtceu.assembler('ae2:portable_item_cell_256k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_256k', - 'gtceu:mv_sodium_battery', - 'ae2:item_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_item_cell_256k') - .duration(200) - .EUt(122880) - .cleanroom(CleanroomType.CLEANROOM) + // MV + event.recipes.gtceu.assembler('ae2:interface_mv') + .itemInputs( + 'gtceu:mv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:interface') + .duration(200) + .EUt(120) - //#endregion + // HV + event.recipes.gtceu.assembler('ae2:interface_hv') + .itemInputs( + 'gtceu:hv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/aluminium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:interface') + .duration(200) + .EUt(480) - //#region Fluid + // EV + event.recipes.gtceu.assembler('ae2:interface_ev') + .itemInputs( + 'gtceu:ev_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/stainless_steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:interface') + .duration(200) + .EUt(1980) + .cleanroom(CleanroomType.CLEANROOM) - // 1k - event.recipes.gtceu.assembler('ae2:portable_fluid_cell_1k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_1k', - 'gtceu:mv_sodium_battery', - 'ae2:fluid_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_fluid_cell_1k') - .duration(200) - .EUt(480) - - // 4k - event.recipes.gtceu.assembler('ae2:portable_fluid_cell_4k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_4k', - 'gtceu:mv_sodium_battery', - 'ae2:fluid_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_fluid_cell_4k') - .duration(200) - .EUt(1920) - .cleanroom(CleanroomType.CLEANROOM) - - // 16k - event.recipes.gtceu.assembler('ae2:portable_fluid_cell_16k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_16k', - 'gtceu:mv_sodium_battery', - 'ae2:fluid_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_fluid_cell_16k') - .duration(200) - .EUt(7680) - .cleanroom(CleanroomType.CLEANROOM) - - // 64k - event.recipes.gtceu.assembler('ae2:portable_fluid_cell_64k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_64k', - 'gtceu:mv_sodium_battery', - 'ae2:fluid_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_fluid_cell_64k') - .duration(200) - .EUt(30720) - .cleanroom(CleanroomType.CLEANROOM) - - // 256k - event.recipes.gtceu.assembler('ae2:portable_fluid_cell_256k') - .itemInputs( - 'ae2:chest', - 'ae2:cell_component_256k', - 'gtceu:mv_sodium_battery', - 'ae2:fluid_cell_housing') - .inputFluids(Fluid.of('gtceu:polyethylene', 144)) - .itemOutputs('ae2:portable_fluid_cell_256k') - .duration(200) - .EUt(122880) - .cleanroom(CleanroomType.CLEANROOM) + // IV + event.recipes.gtceu.assembler('ae2:interface_iv') + .itemInputs( + 'gtceu:iv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/titanium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:interface') + .duration(200) + .EUt(7480) + .cleanroom(CleanroomType.CLEANROOM) - //#endregion + //#endregion - //#endregion + //#region Pattern Providers - // Logic Processor - event.recipes.gtceu.circuit_assembler('ae2:logic_processor') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_logic_processor', - '#gtceu:circuits/lv', - '2x #gtceu:resistors', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:logic_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('ae2:logic_processor_adv') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_logic_processor', - '#gtceu:circuits/lv', - 'gtceu:advanced_smd_resistor', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:logic_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) + // MV + event.recipes.gtceu.assembler('ae2:pattern_provider_mv') + .itemInputs( + 'gtceu:mv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:pattern_provider') + .duration(200) + .EUt(120) - // Calculation Processor - event.recipes.gtceu.circuit_assembler('ae2:calculation_processor') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_calculation_processor', - '#gtceu:circuits/lv', - '2x #gtceu:resistors', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:calculation_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('ae2:calculation_processor_adv') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_calculation_processor', - '#gtceu:circuits/lv', - 'gtceu:advanced_smd_resistor', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:calculation_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) + // HV + event.recipes.gtceu.assembler('ae2:pattern_provider_hv') + .itemInputs( + 'gtceu:hv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/aluminium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:pattern_provider') + .duration(200) + .EUt(480) - // Engineering Processor - event.recipes.gtceu.circuit_assembler('ae2:engineering_processor') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_engineering_processor', - '#gtceu:circuits/lv', - '2x #gtceu:resistors', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:engineering_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('ae2:engineering_processor_adv') - .itemInputs( - 'ae2:printed_silicon', - 'ae2:printed_engineering_processor', - '#gtceu:circuits/lv', - 'gtceu:advanced_smd_resistor', - '2x #forge:fine_wires/tin',) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('2x ae2:engineering_processor') - .duration(20) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) + // EV + event.recipes.gtceu.assembler('ae2:pattern_provider_ev') + .itemInputs( + 'gtceu:ev_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/stainless_steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:pattern_provider') + .duration(200) + .EUt(1980) + .cleanroom(CleanroomType.CLEANROOM) - // Printed Calculation Processor - event.recipes.gtceu.forming_press('ae2:printed_calculation_processor') - .itemInputs('#forge:plates/certus_quartz') - .notConsumable('ae2:calculation_processor_press') - .itemOutputs('ae2:printed_calculation_processor') - .duration(20) - .EUt(480) + // IV + event.recipes.gtceu.assembler('ae2:pattern_provider_iv') + .itemInputs( + 'gtceu:iv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/titanium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:pattern_provider') + .duration(200) + .EUt(7480) + .cleanroom(CleanroomType.CLEANROOM) - // Printed Engineering Processor - event.recipes.gtceu.forming_press('ae2:printed_engineering_processor') - .itemInputs('#forge:plates/diamond') - .notConsumable('ae2:engineering_processor_press') - .itemOutputs('ae2:printed_engineering_processor') - .duration(20) - .EUt(480) + //#endregion - // Printed Logic Processor - event.recipes.gtceu.forming_press('ae2:printed_logic_processor') - .itemInputs('#forge:plates/gold') - .notConsumable('ae2:logic_processor_press') - .itemOutputs('ae2:printed_logic_processor') - .duration(20) - .EUt(480) + //#region Portable Cells - // Printed Silicon - event.recipes.gtceu.forming_press('ae2:printed_silicon') - .itemInputs('#forge:plates/silicon') - .notConsumable('ae2:silicon_press') - .itemOutputs('ae2:printed_silicon') - .duration(20) - .EUt(480) + //#region Item - // Glass Cable - event.recipes.gtceu.chemical_bath('ae2:fluix_glass_cable') - .itemInputs('#ae2:glass_cable') - .inputFluids(Fluid.of('gtceu:chlorine', 100)) - .itemOutputs('ae2:fluix_glass_cable') - .duration(8) - .EUt(480) - - // Covered Cable - event.recipes.gtceu.chemical_bath('ae2:fluix_covered_cable') - .itemInputs('#ae2:covered_cable') - .inputFluids(Fluid.of('gtceu:chlorine', 100)) - .itemOutputs('ae2:fluix_covered_cable') - .duration(8) - .EUt(480) + // 1k + event.recipes.gtceu.assembler('ae2:portable_item_cell_1k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_1k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_1k') + .duration(200) + .EUt(480) - // Dense Covered Cable - event.recipes.gtceu.chemical_bath('ae2:fluix_covered_dense_cable') - .itemInputs('#ae2:covered_dense_cable') - .inputFluids(Fluid.of('gtceu:chlorine', 100)) - .itemOutputs('ae2:fluix_covered_dense_cable') - .duration(8) - .EUt(480) + // 4k + event.recipes.gtceu.assembler('ae2:portable_item_cell_4k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_4k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) - // Smart Cable - event.recipes.gtceu.chemical_bath('ae2:fluix_smart_cable') - .itemInputs('#ae2:smart_cable') - .inputFluids(Fluid.of('gtceu:chlorine', 100)) - .itemOutputs('ae2:fluix_smart_cable') - .duration(8) - .EUt(480) + // 16k + event.recipes.gtceu.assembler('ae2:portable_item_cell_16k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_16k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) - // Dense Smart Cable - event.recipes.gtceu.chemical_bath('ae2:fluix_smart_dense_cable') - .itemInputs('#ae2:smart_dense_cable') - .inputFluids(Fluid.of('gtceu:chlorine', 100)) - .itemOutputs('ae2:fluix_smart_dense_cable') - .duration(8) - .EUt(480) + // 64k + event.recipes.gtceu.assembler('ae2:portable_item_cell_64k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_64k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) - // Cable Colorization - for (var i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(global.AE2_GLASS_CABLES[i] + '_dye') - .itemInputs('ae2:fluix_glass_cable') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(global.AE2_GLASS_CABLES[i]) - .duration(20) - .EUt(7) + // 256k + event.recipes.gtceu.assembler('ae2:portable_item_cell_256k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_256k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.chemical_bath(global.AE2_COVERED_CABLES[i] + '_dye') - .itemInputs('ae2:fluix_covered_cable') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(global.AE2_COVERED_CABLES[i]) - .duration(20) - .EUt(7) + //#endregion - event.recipes.gtceu.chemical_bath(global.AE2_COVERED_DENSE_CABLES[i] + '_dye') - .itemInputs('ae2:fluix_covered_dense_cable') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(global.AE2_COVERED_DENSE_CABLES[i]) - .duration(20) - .EUt(7) + //#region Fluid - event.recipes.gtceu.chemical_bath(global.AE2_SMART_CABLES[i] + '_dye') - .itemInputs('ae2:fluix_smart_cable') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(global.AE2_SMART_CABLES[i]) - .duration(20) - .EUt(7) + // 1k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_1k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_1k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_1k') + .duration(200) + .EUt(480) - event.recipes.gtceu.chemical_bath(global.AE2_SMART_DENSE_CABLES[i] + '_dye') - .itemInputs('ae2:fluix_smart_dense_cable') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(global.AE2_SMART_DENSE_CABLES[i]) - .duration(20) - .EUt(7) + // 4k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_4k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_4k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) - // Paint Balls - event.recipes.gtceu.chemical_bath(global.AE2_PAINTBALLS[i] + '_dye') - .itemInputs('ae2:matter_ball') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36)) - .itemOutputs(global.AE2_PAINTBALLS[i]) - .duration(20) - .EUt(7) + // 16k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_16k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_16k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) - // Lumen Paint Ball - event.recipes.gtceu.chemical_bath(global.AE2_LUMEN_PAINTBALLS[i] + '_gtceu_dye') - .itemInputs(global.AE2_PAINTBALLS[i]) - .inputFluids(Fluid.of('gtceu:glowstone', 125)) - .itemOutputs(global.AE2_LUMEN_PAINTBALLS[i]) - .duration(20) - .EUt(7) - }; + // 64k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_64k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_64k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) - // Inscriber Silicon Press - event.recipes.gtceu.laser_engraver('ae2:silicon_press_iron') - .itemInputs('#forge:plates/iron') - .notConsumable('#forge:lenses/white') - .itemOutputs('ae2:silicon_press') - .duration(12000) - .EUt(116) - - event.recipes.gtceu.laser_engraver('ae2:silicon_press_wrought_iron') - .itemInputs('#forge:plates/wrought_iron') - .notConsumable('#forge:lenses/white') - .itemOutputs('ae2:silicon_press') - .duration(8000) - .EUt(116) + // 256k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_256k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_256k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) - // Inscriber logic Press - event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_iron') - .itemInputs('#forge:plates/iron') - .notConsumable('#forge:lenses/green') - .itemOutputs('ae2:logic_processor_press') - .duration(12000) - .EUt(116) - - event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_wrought_iron') - .itemInputs('#forge:plates/wrought_iron') - .notConsumable('#forge:lenses/green') - .itemOutputs('ae2:logic_processor_press') - .duration(8000) - .EUt(116) + //#endregion - // Inscriber engineering Press - event.recipes.gtceu.laser_engraver('ae2:engineering_press_iron') - .itemInputs('#forge:plates/iron') - .notConsumable('#forge:lenses/light_blue') - .itemOutputs('ae2:engineering_processor_press') - .duration(12000) - .EUt(116) - - event.recipes.gtceu.laser_engraver('ae2:engineering_press_wrought_iron') - .itemInputs('#forge:plates/wrought_iron') - .notConsumable('#forge:lenses/light_blue') - .itemOutputs('ae2:engineering_processor_press') - .duration(8000) - .EUt(116) + //#endregion - // Inscriber calculation Press - event.recipes.gtceu.laser_engraver('ae2:calculation_press_iron') - .itemInputs('#forge:plates/iron') - .notConsumable('#forge:lenses/blue') - .itemOutputs('ae2:calculation_processor_press') - .duration(12000) - .EUt(116) - - event.recipes.gtceu.laser_engraver('ae2:calculation_press_wrought_iron') - .itemInputs( '#forge:plates/wrought_iron') - .notConsumable('#forge:lenses/blue') - .itemOutputs('ae2:calculation_processor_press') - .duration(8000) - .EUt(116) + // Logic Processor + event.recipes.gtceu.circuit_assembler('ae2:logic_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_logic_processor', + '#gtceu:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:logic_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // Quartz Fiber - event.recipes.gtceu.wiremill('ae2:quartz_fiber_certus') - .itemInputs('#forge:rods/certus_quartz') - .itemOutputs('ae2:quartz_fiber') - .duration(200) - .EUt(7) - - event.recipes.gtceu.wiremill('ae2:quartz_fiber_nether') - .itemInputs('#forge:rods/nether_quartz') - .itemOutputs('ae2:quartz_fiber') - .duration(200) - .EUt(7) + event.recipes.gtceu.circuit_assembler('ae2:logic_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_logic_processor', + '#gtceu:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:logic_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // Quartz Glass - event.recipes.gtceu.alloy_smelter('ae2:quartz_glass') - .itemInputs('5x #forge:dusts/certus_quartz', '4x #forge:glass') - .itemOutputs('4x ae2:quartz_glass') - .duration(20) - .EUt(120) - - // Vibrant Quartz Glass - event.recipes.gtceu.alloy_smelter('ae2:quartz_vibrant_glass') - .itemInputs('ae2:quartz_glass', '8x #forge:dusts/glowstone') - .itemOutputs('ae2:quartz_vibrant_glass') - .duration(20) - .EUt(480) + // Calculation Processor + event.recipes.gtceu.circuit_assembler('ae2:calculation_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_calculation_processor', + '#gtceu:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:calculation_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // Charged Certus Quartz 1x - event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_1x') - .itemInputs('ae2:certus_quartz_crystal') - .itemOutputs('ae2:charged_certus_quartz_crystal') - .duration(800) - .EUt(190) + event.recipes.gtceu.circuit_assembler('ae2:calculation_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_calculation_processor', + '#gtceu:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:calculation_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // Charged Certus Quartz 2x - event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_2x') - .itemInputs('gtceu:flawless_certus_quartz_gem') - .itemOutputs('2x ae2:charged_certus_quartz_crystal') - .duration(800) - .EUt(190) + // Engineering Processor + event.recipes.gtceu.circuit_assembler('ae2:engineering_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_engineering_processor', + '#gtceu:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:engineering_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - // Charged Certus Quartz 4x - event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_4x') - .itemInputs('gtceu:exquisite_certus_quartz_gem') - .itemOutputs('4x ae2:charged_certus_quartz_crystal') - .duration(800) - .EUt(190) + event.recipes.gtceu.circuit_assembler('ae2:engineering_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_engineering_processor', + '#gtceu:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:engineering_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) - //#region Cell Packing - - event.recipes.gtceu.packer('ae2:view_cell') - .itemInputs( 'ae2:item_cell_housing', '#forge:gems/certus_quartz') - .itemOutputs('ae2:view_cell') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:item_storage_cell_1k') - .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_1k') - .itemOutputs('ae2:item_storage_cell_1k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:item_storage_cell_4k') - .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_4k') - .itemOutputs('ae2:item_storage_cell_4k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:item_storage_cell_16k') - .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_16k') - .itemOutputs('ae2:item_storage_cell_16k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:item_storage_cell_64k') - .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_64k') - .itemOutputs('ae2:item_storage_cell_64k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:item_storage_cell_256k') - .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_256k') - .itemOutputs('ae2:item_storage_cell_256k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) + // Printed Calculation Processor + event.recipes.gtceu.forming_press('ae2:printed_calculation_processor') + .itemInputs('#forge:plates/certus_quartz') + .notConsumable('ae2:calculation_processor_press') + .itemOutputs('ae2:printed_calculation_processor') + .duration(20) + .EUt(480) - event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k') - .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') - .itemOutputs('ae2:fluid_storage_cell_1k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k') - .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') - .itemOutputs('ae2:fluid_storage_cell_4k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k') - .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_16k') - .itemOutputs('ae2:fluid_storage_cell_16k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k') - .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') - .itemOutputs('ae2:fluid_storage_cell_64k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k') - .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') - .itemOutputs('ae2:fluid_storage_cell_256k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) + // Printed Engineering Processor + event.recipes.gtceu.forming_press('ae2:printed_engineering_processor') + .itemInputs('#forge:plates/diamond') + .notConsumable('ae2:engineering_processor_press') + .itemOutputs('ae2:printed_engineering_processor') + .duration(20) + .EUt(480) - event.recipes.gtceu.packer('ae2:spatial_storage_cell_2') - .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') - .itemOutputs('ae2:spatial_storage_cell_2') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:spatial_storage_cell_16') - .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') - .itemOutputs('ae2:spatial_storage_cell_16') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:spatial_storage_cell_128') - .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') - .itemOutputs('ae2:spatial_storage_cell_128') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) + // Printed Logic Processor + event.recipes.gtceu.forming_press('ae2:printed_logic_processor') + .itemInputs('#forge:plates/gold') + .notConsumable('ae2:logic_processor_press') + .itemOutputs('ae2:printed_logic_processor') + .duration(20) + .EUt(480) - event.recipes.gtceu.packer('ae2:view_cell_back') - .itemInputs('ae2:view_cell') - .itemOutputs('ae2:item_cell_housing','#forge:gems/certus_quartz') - .duration(10) - .EUt(12) + // Printed Silicon + event.recipes.gtceu.forming_press('ae2:printed_silicon') + .itemInputs('#forge:plates/silicon') + .notConsumable('ae2:silicon_press') + .itemOutputs('ae2:printed_silicon') + .duration(20) + .EUt(480) - event.recipes.gtceu.packer('ae2:item_storage_cell_1k_back') - .itemInputs('ae2:item_storage_cell_1k') - .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_1k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:item_storage_cell_4k_back') - .itemInputs('ae2:item_storage_cell_4k') - .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_4k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:item_storage_cell_16k_back') - .itemInputs('ae2:item_storage_cell_16k') - .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_16k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:item_storage_cell_64k_back') - .itemInputs('ae2:item_storage_cell_64k') - .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_64k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:item_storage_cell_256k_back') - .itemInputs('ae2:item_storage_cell_256k') - .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_256k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k_back') - .itemInputs('ae2:fluid_storage_cell_1k') - .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k_back') - .itemInputs('ae2:fluid_storage_cell_4k') - .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k_back') - .itemInputs('ae2:fluid_storage_cell_16k') - .itemOutputs('ae2:fluid_cell_housing','ae2:cell_component_16k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k_back') - .itemInputs('ae2:fluid_storage_cell_64k') - .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k_back') - .itemInputs('ae2:fluid_storage_cell_256k') - .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:spatial_storage_cell_2_back') - .itemInputs('ae2:spatial_storage_cell_2') - .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:spatial_storage_cell_16_back') - .itemInputs('ae2:spatial_storage_cell_16') - .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') - .duration(10) - .EUt(12) - - event.recipes.gtceu.packer('ae2:spatial_storage_cell_128_back') - .itemInputs('ae2:spatial_storage_cell_128') - .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') - .duration(10) - .EUt(12) - - //#endregion + // Glass Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_glass_cable') + .itemInputs('#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_glass_cable') + .duration(8) + .EUt(480) + .category(GTRecipeCategories.CHEM_DYES) - // Crafting Storage - event.recipes.gtceu.packer('ae2:crafting_accelerator') - .itemInputs('ae2:crafting_unit', 'ae2:engineering_processor') - .itemOutputs('ae2:crafting_accelerator') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:1k_crafting_storage') - .itemInputs('ae2:crafting_unit', 'ae2:cell_component_1k') - .itemOutputs('ae2:1k_crafting_storage') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:4k_crafting_storage') - .itemInputs('ae2:crafting_unit', 'ae2:cell_component_4k') - .itemOutputs('ae2:4k_crafting_storage') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:16k_crafting_storage') - .itemInputs('ae2:crafting_unit', 'ae2:cell_component_16k') - .itemOutputs('ae2:16k_crafting_storage') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:64k_crafting_storage') - .itemInputs('ae2:crafting_unit', 'ae2:cell_component_64k') - .itemOutputs('ae2:64k_crafting_storage') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:256k_crafting_storage') - .itemInputs('ae2:crafting_unit', 'ae2:cell_component_256k') - .itemOutputs('ae2:256k_crafting_storage') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:crafting_monitor') - .itemInputs('ae2:crafting_unit', 'ae2:storage_monitor') - .itemOutputs('ae2:crafting_monitor') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:crafting_accelerator_back') - .itemInputs('ae2:crafting_accelerator') - .itemOutputs('ae2:crafting_unit', 'ae2:engineering_processor') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:1k_crafting_storage_back') - .itemInputs('ae2:1k_crafting_storage') - .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_1k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:4k_crafting_storage_back') - .itemInputs('ae2:4k_crafting_storage') - .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_4k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:16k_crafting_storage_back') - .itemInputs('ae2:16k_crafting_storage') - .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_16k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:64k_crafting_storage_back') - .itemInputs( - 'ae2:64k_crafting_storage') - .itemOutputs( - 'ae2:crafting_unit', - 'ae2:cell_component_64k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:256k_crafting_storage_back') - .itemInputs('ae2:256k_crafting_storage') - .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_256k') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.packer('ae2:crafting_monitor_back') - .itemInputs('ae2:crafting_monitor') - .itemOutputs('ae2:crafting_unit', 'ae2:storage_monitor') - .duration(10) - .EUt(12) - .cleanroom(CleanroomType.CLEANROOM) - - // Cable Anchor - event.recipes.gtceu.extruder('ae2:cable_anchor') - .itemInputs('#forge:plates/steel') - .notConsumable('gtceu:bolt_extruder_mold') - .itemOutputs('8x ae2:cable_anchor') - .duration(15) - .EUt(120) - - // Quantum Ring - event.recipes.gtceu.assembly_line('ae2:quantum_ring') - .itemInputs( - '6x #gtceu:batteries/hv', - '12x #gtceu:circuits/iv', - '16x gtceu:iv_emitter', - '8x ae2:engineering_processor', - '14x gtceu:iv_sensor', - 'ae2:logic_processor',) - .inputFluids(Fluid.of('gtceu:titanium', 1440)) - .itemOutputs('ae2:quantum_ring') - .duration(900) - .EUt(8300) - .cleanroom(CleanroomType.CLEANROOM) - - // Quantum Link Chamber - event.recipes.gtceu.assembly_line('ae2:quantum_link') - .itemInputs( - '8x ae2:fluix_pearl', - '6x ae2:quartz_vibrant_glass', - '8x ae2:engineering_processor', - '14x gtceu:iv_sensor', - '2x gtceu:hv_lithium_battery') - .inputFluids(Fluid.of('gtceu:titanium', 1088)) - .itemOutputs('ae2:quantum_link') - .duration(700) - .EUt(8300) - .cleanroom(CleanroomType.CLEANROOM) + // Covered Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_covered_cable') + .itemInputs('#ae2:covered_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_covered_cable') + .duration(8) + .EUt(480) - // Chemical Reactor - event.recipes.gtceu.chemical_reactor('ae2:fluix_pearl') - .itemInputs('4x #forge:gems/fluix', '#forge:gems/ender_eye') - .inputFluids(Fluid.of('tfg:fluix', 576)) - .itemOutputs('ae2:fluix_pearl') - .duration(200) - .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) - - // Fluix crystal - event.recipes.gtceu.mixer('ae2:fluix_crystal') - .itemInputs( - '#forge:gems/nether_quartz', - '#forge:dusts/redstone', - 'ae2:charged_certus_quartz_crystal') - .inputFluids(Fluid.of('minecraft:water', 144)) - .itemOutputs('2x ae2:fluix_crystal') - .duration(120) - .EUt(256) - - event.recipes.gtceu.mixer('ae2:fluix_crystal_ruby') - .itemInputs( - '#forge:gems/nether_quartz', - '#forge:exquisite_gems/ruby', - 'ae2:charged_certus_quartz_crystal') - .inputFluids(Fluid.of('minecraft:water', 144)) - .itemOutputs('8x ae2:fluix_crystal') - .duration(80) - .EUt(256) - - event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz') - .itemInputs( - '#forge:exquisite_gems/nether_quartz', - '#forge:dusts/redstone', - 'ae2:charged_certus_quartz_crystal') - .inputFluids(Fluid.of('minecraft:water', 144)) - .itemOutputs('8x ae2:fluix_crystal') - .duration(80) - .EUt(256) - - event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz_ruby') - .itemInputs( - '#forge:exquisite_gems/nether_quartz', - '#forge:exquisite_gems/ruby', - 'ae2:charged_certus_quartz_crystal') - .inputFluids(Fluid.of('gtceu:distilled_water', 144)) - .itemOutputs('24x ae2:fluix_crystal') - .duration(60) - .EUt(256) + // Dense Covered Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_covered_dense_cable') + .itemInputs('#ae2:covered_dense_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_covered_dense_cable') + .duration(8) + .EUt(480) - //charger - event.recipes.gtceu.assembler('ae2:charger') - .itemInputs( - 'gtceu:hv_battery_buffer_4x', - '4x gtceu:mercury_barium_calcium_cuprate_quadruple_wire', ) - .inputFluids(Fluid.of('tfg:fluix', 476)) - .itemOutputs('ae2:charger') - .duration(200) - .EUt(480) + // Smart Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_smart_cable') + .itemInputs('#ae2:smart_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_smart_cable') + .duration(8) + .EUt(480) + + // Dense Smart Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_smart_dense_cable') + .itemInputs('#ae2:smart_dense_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_smart_dense_cable') + .duration(8) + .EUt(480) + + // Cable Colorization + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_GLASS_CABLES[i] + '_dye') + .itemInputs('ae2:fluix_glass_cable') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(global.AE2_GLASS_CABLES[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_CABLES[i] + '_dye') + .itemInputs('ae2:fluix_covered_cable') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(global.AE2_COVERED_CABLES[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_DENSE_CABLES[i] + '_dye') + .itemInputs('ae2:fluix_covered_dense_cable') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(global.AE2_COVERED_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(global.AE2_SMART_CABLES[i] + '_dye') + .itemInputs('ae2:fluix_smart_cable') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(global.AE2_SMART_CABLES[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(global.AE2_SMART_DENSE_CABLES[i] + '_dye') + .itemInputs('ae2:fluix_smart_dense_cable') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(global.AE2_SMART_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + // Paint Balls + event.recipes.gtceu.chemical_bath(global.AE2_PAINTBALLS[i] + '_dye') + .itemInputs('ae2:matter_ball') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36)) + .itemOutputs(global.AE2_PAINTBALLS[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + // Lumen Paint Ball + event.recipes.gtceu.chemical_bath(global.AE2_LUMEN_PAINTBALLS[i] + '_gtceu_dye') + .itemInputs(global.AE2_PAINTBALLS[i]) + .inputFluids(Fluid.of('gtceu:glowstone', 125)) + .itemOutputs(global.AE2_LUMEN_PAINTBALLS[i]) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + }; + + // Inscriber Silicon Press + event.recipes.gtceu.laser_engraver('ae2:silicon_press_iron') + .itemInputs('#forge:plates/cast_iron') + .notConsumable('#forge:lenses/white') + .itemOutputs('ae2:silicon_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:silicon_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/white') + .itemOutputs('ae2:silicon_press') + .duration(8000) + .EUt(116) + + // Inscriber logic Press + event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_iron') + .itemInputs('#forge:plates/cast_iron') + .notConsumable('#forge:lenses/green') + .itemOutputs('ae2:logic_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/green') + .itemOutputs('ae2:logic_processor_press') + .duration(8000) + .EUt(116) + + // Inscriber engineering Press + event.recipes.gtceu.laser_engraver('ae2:engineering_press_iron') + .itemInputs('#forge:plates/cast_iron') + .notConsumable('#forge:lenses/light_blue') + .itemOutputs('ae2:engineering_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:engineering_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/light_blue') + .itemOutputs('ae2:engineering_processor_press') + .duration(8000) + .EUt(116) + + // Inscriber calculation Press + event.recipes.gtceu.laser_engraver('ae2:calculation_press_iron') + .itemInputs('#forge:plates/cast_iron') + .notConsumable('#forge:lenses/blue') + .itemOutputs('ae2:calculation_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:calculation_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/blue') + .itemOutputs('ae2:calculation_processor_press') + .duration(8000) + .EUt(116) + + // Quartz Fiber + event.recipes.gtceu.wiremill('ae2:quartz_fiber_certus') + .itemInputs('#forge:rods/certus_quartz') + .itemOutputs('ae2:quartz_fiber') + .duration(200) + .EUt(7) + + event.recipes.gtceu.wiremill('ae2:quartz_fiber_nether') + .itemInputs('#forge:rods/nether_quartz') + .itemOutputs('ae2:quartz_fiber') + .duration(200) + .EUt(7) + + // Quartz Glass + event.recipes.gtceu.alloy_smelter('ae2:quartz_glass') + .itemInputs('5x #forge:dusts/certus_quartz', '4x #forge:glass') + .itemOutputs('4x ae2:quartz_glass') + .duration(20) + .EUt(120) + + // Vibrant Quartz Glass + event.recipes.gtceu.alloy_smelter('ae2:quartz_vibrant_glass') + .itemInputs('ae2:quartz_glass', '8x #forge:dusts/glowstone') + .itemOutputs('ae2:quartz_vibrant_glass') + .duration(20) + .EUt(480) + + // Charged Certus Quartz 1x + event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_1x') + .itemInputs('ae2:certus_quartz_crystal') + .itemOutputs('ae2:charged_certus_quartz_crystal') + .duration(800) + .EUt(190) + + // Charged Certus Quartz 2x + event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_2x') + .itemInputs('gtceu:flawless_certus_quartz_gem') + .itemOutputs('2x ae2:charged_certus_quartz_crystal') + .duration(800) + .EUt(190) + + // Charged Certus Quartz 4x + event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal_4x') + .itemInputs('gtceu:exquisite_certus_quartz_gem') + .itemOutputs('4x ae2:charged_certus_quartz_crystal') + .duration(800) + .EUt(190) + + //#region Cell Packing + + event.recipes.gtceu.packer('ae2:view_cell') + .itemInputs('ae2:item_cell_housing', '#forge:gems/certus_quartz') + .itemOutputs('ae2:view_cell') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_1k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_1k') + .itemOutputs('ae2:item_storage_cell_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_4k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_4k') + .itemOutputs('ae2:item_storage_cell_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_16k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_16k') + .itemOutputs('ae2:item_storage_cell_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_64k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_64k') + .itemOutputs('ae2:item_storage_cell_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_256k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_256k') + .itemOutputs('ae2:item_storage_cell_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') + .itemOutputs('ae2:fluid_storage_cell_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') + .itemOutputs('ae2:fluid_storage_cell_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_16k') + .itemOutputs('ae2:fluid_storage_cell_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') + .itemOutputs('ae2:fluid_storage_cell_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') + .itemOutputs('ae2:fluid_storage_cell_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_2') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') + .itemOutputs('ae2:spatial_storage_cell_2') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_16') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') + .itemOutputs('ae2:spatial_storage_cell_16') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_128') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') + .itemOutputs('ae2:spatial_storage_cell_128') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:view_cell_back') + .itemInputs('ae2:view_cell') + .itemOutputs('ae2:item_cell_housing', '#forge:gems/certus_quartz') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_1k_back') + .itemInputs('ae2:item_storage_cell_1k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_4k_back') + .itemInputs('ae2:item_storage_cell_4k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_16k_back') + .itemInputs('ae2:item_storage_cell_16k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_16k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_64k_back') + .itemInputs('ae2:item_storage_cell_64k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_256k_back') + .itemInputs('ae2:item_storage_cell_256k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k_back') + .itemInputs('ae2:fluid_storage_cell_1k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k_back') + .itemInputs('ae2:fluid_storage_cell_4k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k_back') + .itemInputs('ae2:fluid_storage_cell_16k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_16k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k_back') + .itemInputs('ae2:fluid_storage_cell_64k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k_back') + .itemInputs('ae2:fluid_storage_cell_256k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_2_back') + .itemInputs('ae2:spatial_storage_cell_2') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_16_back') + .itemInputs('ae2:spatial_storage_cell_16') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_128_back') + .itemInputs('ae2:spatial_storage_cell_128') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') + .duration(10) + .EUt(12) + + //#endregion + + // Crafting Storage + event.recipes.gtceu.packer('ae2:crafting_accelerator') + .itemInputs('ae2:crafting_unit', 'ae2:engineering_processor') + .itemOutputs('ae2:crafting_accelerator') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:1k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_1k') + .itemOutputs('ae2:1k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:4k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_4k') + .itemOutputs('ae2:4k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:16k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_16k') + .itemOutputs('ae2:16k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:64k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_64k') + .itemOutputs('ae2:64k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:256k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_256k') + .itemOutputs('ae2:256k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_monitor') + .itemInputs('ae2:crafting_unit', 'ae2:storage_monitor') + .itemOutputs('ae2:crafting_monitor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_accelerator_back') + .itemInputs('ae2:crafting_accelerator') + .itemOutputs('ae2:crafting_unit', 'ae2:engineering_processor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:1k_crafting_storage_back') + .itemInputs('ae2:1k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:4k_crafting_storage_back') + .itemInputs('ae2:4k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:16k_crafting_storage_back') + .itemInputs('ae2:16k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:64k_crafting_storage_back') + .itemInputs( + 'ae2:64k_crafting_storage') + .itemOutputs( + 'ae2:crafting_unit', + 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:256k_crafting_storage_back') + .itemInputs('ae2:256k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_monitor_back') + .itemInputs('ae2:crafting_monitor') + .itemOutputs('ae2:crafting_unit', 'ae2:storage_monitor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + // Cable Anchor + event.recipes.gtceu.extruder('ae2:cable_anchor') + .itemInputs('#forge:plates/steel') + .notConsumable('gtceu:bolt_extruder_mold') + .itemOutputs('8x ae2:cable_anchor') + .duration(15) + .EUt(120) + + // Quantum Ring + event.recipes.gtceu.assembly_line('ae2:quantum_ring') + .itemInputs( + '6x #gtceu:batteries/hv', + '12x #gtceu:circuits/iv', + '16x gtceu:iv_emitter', + '8x ae2:engineering_processor', + '14x gtceu:iv_sensor', + 'ae2:logic_processor',) + .inputFluids(Fluid.of('gtceu:titanium', 1440)) + .itemOutputs('ae2:quantum_ring') + .duration(900) + .EUt(8300) + .cleanroom(CleanroomType.CLEANROOM) + + // Quantum Link Chamber + event.recipes.gtceu.assembly_line('ae2:quantum_link') + .itemInputs( + '8x ae2:fluix_pearl', + '6x ae2:quartz_vibrant_glass', + '8x ae2:engineering_processor', + '14x gtceu:iv_sensor', + '2x gtceu:hv_lithium_battery') + .inputFluids(Fluid.of('gtceu:titanium', 1088)) + .itemOutputs('ae2:quantum_link') + .duration(700) + .EUt(8300) + .cleanroom(CleanroomType.CLEANROOM) + + // Chemical Reactor + event.recipes.gtceu.chemical_reactor('ae2:fluix_pearl') + .itemInputs('4x #forge:gems/fluix', '#forge:gems/ender_eye') + .inputFluids(Fluid.of('tfg:fluix', 576)) + .itemOutputs('ae2:fluix_pearl') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Fluix crystal + event.recipes.gtceu.mixer('ae2:fluix_crystal') + .itemInputs( + '#forge:gems/nether_quartz', + '#forge:dusts/redstone', + 'ae2:charged_certus_quartz_crystal') + .inputFluids(Fluid.of('minecraft:water', 144)) + .itemOutputs('2x ae2:fluix_crystal') + .duration(120) + .EUt(256) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_ruby') + .itemInputs( + '#forge:gems/nether_quartz', + '#forge:exquisite_gems/ruby', + 'ae2:charged_certus_quartz_crystal') + .inputFluids(Fluid.of('minecraft:water', 144)) + .itemOutputs('8x ae2:fluix_crystal') + .duration(80) + .EUt(256) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz') + .itemInputs( + '#forge:exquisite_gems/nether_quartz', + '#forge:dusts/redstone', + 'ae2:charged_certus_quartz_crystal') + .inputFluids(Fluid.of('minecraft:water', 144)) + .itemOutputs('8x ae2:fluix_crystal') + .duration(80) + .EUt(256) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz_ruby') + .itemInputs( + '#forge:exquisite_gems/nether_quartz', + '#forge:exquisite_gems/ruby', + 'ae2:charged_certus_quartz_crystal') + .inputFluids(Fluid.of('gtceu:distilled_water', 144)) + .itemOutputs('24x ae2:fluix_crystal') + .duration(60) + .EUt(256) + + //charger + event.recipes.gtceu.assembler('ae2:charger') + .itemInputs( + 'gtceu:hv_battery_buffer_4x', + '4x gtceu:mercury_barium_calcium_cuprate_quadruple_wire',) + .inputFluids(Fluid.of('tfg:fluix', 476)) + .itemOutputs('ae2:charger') + .duration(200) + .EUt(480) + + // Fluix block + + event.recipes.gtceu.fluid_solidifier('ae2:solidify_fluix_block') + .inputFluids(Fluid.of('tfg:fluix', 144 * 4)) + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('ae2:fluix_block') + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.macerator(`ae2:macerate_fluix_block`) + .itemInputs('ae2:fluix_block') + .itemOutputs('4x ae2:fluix_dust') + .duration(100) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) } diff --git a/kubejs/server_scripts/afc/data.js b/kubejs/server_scripts/afc/data.js new file mode 100644 index 000000000..579c434d0 --- /dev/null +++ b/kubejs/server_scripts/afc/data.js @@ -0,0 +1,8 @@ +/** + * + * @param {Internal.TFCDataEventJS} event + */ +const registerTFCDataForArborFirmaCraft = (event) => +{ + event.itemHeat('afc:tree_tap', 0.2345, null, null) +} \ No newline at end of file diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js new file mode 100644 index 000000000..18b5638c4 --- /dev/null +++ b/kubejs/server_scripts/afc/recipes.js @@ -0,0 +1,229 @@ +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerAFCRecipes = (event) => { + + // #region Removes + + global.AFC_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + event.remove({ id: "afc:pot/rubber" }) + event.remove({ id: "afc:tree_tapping/hevea_latex" }) + event.remove({ id: "afc:tree_tapping/rubber_fig_latex" }) + + // #endregion + + // #region Wood crafts + + global.AFC_WOOD_TYPES.forEach(wood => { + event.remove({ id: `afc:crafting/wood/${wood}_axle` }) + event.remove({ id: `afc:crafting/wood/${wood}_bladed_axle` }) + event.remove({ id: `afc:crafting/wood/${wood}_encased_axle` }) + event.remove({ id: `afc:crafting/wood/${wood}_clutch` }) + event.remove({ id: `afc:crafting/wood/${wood}_gear_box` }) + event.remove({ id: `afc:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(event, `#afc:${wood}_logs`, `16x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(event, `afc:wood/planks/${wood}`, `4x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(event, `afc:wood/planks/${wood}_stairs`, `3x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`) + + + // Плита -> Пиломатериалы + generateCutterRecipe(event, `afc:wood/planks/${wood}_slab`, `2x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + event.shaped(`afc:wood/planks/${wood}_pressure_plate`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wood', + B: '#tfc:hammers', + C: `afc:wood/planks/${wood}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`afc:crafting/wood/${wood}_pressure_plate`) + + event.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:springs', `2x afc:wood/planks/${wood}_slab`) + .circuit(0) + .itemOutputs(`2x afc:wood/planks/${wood}_pressure_plate`) + .duration(50) + .EUt(2) + + // ? -> Деревянная кнопка + event.remove({ id: `afc:crafting/wood/${wood}_button` }) + + generateCutterRecipe(event, `afc:wood/planks/${wood}_pressure_plate`, `6x afc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) + }) + + // #endregion + + event.recipes.tfc.anvil('afc:tree_tap', '#forge:ingots/copper', ["hit_last", "upset_second_last", "upset_third_last"]) + .tier(1) + .bonus(false) + .id('afc:anvil/tree_tap') + + // TreeTap Heating + event.recipes.tfc.heating('afc:tree_tap', 1080) + .resultFluid(Fluid.of('gtceu:copper', 144)) + .id('tfg:heating/tree_tap') + + //Custom rubber and hevea tappings + //Hevea is the most efficient but requires the warmest temperatures + //Rubber fig requires average temperatures and its mildly efficient + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(22) + .id("tfg:tree_tapping/latex/hevea") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(22) + .id("tfg:tree_tapping/latex/ancient_hevea") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(12) + .id("tfg:tree_tapping/latex/rubber_fig") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(12) + .id("tfg:tree_tapping/latex/ancient_rubber_fig") + + //Kapok Grandfathered, least efficient but works as long as the temperature is not freezing + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok")) + .resultFluid(Fluid.of("tfg:latex", 1)) + .minTemp(1) + .id("tfg:tree_tapping/kapok_latex") + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_kapok")) + .resultFluid(Fluid.of("tfg:latex", 1)) + .minTemp(1) + .id("tfg:tree_tapping/ancient_kapok_latex") + + + // Pine/etc resin + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .id("tfg:tree_tapping/aspen_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .id("tfg:tree_tapping/ancient_aspen_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .id("tfg:tree_tapping/spruce_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .id("tfg:tree_tapping/ancient_spruce_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .id("tfg:tree_tapping/white_cedar_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .id("tfg:tree_tapping/ancient_white_cedar_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/douglas_fir")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .id("tfg:tree_tapping/douglas_fir_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_douglas_fir")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .id("tfg:tree_tapping/ancient_douglas_fir_resin") + + //#region Выход: Сырая резиновая пыль + + // Из бревна капока + event.recipes.gtceu.extractor('raw_rubber_from_log') + .itemInputs('#tfg:latex_logs') + .itemOutputs('gtceu:raw_rubber_dust') + .duration(300) + .EUt(2) + + // Из саженца капока + event.recipes.gtceu.extractor('raw_rubber_from_sapling') + .itemInputs('1x #tfg:rubber_saplings') + .itemOutputs('gtceu:raw_rubber_dust') + .duration(300) + .EUt(2) + + // Из листвы капока + event.recipes.gtceu.extractor('raw_rubber_from_leaves') + .itemInputs('16x #tfg:rubber_leaves') + .itemOutputs('gtceu:raw_rubber_dust') + .duration(300) + .EUt(2) + + event.replaceOutput({ id: 'gtceu:centrifuge/sticky_resin_separation' }, 'gtceu:raw_rubber_dust', 'gtceu:carbon_dust') + + //#endregion + + // Из бревна капока + event.recipes.gtceu.centrifuge('rubber_log_separation') + .itemInputs('#tfg:latex_logs') + .chancedOutput('gtceu:raw_rubber_dust', 5000, 1200) + .chancedOutput('gtceu:plant_ball', 3750, 900) + .chancedOutput('gtceu:sticky_resin', 2500, 600) + .chancedOutput('gtceu:wood_dust', 2500, 700) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(200) + .EUt(20) + + event.recipes.gtceu.centrifuge('conifer_log_separation') + .itemInputs('#tfg:rosin_logs') + .chancedOutput('tfg:conifer_rosin', 7500, 1200) + .chancedOutput('gtceu:plant_ball', 3750, 900) + .chancedOutput('gtceu:sticky_resin', 2500, 600) + .chancedOutput('gtceu:wood_dust', 2500, 700) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(200) + .EUt(20) + + event.recipes.gtceu.centrifuge('maple_syrup_log_separation') + .itemInputs('#tfc:maple_logs') + .chancedOutput('afc:maple_sugar', 7500, 1200) + .chancedOutput('gtceu:plant_ball', 3750, 900) + .chancedOutput('gtceu:wood_dust', 2500, 700) + .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:maple_syrup', 100)) + .duration(200) + .EUt(20) + + event.recipes.gtceu.centrifuge('birch_syrup_log_separation') + .itemInputs('#tfc:birch_logs') + .chancedOutput('afc:birch_sugar', 7500, 1200) + .chancedOutput('gtceu:plant_ball', 3750, 900) + .chancedOutput('gtceu:wood_dust', 2500, 700) + .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:birch_syrup', 100)) + .duration(200) + .EUt(20) + + //#endregion + + event.recipes.gtceu.fluid_solidifier('maple_syrup') + .inputFluids(Fluid.of('afc:maple_syrup', 100)) + .itemOutputs('afc:maple_sugar') + .duration(500) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier('birch_syrup') + .inputFluids(Fluid.of('afc:birch_syrup', 100)) + .itemOutputs('afc:birch_sugar') + .duration(500) + .EUt(GTValues.VA[GTValues.ULV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js new file mode 100644 index 000000000..85b736ee9 --- /dev/null +++ b/kubejs/server_scripts/afc/tags.js @@ -0,0 +1,106 @@ +/** + * + * @param {TagEvent.Item} event + */ +const registerAFCItemTags = (event) => { + global.AFC_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + global.AFC_WOOD_TYPES.forEach(woodType => { + event.add('minecraft:logs_that_burn', `#afc:${woodType}_logs`) + event.add('tfg:default_chests', `afc:wood/chest/${woodType}`) + event.add('tfg:trapped_chests', `afc:wood/trapped_chest/${woodType}`) + + event.add('firmalife:food_shelves', `afc:wood/food_shelf/${woodType}`) + event.add('firmalife:hangers', `afc:wood/hanger/${woodType}`) + event.add('firmalife:jarbnets', `afc:wood/jarbnet/${woodType}`) + event.add('firmalife:big_barrels', `afc:wood/big_barrel/${woodType}`) + event.add('firmalife:wine_shelves', `afc:wood/wine_shelf/${woodType}`) + event.add('firmalife:stomping_barrels', `afc:wood/stomping_barrel/${woodType}`) + event.add('firmalife:barrel_presses', `afc:wood/barrel_press/${woodType}`) + }) + + //Hardwood Tags + global.AFC_HARDWOOD_TYPES.forEach(woodType => { + event.add('tfg:hardwood', `#afc:${woodType}_logs`) + event.add('tfg:stripped_hardwood', `afc:wood/stripped_log/${woodType}`) + event.add('tfg:stripped_hardwood', `afc:wood/stripped_wood/${woodType}`) + }); + + //Softwood Tags + global.AFC_SOFTWOOD_TYPES.forEach(woodType => { + event.add('tfg:softwood', `#afc:${woodType}_logs`) + event.add('tfg:stripped_softwood', `afc:wood/stripped_log/${woodType}`) + event.add('tfg:stripped_softwood', `afc:wood/stripped_wood/${woodType}`) + }) + + // AFC saplings are missing the item tag for whatever reason + global.AFC_SAPLINGS.forEach(x => { + event.add('minecraft:saplings', `afc:wood/sapling/${x.sapling}`) + }) + + event.add("tfg:latex_logs", "#tfc:kapok_logs") + event.add("tfg:latex_logs", "#afc:hevea_logs") + event.add("tfg:latex_logs", "#afc:rubber_fig_logs") + + event.add("tfg:rosin_logs", "#tfc:aspen_logs") + event.add("tfg:rosin_logs", "#tfc:spruce_logs") + event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") + event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") + + event.add("tfg:rubber_saplings", "tfc:wood/sapling/kapok") + event.add("tfg:rubber_saplings", "afc:wood/sapling/red_silk_cotton") + event.add("tfg:rubber_saplings", "afc:wood/sapling/hevea") + event.add("tfg:rubber_saplings", "afc:wood/sapling/rubber_fig") + + event.add("tfg:rubber_leaves", "tfc:wood/leaves/kapok") + event.add("tfg:rubber_leaves", "afc:wood/leaves/red_silk_cotton") + event.add("tfg:rubber_leaves", "afc:wood/leaves/hevea") + event.add("tfg:rubber_leaves", "afc:wood/leaves/rubber_fig") +} + + +/** + * + * @param {TagEvent.Block} event + */ +const registerAFCBlockTags = (event) => { + global.AFC_DISABLED_ITEMS.forEach(block => { + event.removeAllTagsFrom(block) + }) + + event.add("afc:tappable_logs", "tfc:wood/log/ancient_kapok") + event.add("afc:tappable_logs", "tfc:wood/log/kapok") + + event.add("afc:tappable_logs", "tfc:wood/log/ancient_aspen") + event.add("afc:tappable_logs", "tfc:wood/log/aspen") + event.add("afc:tappable_logs", "tfc:wood/log/ancient_white_cedar") + event.add("afc:tappable_logs", "tfc:wood/log/white_cedar") + event.add("afc:tappable_logs", "tfc:wood/log/ancient_douglas_fir") + event.add("afc:tappable_logs", "tfc:wood/log/douglas_fir") + event.add("afc:tappable_logs", "tfc:wood/log/ancient_spruce") + event.add("afc:tappable_logs", "tfc:wood/log/spruce") + + event.add("tfg:latex_logs", "#tfc:kapok_logs") + event.add("tfg:latex_logs", "#afc:hevea_logs") + event.add("tfg:latex_logs", "#afc:rubber_fig_logs") + + event.add("tfg:syrup_logs", "#tfc:maple_logs") + event.add("tfg:syrup_logs", "#tfc:birch_logs") + + event.add("tfg:rosin_logs", "#tfc:aspen_logs") + event.add("tfg:rosin_logs", "#tfc:spruce_logs") + event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") + event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") +} + +/** + * + * @param {TagEvent.Fluid} event + */ +const registerAFCFluidTags = (event) => { + event.removeAllTagsFrom("afc:latex") + event.add("c:hidden_from_recipe_viewers", "afc:latex") +} diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js new file mode 100644 index 000000000..72d90d345 --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -0,0 +1,9 @@ +// priority: 0 + +const registerAlekiroofsItemTags = (event) => { + + global.ALEKIROOFS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiships/recipes.js b/kubejs/server_scripts/alekiships/recipes.js new file mode 100644 index 000000000..4216faf4a --- /dev/null +++ b/kubejs/server_scripts/alekiships/recipes.js @@ -0,0 +1,72 @@ +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerAlekishipsRecipes = (event) => { + //remove recipes + event.remove("alekiships:crafting/oarlock") + event.remove("alekiships:crafting/cleat") + event.remove("alekiships:crafting/anchor") + event.remove("alekiships:crafting/cannon") + event.remove("alekiships:crafting/cannonball") + + //#region Oarlock + event.recipes.gtceu.assembler('tfg:alekiships/oarlock') + .itemInputs('2x #forge:ingots/wrought_iron') + .circuit(13) + .itemOutputs('alekiships:oarlock') + .duration(75) + .EUt(4) + + event.recipes.tfc.heating('alekiships:oarlock', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`alekiships:heating/oarlock`) + //#endregion + + //#region Cleat + event.recipes.gtceu.assembler('tfg:firmaciv/cleat') + .itemInputs('2x #forge:ingots/steel') + .circuit(14) + .itemOutputs('alekiships:cleat') + .duration(75) + .EUt(4) + + event.recipes.tfc.heating('alekiships:cleat', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`alekiships:heating/cleat`) + //#endregion + + //#region Anchor + event.recipes.gtceu.assembler('tfg:alekiships/anchor') + .itemInputs('2x #forge:plates/steel') + .circuit(10) + .itemOutputs('alekiships:anchor') + .duration(75) + .EUt(4) + + event.recipes.tfc.heating('alekiships:anchor', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`firmaciv:heating/anchor`) + //#endregion + + //#region cannonball + event.recipes.gtceu.fluid_solidifier('tfg:solidify_cannonball') + .inputFluids(Fluid.of('gtceu:iron', 288)) + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('alekiships:cannonball') + .duration(75) + .EUt(4) + + event.recipes.gtceu.alloy_smelter('tfg:cast_cannonball') + .itemInputs('2x #forge:ingots/iron') + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('alekiships:cannonball') + .duration(75) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(4) + + event.recipes.tfc.heating('alekiships:cannonball', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`alekiships:heating/cannonball`) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiships/tags.js b/kubejs/server_scripts/alekiships/tags.js new file mode 100644 index 000000000..cc7d1a9be --- /dev/null +++ b/kubejs/server_scripts/alekiships/tags.js @@ -0,0 +1,12 @@ + +/** + * + * @param {TagEvent.Item} event + */ +const registerAlekishipsItemTags = (event) => +{ + global.ALEKISHIPS_DISABLED_ITEMS.forEach(element => { + event.removeAllTagsFrom(element); + event.add("c:hidden_from_recipe_viewers", element) + }); +} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js new file mode 100644 index 000000000..3232efb8f --- /dev/null +++ b/kubejs/server_scripts/beneath/recipes.js @@ -0,0 +1,54 @@ +// priority: 0 + +const registerBeneathRecipes = (event) => { + + global.BENEATH_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + event.remove({ id: 'beneath:collapse/basalt' }) + event.remove({ id: 'beneath:collapse/nether_bricks' }) + event.remove({ id: 'beneath:crafting/ancient_altar' }) + event.remove({ id: 'beneath:crafting/blackstone' }) + event.remove({ id: 'beneath:crafting/blackstone_uncraft' }) + event.remove({ id: 'beneath:crafting/blackstone_bricks_from_soot' }) + event.remove({ id: 'beneath:crafting/blackstone_from_soot' }) + event.remove({ id: 'beneath:crafting/blackstone_plate' }) + event.remove({ id: 'beneath:crafting/blackstone_button' }) + event.remove({ id: 'beneath:crafting/hellbricks' }) + event.remove({ id: 'beneath:quern/slime' }) + + event.shaped('beneath:unposter', [ + 'ABA', + 'AAA', + 'CCC' + ], { + A: '#tfc:lumber', + B: 'tfc:composter', + C: '#tfc:mud' + }).id('beneath:crafting/unposter') + + event.shapeless('beneath:hellbricks', [ + '#forge:stone_bricks', + 'minecraft:magma_cream', + 'tfc:powder/sulfur', + 'tfc:soot' + ]).id('tfg:shapeless/hellbricks_from_soot') + + event.shapeless('beneath:hellbricks', [ + '#forge:stone_bricks', + 'minecraft:magma_cream', + 'tfc:powder/sulfur', + 'tfc:powder/wood_ash' + ]).id('tfg:shapeless/hellbricks_from_wood_ash') + + event.recipes.gtceu.assembler("loose_blackstone_to_bricks") + .itemInputs('beneath:blackstone_pebble') + .itemOutputs('beneath:blackstone_brick') + .circuit(1) + .duration(40) + .EUt(8) + + event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') +} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js new file mode 100644 index 000000000..6c21cc8e4 --- /dev/null +++ b/kubejs/server_scripts/beneath/tags.js @@ -0,0 +1,33 @@ +const registerBeneathBlockTags = (event) => { + + global.BENEATH_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + + event.add('forge:ores', 'beneath:ore/nether_cursecoal') + event.add('forge:ores', 'beneath:ore/blackstone_sylvite') + + event.add('beneath:mushrooms', 'minecraft:red_mushroom') + event.add('beneath:mushrooms', 'minecraft:brown_mushroom') + event.add('beneath:poisonous_mushrooms', 'minecraft:red_mushroom') + + event.add('tfc:can_landslide', 'beneath:soul_clay') + + event.remove('beneath:sparks_on_sulfur') + + event.add('beneath:blackstone_decor', 'minecraft:blackstone'); + event.remove('beneath:blackstone') +} + +const registerBeneathItemTags = (event) => { + + global.BENEATH_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + event.add('forge:ores', 'beneath:ore/nether_cursecoal') + event.add('forge:ores', 'beneath:ore/blackstone_sylvite') +} \ No newline at end of file diff --git a/kubejs/server_scripts/buildinggadgets2/recipes.js b/kubejs/server_scripts/buildinggadgets2/recipes.js new file mode 100644 index 000000000..5a77f080d --- /dev/null +++ b/kubejs/server_scripts/buildinggadgets2/recipes.js @@ -0,0 +1,141 @@ +const registerBuildingGadgetsRecipes = (event) => { + + event.remove({ mod: 'buildinggadgets2' }) + + event.shapeless(Item.of('patchouli:guide_book', '{"patchouli:book":"buildinggadgets2:buildinggadgets2book"}'), [ + 'minecraft:scaffolding', + '#forge:books' + ]).id('buildinggadgets2:shapeless/guide_book') + + // Building Gadget + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_building') + .itemInputs('1x gtceu:ev_emitter','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:formation_plane') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_building') + .duration(160) + .EUt(2000) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_building') + .itemInputs('1x buildinggadgets2:gadget_building') + .itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:lapotron_gem') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_building') + .itemInputs('1x buildinggadgets2:gadget_building') + .itemOutputs('10x gtceu:titanium_dust', '15x gtceu:lapotron_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Exchanging Gadget + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_exchanging') + .itemInputs('1x gtceu:ev_emitter','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:equal_distribution_card') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_exchanging') + .duration(160) + .EUt(2000) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_exchanging') + .itemInputs('1x buildinggadgets2:gadget_exchanging') + .itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:lapotron_gem') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_exchanging') + .itemInputs('1x buildinggadgets2:gadget_exchanging') + .itemOutputs('10x gtceu:titanium_dust', '15x gtceu:lapotron_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Copy Paste Gadget + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_copy_paste') + .itemInputs('1x gtceu:iv_emitter','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:spatial_storage_cell_2') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_copy_paste') + .duration(160) + .EUt(8100) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_copy_paste') + .itemInputs('1x buildinggadgets2:gadget_copy_paste') + .itemOutputs('10x gtceu:tungsten_steel_ingot', '1x gtceu:lapotron_gem') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_copy_paste') + .itemInputs('1x buildinggadgets2:gadget_copy_paste') + .itemOutputs('10x gtceu:tungsten_steel_dust', '15x gtceu:lapotron_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Dustruction Gadget + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_destruction') + .itemInputs('1x gtceu:ev_sensor','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:energy_crystal', '1x ae2:annihilation_plane') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_destruction') + .duration(160) + .EUt(2000) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_destruction') + .itemInputs('1x buildinggadgets2:gadget_destruction') + .itemOutputs('10x gtceu:titanium_ingot', '1x gtceu:energy_crystal') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_destruction') + .itemInputs('1x buildinggadgets2:gadget_destruction') + .itemOutputs('10x gtceu:titanium_dust', '9x gtceu:energium_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Cut Paste Gadget + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_cut_paste') + .itemInputs('1x gtceu:iv_sensor','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:energy_crystal', '1x ae2:inverter_card') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_cut_paste') + .duration(160) + .EUt(8100) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/gadget_cut_paste') + .itemInputs('1x buildinggadgets2:gadget_cut_paste') + .itemOutputs('10x gtceu:tungsten_steel_ingot', '1x gtceu:energy_crystal') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/gadget_cut_paste') + .itemInputs('1x buildinggadgets2:gadget_cut_paste') + .itemOutputs('10x gtceu:tungsten_steel_dust', '9x gtceu:energium_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Template Manager + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/template_manager') + .itemInputs('1x gtceu:robust_machine_casing','2x gtceu:iv_electric_motor','8x #forge:plates/tungsten_steel', '1x #gtceu:circuits/iv', '1x gtceu:chemical_blue_dye', '1x gtceu:chemical_red_dye', '1x create:clipboard') + .circuit(4) + .itemOutputs('buildinggadgets2:template_manager ') + .duration(160) + .EUt(2000) + + event.recipes.gtceu.arc_furnace('buildinggadgets2:arc_furnace/recycling/template_manager') + .itemInputs('1x buildinggadgets2:template_manager') + .itemOutputs('10x gtceu:tungsten_steel_ingot') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('buildinggadgets2:macerator/recycling/template_manager') + .itemInputs('1x buildinggadgets2:template_manager') + .itemOutputs('10x gtceu:tungsten_steel_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) +} diff --git a/kubejs/server_scripts/cccbridge/recipes.js b/kubejs/server_scripts/cccbridge/recipes.js new file mode 100644 index 000000000..d69d64b9d --- /dev/null +++ b/kubejs/server_scripts/cccbridge/recipes.js @@ -0,0 +1,41 @@ +// priority: 0 + +const registerCccBridgeRecipes = (event) => { + + event.remove({not: [ + { id: 'cccbridge:to_target_block' }, + { id: 'cccbridge:to_source_block' } + ], mod: 'cccbridge' }); + + // Animatronic + event.recipes.gtceu.assembler('cccbridge:assembler/animatronic_block') + .itemInputs('1x gtceu:hv_machine_casing','2x gtceu:hv_robot_arm','2x vintageimprovements:redstone_module', '1x greate:stainless_steel_cogwheel', '1x gtceu:computer_monitor_cover') + .circuit(4) + .itemOutputs('cccbridge:animatronic_block') + .duration(800) + .EUt(GTValues.VA[GTValues.HV]) + + // Scroller Pane + event.recipes.gtceu.assembler('cccbridge:assembler/scroller_block') + .itemInputs('1x computercraft:wired_modem', '1x greate:aluminium_cogwheel', '1x gtceu:computer_monitor_cover') + .circuit(4) + .itemOutputs('cccbridge:scroller_block') + .duration(600) + .EUt(GTValues.VA[GTValues.MV]) + + // RedRouter Block + event.recipes.gtceu.assembler('cccbridge:assembler/redrouter_block') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:computer_monitor_cover','10x vintageimprovements:redstone_module', '8x #gtceu:transistors') + .circuit(4) + .itemOutputs('cccbridge:redrouter_block') + .duration(800) + .EUt(GTValues.VA[GTValues.MV]) + + // Source Block + event.recipes.gtceu.assembler('cccbridge:assembler/source_block') + .itemInputs('1x computercraft:wired_modem', '1x gtceu:mv_machine_casing', '1x gtceu:computer_monitor_cover', ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 8)) + .circuit(4) + .itemOutputs('cccbridge:source_block') + .duration(800) + .EUt(GTValues.VA[GTValues.MV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/cccbridge/recipes.recycling.js b/kubejs/server_scripts/cccbridge/recipes.recycling.js new file mode 100644 index 000000000..24ada42b5 --- /dev/null +++ b/kubejs/server_scripts/cccbridge/recipes.recycling.js @@ -0,0 +1,94 @@ +// priority: 0 + +function registerCccBridgeRecyclingRecipes(event) { + + // Source Block + event.recipes.gtceu.macerator('cccbridge:macerator/recycling/source_block') + .itemInputs('cccbridge:source_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Redstone, 4) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/source_block') + .itemInputs('cccbridge:source_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 4) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Target Block + event.recipes.gtceu.macerator('cccbridge:macerator/recycling/target_block') + .itemInputs('cccbridge:target_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Redstone, 4) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/target_block') + .itemInputs('cccbridge:target_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Redstone, 4) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // RedRouter Block + event.recipes.gtceu.macerator('cccbridge:macerator/recycling/redrouter_block') + .itemInputs('cccbridge:redrouter_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5) + ) + .duration(GTMaterials.Aluminium.getMass() * 4) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/redrouter_block') + .itemInputs('cccbridge:redrouter_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5) + ) + .duration(GTMaterials.Aluminium.getMass() * 4) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Animatronic Block + event.recipes.gtceu.macerator('cccbridge:macerator/recycling/animatronic_block') + .itemInputs('cccbridge:animatronic_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 18), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 12), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 5) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 18) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('cccbridge:arc_furnace/recycling/animatronic_block') + .itemInputs('cccbridge:animatronic_block') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 18), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 12), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 5) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 18) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/chalk/data.js b/kubejs/server_scripts/chalk/data.js new file mode 100644 index 000000000..13c51282f --- /dev/null +++ b/kubejs/server_scripts/chalk/data.js @@ -0,0 +1,11 @@ +/** + * + * @param {Internal.TFCDataEventJS} evt + */ +const registerTFCDataForChalk = (evt) => +{ + global.MINECRAFT_DYE_NAMES.forEach(dyeName => + { + evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/chalk/recipes.js b/kubejs/server_scripts/chalk/recipes.js new file mode 100644 index 000000000..a4cdc6ac6 --- /dev/null +++ b/kubejs/server_scripts/chalk/recipes.js @@ -0,0 +1,50 @@ +/** + * + * @param {Internal.RecipesEventJS} evt + */ +const registerChalkRecipes = (evt) => { + evt.remove({ output: "#chalk:chalks" }) + evt.replaceInput({ id: "chalk:chalk_box" }, "minecraft:slime_ball", "tfc:glue") + + //Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed + evt.recipes.firmalife.mixing_bowl() + .itemIngredients(["minecraft:clay_ball", "#chalk:dusts_for_chalks"]) + .outputItem("tfg:unfired_chalk") + .id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`) + + global.MINECRAFT_DYE_NAMES.forEach(dyeName => { + //gt mixer works as is + evt.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`) + .itemInputs(["minecraft:clay_ball", `#chalk:dusts_for_chalks`]) + .inputFluids([Fluid.of(`tfc:${dyeName}_dye`, 36)]) + .itemOutputs([`chalk:${dyeName}_chalk`]) + .duration(600) + .EUt(1) + .category(GTRecipeCategories.CHEM_DYES); + + //create mixer creates the unfired colored stick, unless heated. + let createIngredients = ["minecraft:clay_ball", `#chalk:dusts_for_chalks`, Fluid.of(`tfc:${dyeName}_dye`, 36)] + evt.recipes.create.mixing(`tfg:wet_${dyeName}_chalk`, createIngredients) + .id(`chalk:create_mixer/wet_${dyeName}_chalk_from_dust`); + + evt.recipes.create.mixing(`chalk:${dyeName}_chalk`, createIngredients) + .heated() + .id(`chalk:create_mixer/${dyeName}_chalk_from_dust`); + + + //Unfired chalk sticks need to be placed in a barrel full of dye to colorize. Then heated until cured. + evt.recipes.tfc.barrel_sealed(20 * 50) + .inputs(`tfg:unfired_chalk`, TFC.fluidStackIngredient(`tfc:${dyeName}_dye`, 36)) + .outputItem(`tfg:wet_${dyeName}_chalk`) + .id(`chalk:barrel/dye/wet_${dyeName}_chalk`); + + evt.recipes.tfc.heating(`tfg:wet_${dyeName}_chalk`, 700) + .resultItem(`chalk:${dyeName}_chalk`) + .id(`chalk:heating/${dyeName}_chalk`) + + evt.smelting( + `chalk:${dyeName}_chalk`, + `tfg:wet_${dyeName}_chalk` + ).id(`chalk:smelting/${dyeName}_chalk`) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/chalk/tags.js b/kubejs/server_scripts/chalk/tags.js new file mode 100644 index 000000000..a026c0742 --- /dev/null +++ b/kubejs/server_scripts/chalk/tags.js @@ -0,0 +1,10 @@ +/** + * + * @param {TagEvent.Item} evt + */ +const registerChalkItemTags = (evt) => +{ + evt.add(`chalk:dusts_for_chalks`, `tfg:chalk_dust`) + evt.add(`chalk:dusts_for_chalks`, `tfg:limestone_dust`) + evt.add(`chalk:dusts_for_chalks`, `tfg:dripstone_dust`) +} \ No newline at end of file diff --git a/kubejs/server_scripts/comforts/recipes.js b/kubejs/server_scripts/comforts/recipes.js new file mode 100644 index 000000000..75922cff4 --- /dev/null +++ b/kubejs/server_scripts/comforts/recipes.js @@ -0,0 +1,60 @@ +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerComfortsRecipes = (event) => { + event.remove({ mod: "comforts" }) + + //Rope and Nail + event.recipes.minecraft.crafting_shapeless("comforts:rope_and_nail", ["firmaciv:rope_coil", "gtceu:wrought_iron_screw"]) + .id("comforts:crafting/shaped/rope_and_nail"); + + //sleeping bag + event.recipes.minecraft.crafting_shaped("comforts:sleeping_bag_white", [ + "AAA", + "B " + ], { + A: "#tfc:high_quality_cloth", + B: 'tfc:bone_needle' + }); + + event.recipes.minecraft.crafting_shaped("comforts:hammock_white", [ + "ABA", + "CCC", + "ABA" + ], { + A: "#forge:string", + B: "gtceu:long_wood_rod", + C: "#tfc:high_quality_cloth", + }) + + + global.MINECRAFT_DYE_NAMES.forEach(dyeName => { + + event.recipes.gtceu.chemical_bath(`comforts:chemical_bath/dye_${dyeName}_sleeping_bag`) + .itemInputs("#comforts:sleeping_bags") + .inputFluids(Fluid.of(`tfc:${dyeName}_dye`, 144)) + .itemOutputs(`comforts:sleeping_bag_${dyeName}`) + .duration(20 * 15) + .category(GTRecipeCategories.CHEM_DYES) + .EUt(4); + + event.recipes.tfc.barrel_sealed(20 * 60) + .inputs("#comforts:sleeping_bags", Fluid.of(`tfc:${dyeName}_dye`, 144)) + .outputItem(`comforts:sleeping_bag_${dyeName}`) + .id(`barrel/comforts/sleeping_bag_${dyeName}`) + + event.recipes.gtceu.chemical_bath(`comforts:chemical_bath/dye_${dyeName}_hammock`) + .itemInputs("#comforts:hammocks") + .inputFluids(Fluid.of(`tfc:${dyeName}_dye`, 144)) + .itemOutputs(`comforts:hammock_${dyeName}`) + .duration(20 * 15) + .category(GTRecipeCategories.CHEM_DYES) + .EUt(4); + + event.recipes.tfc.barrel_sealed(20 * 60) + .inputs("#comforts:hammocks", Fluid.of(`tfc:${dyeName}_dye`, 144)) + .outputItem(`comforts:hammock_${dyeName}`) + .id(`barrel/comforts/hammock_${dyeName}`) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/computer_craft/recipes.js b/kubejs/server_scripts/computer_craft/recipes.js index 8ad49d15d..d9accd226 100644 --- a/kubejs/server_scripts/computer_craft/recipes.js +++ b/kubejs/server_scripts/computer_craft/recipes.js @@ -126,69 +126,44 @@ const registerComputerCraftRecipes = (event) => { .id('tfg:crafting/wired_modem_full_shapeless') // Computer Normal - event.shaped('computercraft:computer_normal', [ - 'AB ', - 'CD ', - 'EAE' - ], { - A: 'gtceu:magnesium_diboride_single_wire', - B: 'gtceu:computer_monitor_cover', - C: '#gtceu:batteries/mv', - D: 'gtceu:mv_machine_casing', - E: '#gtceu:circuits/hv' - }).id('tfg:crafting/computer_normal') + event.recipes.gtceu.assembler('computercraft:assembler/computer_normal') + .itemInputs('1x gtceu:mv_machine_casing','2x #gtceu:circuits/hv','3x #forge:double_wires/magnesium_diboride', '2x #gtceu:batteries/mv', '4x computercraft:cable', '8x gtceu:cpu_chip', '1x gtceu:computer_monitor_cover') + .circuit(4) + .itemOutputs('computercraft:computer_normal') + .duration(1200) + .EUt(GTValues.VA[GTValues.MV]) // Computer Advanced - event.shaped('computercraft:computer_advanced', [ - 'AB ', - 'CD ', - 'EAE' - ], { - A: 'gtceu:mercury_barium_calcium_cuprate_single_wire', - B: 'gtceu:computer_monitor_cover', - C: '#gtceu:batteries/hv', - D: 'gtceu:hv_machine_casing', - E: '#gtceu:circuits/ev' - }).id('tfg:crafting/computer_advanced') + event.recipes.gtceu.assembler('computercraft:assembler/computer_advanced') + .itemInputs('1x gtceu:hv_machine_casing','2x #gtceu:circuits/ev','3x #forge:double_wires/mercury_barium_calcium_cuprate', '2x #gtceu:batteries/hv', '4x computercraft:cable', '12x gtceu:soc', '1x gtceu:computer_monitor_cover') + .circuit(4) + .itemOutputs('computercraft:computer_advanced') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) // Turtle Normal - event.shaped('computercraft:turtle_normal', [ - 'ABC', - 'DFD', - 'EGH' - ], { - A: 'gtceu:hv_conveyor_module', - B: 'gtceu:hv_emitter', - C: 'gtceu:hv_sensor', - D: 'gtceu:hv_robot_arm', - E: '#gtceu:circuits/ev', - F: 'computercraft:computer_normal', - G: 'gtceu:steel_crate', - H: 'gtceu:hv_electric_piston', - }).id('tfg:crafting/turtle_normal') + event.recipes.gtceu.assembler('computercraft:assembler/turtle_normal') + .itemInputs('1x computercraft:computer_normal','2x #gtceu:circuits/ev','1x gtceu:steel_crate', '2x gtceu:hv_conveyor_module', '2x gtceu:hv_robot_arm', '1x gtceu:hv_emitter', '1x gtceu:hv_sensor', '1x gtceu:hv_fluid_regulator') + .circuit(4) + .itemOutputs('computercraft:turtle_normal') + .duration(1200) + .EUt(GTValues.VA[GTValues.HV]) // Turtle Advanced - event.shaped('computercraft:turtle_advanced', [ - 'ABC', - 'DFD', - 'EGH' - ], { - A: 'gtceu:ev_conveyor_module', - B: 'gtceu:ev_emitter', - C: 'gtceu:ev_sensor', - D: 'gtceu:ev_robot_arm', - E: '#gtceu:circuits/iv', - F: 'computercraft:computer_advanced', - G: 'gtceu:aluminium_crate', - H: 'gtceu:ev_electric_piston', - }).id('tfg:crafting/turtle_advanced') + event.recipes.gtceu.assembler('computercraft:assembler/turtle_advanced') + .itemInputs('1x computercraft:computer_advanced','2x #gtceu:circuits/iv','1x gtceu:aluminium_crate', '2x gtceu:ev_conveyor_module', '2x gtceu:ev_robot_arm', '1x gtceu:ev_emitter', '1x gtceu:ev_sensor', '1x gtceu:ev_fluid_regulator') + .circuit(4) + .itemOutputs('computercraft:turtle_advanced') + .duration(1200) + .EUt(GTValues.VA[GTValues.EV]) // Disk Crafts for (let i = 0; i < 16; i++) { event.recipes.gtceu.chemical_bath('computercraft:disk' + `${global.MINECRAFT_DYE_NAMES[i]}`) .itemInputs('ae2:blank_pattern') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288)) + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288)) .itemOutputs(Item.of('computercraft:disk', global.COMPUTER_CRAFT_DISCS[i])) + .category(GTRecipeCategories.CHEM_DYES) .duration(20) .EUt(7) } diff --git a/kubejs/server_scripts/computer_craft/recipes.recycling.js b/kubejs/server_scripts/computer_craft/recipes.recycling.js new file mode 100644 index 000000000..0f0dc9307 --- /dev/null +++ b/kubejs/server_scripts/computer_craft/recipes.recycling.js @@ -0,0 +1,234 @@ +// priority: 0 + +function registerComputerCraftRecyclingRecipes(event) { + + // Computer + event.recipes.gtceu.macerator('computercraft:macerator/recycling/computer_normal') + .itemInputs('computercraft:computer_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.MagnesiumDiboride, 1) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/computer_normal') + .itemInputs('computercraft:computer_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MagnesiumDiboride, 1) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Advanced Computer + event.recipes.gtceu.macerator('computercraft:macerator/recycling/computer_advanced') + .itemInputs('computercraft:computer_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 4) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/computer_advanced') + .itemInputs('computercraft:computer_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 4) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Turtle + event.recipes.gtceu.macerator('computercraft:macerator/recycling/turtle_normal') + .itemInputs('computercraft:turtle_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 20), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 12), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 20) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/turtle_normal') + .itemInputs('computercraft:turtle_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 20), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 12), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 20) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Advanced Turtle + event.recipes.gtceu.macerator('computercraft:macerator/recycling/turtle_advanced') + .itemInputs('computercraft:turtle_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 20), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 15), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 9), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4) + ) + .duration(GTMaterials.Titanium.getMass() * 20) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/turtle_advanced') + .itemInputs('computercraft:turtle_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 20), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 15), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 9), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4) + ) + .duration(GTMaterials.Titanium.getMass() * 20) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Pocket Computer + event.recipes.gtceu.macerator('computercraft:macerator/recycling/pocket_computer_normal') + .itemInputs('computercraft:pocket_computer_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 9), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Platinum, 2) + ) + .duration(GTMaterials.Titanium.getMass() * 9) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/pocket_computer_normal') + .itemInputs('computercraft:pocket_computer_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 9), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Platinum, 2) + ) + .duration(GTMaterials.Titanium.getMass() * 9) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Advanced Pocket Computer + event.recipes.gtceu.macerator('computercraft:macerator/recycling/pocket_computer_advanced') + .itemInputs('computercraft:pocket_computer_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 9), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Platinum, 2) + ) + .duration(GTMaterials.Titanium.getMass() * 9) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/pocket_computer_advanced') + .itemInputs('computercraft:pocket_computer_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 9), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Platinum, 2) + ) + .duration(GTMaterials.Titanium.getMass() * 9) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Monitor + event.recipes.gtceu.macerator('computercraft:macerator/recycling/monitor_normal') + .itemInputs('computercraft:monitor_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 5) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/monitor_normal') + .itemInputs('computercraft:monitor_normal') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 5) + ) + .duration(GTMaterials.Aluminium.getMass() * 5) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Advanced Monitor + event.recipes.gtceu.macerator('computercraft:macerator/recycling/monitor_advanced') + .itemInputs('computercraft:monitor_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 4) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/monitor_advanced') + .itemInputs('computercraft:monitor_advanced') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 4) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Printer + event.recipes.gtceu.macerator('computercraft:macerator/recycling/printer') + .itemInputs('computercraft:printer') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 15), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 15), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 6) + ) + .duration(GTMaterials.Aluminium.getMass() * 15) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/printer') + .itemInputs('computercraft:printer') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 15), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 15), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 6) + ) + .duration(GTMaterials.Aluminium.getMass() * 15) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Disk Drive + event.recipes.gtceu.macerator('computercraft:macerator/recycling/disk_drive') + .itemInputs('computercraft:disk_drive') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('computercraft:arc_furnace/recycling/disk_drive') + .itemInputs('computercraft:disk_drive') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1) + ) + .duration(GTMaterials.StainlessSteel.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/computer_craft/tags.js b/kubejs/server_scripts/computer_craft/tags.js index fac76d256..93ffe9ecb 100644 --- a/kubejs/server_scripts/computer_craft/tags.js +++ b/kubejs/server_scripts/computer_craft/tags.js @@ -1,7 +1,12 @@ // priority: 0 const registerComputerCraftItemTags = (event) => { - // Nothing here for now :) + + event.remove('minecraft:piglin_loved', 'computercraft:computer_advanced') + event.remove('minecraft:piglin_loved', 'computercraft:turtle_advanced') + event.remove('minecraft:piglin_loved', 'computercraft:wireless_modem_advanced') + event.remove('minecraft:piglin_loved', 'computercraft:pocket_computer_advanced') + event.remove('minecraft:piglin_loved', 'computercraft:monitor_advanced') } const registerComputerCraftBlockTags = (event) => { diff --git a/kubejs/server_scripts/constructionwand/recipes.js b/kubejs/server_scripts/constructionwand/recipes.js new file mode 100644 index 000000000..e805cc425 --- /dev/null +++ b/kubejs/server_scripts/constructionwand/recipes.js @@ -0,0 +1,76 @@ +// priority: 0 + +function registerConstructionwandRecipes(event) { + //remove recipes + event.remove({ id: 'constructionwand:stone_wand'}) + event.remove({ id: 'constructionwand:iron_wand'}) + event.remove({ id: 'constructionwand:diamond_wand'}) + event.remove({ id: 'constructionwand:infinity_wand'}) + event.remove({ id: 'constructionwand:core_angel'}) + event.remove({ id: 'constructionwand:core_destruction'}) + + //new recipes + event.shaped('1x constructionwand:stone_wand', [ + ' C', + ' B ', + 'A ' + ], { + A: '#forge:rods/wooden', + B: '#forge:ingots/copper', + C: '#forge:chipped_gems' + }).id('constructionwand:shaped/stone_wand') + + event.shaped('1x constructionwand:iron_wand', [ + ' C', + ' B ', + 'A ' + ], { + A: '#forge:rods/wooden', + B: '#forge:ingots/wrought_iron', + C: '#forge:gems' + }).id('constructionwand:shaped/iron_wand') + + event.shaped('1x constructionwand:diamond_wand', [ + ' DC', + ' B ', + 'A ' + ], { + A: '#forge:rods/treated_wood', + B: '#forge:double_ingots/blue_steel', + C: '#forge:exquisite_gems', + D: 'ae2:ender_dust' + }).id('constructionwand:shaped/diamond_wand') + + event.shaped('1x constructionwand:infinity_wand', [ + ' EB', + ' C ', + 'AD ' + ], { + A: '#forge:rods/polytetrafluoroethylene', + C: '#forge:rods/long/aluminium', + B: '#forge:double_plates/titanium', + D: '#gtceu:circuits/iv', + E: 'minecraft:nether_star', + }).id('constructionwand:shaped/infinity_wand') + + event.shaped('1x constructionwand:core_angel', [ + ' BA', + 'BCB', + 'AB ' + ], { + A: 'immersive_aircraft:sail', + C: '#gtceu:circuits/lv', + B: '#forge:plates/glass' + }).id('constructionwand:shaped/core_angel') + + event.shaped('1x constructionwand:core_destruction', [ + ' BA', + 'BCB', + 'DB ' + ], { + A: '#forge:pickaxe_heads/steel', + C: '#gtceu:circuits/lv', + B: '#forge:plates/glass', + D: '#forge:hammer_heads/steel' + }).id('constructionwand:shaped/core_destruction') +} \ No newline at end of file diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index ef8a50e20..747c5d718 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1,1347 +1,1675 @@ // priority: 0 const registerCreateRecipes = (event) => { - - // Удаление рецептов мода create - event.remove({ not: [ - { id: 'create:crafting/kinetics/gearboxfrom_conversion' }, - { id: 'create:crafting/kinetics/gearbox' }, - { id: 'create:crafting/kinetics/clutch' }, - { id: 'create:crafting/kinetics/gearshift' }, - { id: 'create:crafting/kinetics/adjustable_chain_gearshift' }, - { id: 'create:crafting/kinetics/water_wheel' }, - { id: 'create:crafting/kinetics/large_water_wheel' }, - { id: 'create:crafting/kinetics/encased_fan' }, - { id: 'create:crafting/kinetics/turntable' }, - { id: 'create:crafting/kinetics/cuckoo_clock' }, - { id: 'create:crafting/kinetics/mysterious_cuckoo_clock' }, - { id: 'create:crafting/kinetics/millstone' }, - { id: 'create:crafting/kinetics/mechanical_mixer' }, - { id: 'create:crafting/kinetics/weighted_ejector' }, - { id: 'create:crafting/kinetics/smart_chute' }, - { id: 'create:crafting/kinetics/speedometerfrom_conversion' }, - { id: 'create:crafting/kinetics/stressometerfrom_conversion' }, - { id: 'create:crafting/kinetics/mechanical_pump' }, - { id: 'create:crafting/kinetics/smart_fluid_pipe' }, - { id: 'create:crafting/kinetics/portable_fluid_interface' }, - { id: 'create:crafting/kinetics/mechanical_piston' }, - { id: 'create:crafting/kinetics/gantry_carriage' }, - { id: 'create:crafting/kinetics/windmill_bearing' }, - { id: 'create:crafting/kinetics/mechanical_bearing' }, - { id: 'create:crafting/kinetics/clockwork_bearing' }, - { id: 'create:crafting/kinetics/linear_chassisfrom_conversion' }, - { id: 'create:crafting/kinetics/secondary_linear_chassisfrom_conversion' }, - { id: 'create:crafting/kinetics/contraption_controls' }, - { id: 'create:crafting/kinetics/deployer' }, - { id: 'create:crafting/kinetics/portable_storage_interface' }, - { id: 'create:crafting/kinetics/mechanical_roller' }, - { id: 'create:crafting/kinetics/sequenced_gearshift' }, - { id: 'create:crafting/kinetics/rotation_speed_controller' }, - { id: 'create:crafting/kinetics/track_signal' }, - { id: 'create:crafting/kinetics/track_observer' }, - { id: 'create:crafting/kinetics/controls' }, - { id: 'create:crafting/logistics/content_observer' }, - { id: 'create:crafting/logistics/stockpile_switch' }, - { id: 'create:crafting/logistics/display_link' }, - { id: 'create:crafting/kinetics/nixie_tube' }, - { id: 'create:crafting/logistics/redstone_link' }, - { id: 'create:crafting/kinetics/analog_lever' }, - { id: 'create:crafting/kinetics/placard' }, - { id: 'create:crafting/logistics/pulse_repeater' }, - { id: 'create:crafting/logistics/pulse_extender' }, - { id: 'create:crafting/logistics/powered_latch' }, - { id: 'create:crafting/logistics/powered_toggle_latch' }, - { id: 'create:crafting/kinetics/crafter_slot_cover' }, - { id: 'create:crafting/kinetics/vertical_gearboxfrom_conversion' }, - { id: 'create:crafting/kinetics/goggles' }, - { id: 'create:crafting/kinetics/wrench' }, - { id: 'create:crafting/kinetics/contraption_controls' }, - { id: 'create:crafting/appliances/linked_controller' }, - { id: 'create:crafting/appliances/filter_clear' }, - { id: 'create:crafting/appliances/attribute_filter_clear' }, - { id: 'create:crafting/appliances/schedule_clear' }, - { id: 'create:crafting/schematics/empty_schematic' }, - { id: 'create:crafting/schematics/schematic_and_quill' }, - { id: 'create:crafting/curiosities/brown_toolbox' }, - { id: 'create:crafting/appliances/clipboard_clear' }, - { id: 'create:crafting/kinetics/andesite_door' }, - { id: 'create:crafting/kinetics/brass_door' }, - { id: 'create:crafting/kinetics/copper_door' }, - { id: 'create:crafting/kinetics/train_door' }, - { id: 'create:crafting/kinetics/train_trapdoor' }, - { id: 'create:crafting/kinetics/white_seat' }, - { id: 'create:crafting/kinetics/orange_seat' }, - { id: 'create:crafting/kinetics/magenta_seat' }, - { id: 'create:crafting/kinetics/light_blue_seat' }, - { id: 'create:crafting/kinetics/yellow_seat' }, - { id: 'create:crafting/kinetics/lime_seat' }, - { id: 'create:crafting/kinetics/pink_seat' }, - { id: 'create:crafting/kinetics/gray_seat' }, - { id: 'create:crafting/kinetics/light_gray_seat' }, - { id: 'create:crafting/kinetics/cyan_seat' }, - { id: 'create:crafting/kinetics/purple_seat' }, - { id: 'create:crafting/kinetics/blue_seat' }, - { id: 'create:crafting/kinetics/brown_seat' }, - { id: 'create:crafting/kinetics/green_seat' }, - { id: 'create:crafting/kinetics/red_seat' }, - { id: 'create:crafting/kinetics/black_seat' }, - { id: 'create:compat/ae2/mixing/fluix_crystal' }, - { id: 'create:sequenced_assembly/precision_mechanism' }, - { id: 'create:crafting/logistics/content_observer' }, - { id: 'create:milling/bone' }, - ], mod: 'create' }) - - // Train Station - event.shapeless('2x create:track_station', [ - 'create:railway_casing', - 'firmaciv:firmaciv_compass' - ]).id('create:crafting/kinetics/track_station') - - // Speedometer - event.shapeless('create:speedometer', [ - 'create:andesite_casing', - 'firmaciv:firmaciv_compass' - ]).id('create:crafting/kinetics/speedometer') - - // Пушка для постройки схематик - event.shaped('create:schematicannon', [ - ' A ', - 'BAB', - 'CDC' - ], { - A: '#forge:storage_blocks/wrought_iron', - B: '#minecraft:logs', - C: '#tfc:rock/smooth', - D: 'minecraft:dispenser', - }).id('tfg:create/shaped/schematicannon') - - // Стол для схематик - event.shaped('create:schematic_table', [ - 'AAA', - ' B ', - ' B ' - ], { - A: '#minecraft:wooden_slabs', - B: '#tfg:rock_walls' - }).id('tfg:create/shaped/schematic_table') - - // Вал - event.shaped('8x create:shaft', [ - 'A ', - 'AB' - ], { - A: '#forge:ingots/wrought_iron', - B: '#forge:tools/files' - }).id('tfg:create/shaped/shaft') - - event.recipes.gtceu.assembler('create/shaft') - .itemInputs('#forge:ingots/wrought_iron') - .itemOutputs('6x create:shaft') - .duration(75) - .EUt(2) - - // Малая шестерня - event.shaped('create:cogwheel', [ - ' A ', - 'ABA', - ' A ' - ], { - A: 'gtceu:treated_wood_plate', - B: 'create:shaft' - }).id('tfg:create/shapeless/cogwheel') - - // Большая шестерня - event.shaped('create:large_cogwheel', [ - ' A ', - 'ABA', - ' A ' - ], { - A: 'gtceu:treated_wood_plate', - B: 'create:cogwheel' - }).id('tfg:create/shaped/large_cogwheel') - - // Внутриблочный двигатель цепи - event.shapeless('create:encased_chain_drive', [ - 'create:andesite_casing', - '#forge:plates/wrought_iron', - '#forge:plates/wrought_iron', - '#forge:plates/wrought_iron' - ]).id('tfg:create/shapeless/encased_chain_drive') - - // Механический пресс - event.shaped('create:mechanical_press', [ - 'A', - 'B', - 'C' - ], { - A: 'create:shaft', - B: 'create:andesite_casing', - C: '#forge:storage_blocks/wrought_iron', - }).id('tfg:create/shaped/mechanical_press') - - // Сопло - event.shaped('create:nozzle', [ - 'ABA', - 'ACA', - 'BBB' - ], { - A: '#forge:rods/wrought_iron', - B: '#forge:plates/wrought_iron', - C: '#minecraft:wool' - }).id('tfg:create/shaped/nozzle') - - // Ручка, чтобы люто крутить - event.shaped('create:hand_crank', [ - 'AAA', - ' B' - ], { - A: '#tfc:lumber', - B: '#forge:rods/wrought_iron' - }).id('tfg:create/shaped/hand_crank') - - // Колесо для дробления - event.recipes.createMechanicalCrafting('2x create:crushing_wheel', [ - ' AAA ', - 'AABAA', - 'ABCBA', - 'AABAA', - ' AAA ' - ], { - A: '#forge:plates/wrought_iron', - B: '#minecraft:planks', - C: '#tfc:rock/hardened' - }).id('tfg:create/mechanical_crafting/crushing_wheel') - - // Железный веник - event.shaped('create:whisk', [ - 'ABA', - 'ACA', - 'AAA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:rods/long/wrought_iron', - C: '#forge:rings/wrought_iron' - }).id('tfg:create/shaped/whisk') - - // Емкость для миксера - event.shaped('create:basin', [ - 'ABA', - 'AAA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:tools/hammers' - }).id('tfg:create/shaped/basin') - - event.recipes.gtceu.assembler('tfg:create/basin') - .itemInputs('5x #forge:plates/wrought_iron') - .circuit(3) - .itemOutputs('create:basin') - .duration(200) - .EUt(20) - - // Место куда можно что то положить - event.shapeless('create:depot', [ - 'create:andesite_casing', - '#forge:double_plates/wrought_iron' - ]).id('tfg:create/shapeless/depot') - - // Лоток - event.shaped('create:chute', [ - 'A ', - 'AB', - 'A ' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:tools/hammers' - }).id('tfg:create/shaped/chute') - - event.recipes.gtceu.assembler('tfg:create/chute') - .itemInputs('3x #forge:plates/wrought_iron') - .circuit(4) - .itemOutputs('create:chute') - .duration(200) - .EUt(20) - - // Металлический держатель - event.shaped('create:metal_bracket', [ - 'AAA', - 'BBB' - ], { - A: '#forge:nuggets/wrought_iron', - B: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/metal_bracket') - - // Жидкостная труба - event.shaped('create:fluid_pipe', [ - ' B ', - 'BAB', - ' B ' - ], { - A: '#forge:tools/hammers', - B: '#forge:plates/copper' - }).id('tfg:create/shaped/fluid_pipe') - - event.recipes.gtceu.assembler('tfg:create/fluid_pipe') - .itemInputs('4x #forge:plates/copper') - .circuit(3) - .itemOutputs('create:fluid_pipe') - .duration(200) - .EUt(20) - - // Жидкостный люк - event.shapeless('create:fluid_valve', [ - 'create:fluid_pipe', - '#forge:plates/wrought_iron' - ]).id('tfg:create/shapeless/fluid_valve') - - // Ручка жидкостного люка - event.shaped('create:copper_valve_handle', [ - 'AAA', - 'BCD' - ], { - A: '#forge:plates/copper', - B: '#forge:tools/hammers', - C: '#forge:gears/wrought_iron', - D: '#forge:tools/files' - }).id('tfg:create/shaped/copper_valve_handle') - - event.recipes.gtceu.assembler('tfg:create/copper_valve_handle') - .itemInputs('4x #forge:plates/copper', '#forge:gears/wrought_iron') - .circuit(6) - .itemOutputs('create:copper_valve_handle') - .duration(200) - .EUt(20) - - // Жидкостный резервуар - event.shaped('create:fluid_tank', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:screws/copper', - B: '#forge:plates/copper', - C: '#forge:glass_panes' - }).id('tfg:create/shaped/fluid_tank') - - // Шкив для шланга - event.shaped('create:hose_pulley', [ - 'A', - 'B', - 'C' - ], { - A: 'create:copper_casing', - B: '#forge:foils/rubber', - C: '#forge:plates/copper' - }).id('tfg:create/shaped/hose_pulley') - - // Слив из предметов - event.shaped('create:item_drain', [ - 'A', - 'B' - ], { - A: '#tfg:metal_bars', - B: 'create:copper_casing' - }).id('tfg:create/shaped/item_drain') - - // Жидкостный наполнитель - event.shaped('create:spout', [ - 'B', - 'A' - ], { - A: '#forge:foils/rubber', - B: 'create:copper_casing' - }).id('tfg:create/shaped/spout') - - // Паровой двигатель - event.shaped('create:steam_engine', [ - 'ABA', - 'CDC', - 'EFG' - ], { - A: '#forge:screws/wrought_iron', - B: '#forge:plates/brass', - C: '#forge:rods/wrought_iron', - D: '#forge:gears/wrought_iron', - E: '#forge:tools/hammers', - F: '#forge:storage_blocks/copper', - G: '#forge:tools/screwdrivers', - }).id('tfg:create/shaped/steam_engine') - - event.recipes.gtceu.assembler('tfg:create/steam_engine') - .itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/wrought_iron', '#forge:gears/wrought_iron', '#forge:storage_blocks/copper') - .circuit(3) - .itemOutputs('create:steam_engine') - .duration(200) - .EUt(32) - - // Паровой свисток - event.shaped('create:steam_whistle', [ - 'AC', - 'BD' - ], { - A: '#forge:plates/brass', - B: '#forge:rings/gold', - C: '#forge:tools/hammers', - D: '#forge:tools/files' - }).id('tfg:create/shaped/steam_whistle') - - event.recipes.gtceu.assembler('tfg:create/steam_whistle') - .itemInputs('#forge:plates/brass', '#forge:rings/gold') - .circuit(5) - .itemOutputs('create:steam_whistle') - .duration(200) - .EUt(4) - - // Рука поршня - event.shaped('8x create:piston_extension_pole', [ - 'A ', - 'BC', - 'A ' - ], { - A: '#minecraft:planks', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/hammers' - }).id('tfg:create/shaped/piston_extension_pole') - - event.recipes.gtceu.assembler('tfg:create/piston_extension_pole') - .itemInputs('2x #minecraft:planks', '#forge:plates/wrought_iron') - .circuit(3) - .itemOutputs('8x create:piston_extension_pole') - .duration(200) - .EUt(20) - - // Редстоуновый вал - event.shaped('create:gantry_shaft', [ - 'A ', - 'BC', - 'A ' - ], { - A: '#forge:plates/wrought_iron', - B: 'gtceu:red_alloy_single_wire', - C: '#forge:tools/hammers' - }).id('tfg:create/shaped/gantry_shaft') - - event.recipes.gtceu.assembler('tfg:create/gantry_shaft') - .itemInputs('gtceu:red_alloy_single_wire', '2x #forge:plates/wrought_iron') - .circuit(3) - .itemOutputs('create:gantry_shaft') - .duration(200) - .EUt(20) - - // Канатный шкиф - event.shaped('create:rope_pulley', [ - 'A', - 'B', - 'C' - ], { - A: 'create:andesite_casing', - B: '#minecraft:wool', - C: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/rope_pulley') - - // Шкиф подъемника - event.shaped('create:elevator_pulley', [ - 'A', - 'B', - 'C' - ], { - A: 'create:brass_casing', - B: 'tfc:bellows', - C: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/elevator_pulley') - - // Сборщик вагонеток - event.shaped('create:cart_assembler', [ - 'ABA', - 'C C' - ], { - A: '#forge:plates/steel', - B: 'gtceu:red_alloy_single_wire', - C: '#minecraft:logs' - }).id('tfg:create/shaped/cart_assembler') - - // Контроллер рельсы - event.shaped('create:controller_rail', [ - 'ABA', - 'ACA', - 'ABA' - ], { - A: '#forge:rods/gold', - B: '#tfc:can_be_lit_on_torch', - C: 'create:electron_tube' - }).id('tfg:create/shaped/controller_rail') - - // Линейный переход - event.shaped('3x create:linear_chassis', [ - 'ABA', - 'CCC', - 'ABA' - ], { - A: '#forge:screws/wrought_iron', - B: '#forge:plates/wrought_iron', - C: '#minecraft:logs' - }).id('tfg:create/shaped/linear_chassis') - - // Радиальный переход - event.shaped('3x create:radial_chassis', [ - 'ACA', - 'BCB', - 'ACA' - ], { - A: '#forge:screws/wrought_iron', - B: '#forge:plates/wrought_iron', - C: '#minecraft:logs' - }).id('tfg:create/shaped/radial_chassis') - - // Умный липкий поршень - event.shaped('create:sticker', [ - 'ABA', - 'CDC' - ], { - A: '#forge:plates/wrought_iron', - B: 'tfc:glue', - C: '#forge:cobblestone', - D: '#forge:dusts/redstone' - }).id('tfg:create/shaped/sticker') - - // Механическая бурилка - event.shaped('create:mechanical_drill', [ - 'ABA', - 'BCB', - 'ADA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:drill_heads', - C: 'create:cogwheel', - D: 'create:andesite_casing' - }).id('tfg:create/shaped/mechanical_drill') - - // Механическая пила - event.shaped('create:mechanical_saw', [ - 'ABA', - 'BCB', - 'ADA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:buzz_saw_heads', - C: 'create:cogwheel', - D: 'create:andesite_casing' - }).id('tfg:create/shaped/mechanical_saw') - - // Редстоуновый контакт - event.shaped('2x create:redstone_contact', [ - 'DCE', - 'ABA', - 'AAA' - ], { - A: '#forge:cobblestone', - B: '#forge:dusts/redstone', - C: '#forge:plates/wrought_iron', - D: '#forge:screws/bronze', - E: '#forge:tools/screwdrivers' - }).id('tfg:create/shaped/redstone_contact') - - event.recipes.gtceu.assembler('tfg:create/redstone_contact') - .itemInputs('5x #forge:cobblestone', '#forge:dusts/redstone', '#forge:plates/wrought_iron', '#forge:screws/bronze') - .circuit(3) - .itemOutputs('2x create:redstone_contact') - .duration(200) - .EUt(20) - - // Механический собиратель - event.shaped('create:mechanical_harvester', [ - 'ABA', - 'ABA', - 'CDE' - ], { - A: '#forge:shovel_heads', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/hammers', - D: 'create:andesite_casing', - E: '#forge:tools/wrenches' - }).id('tfg:create/shaped/mechanical_harvester') - - event.recipes.gtceu.assembler('tfg:create/mechanical_harvester') - .itemInputs('4x #forge:shovel_heads', '2x #forge:plates/wrought_iron', 'create:andesite_casing') - .circuit(3) - .itemOutputs('create:mechanical_harvester') - .duration(200) - .EUt(20) - - // Механический плуг - event.shaped('create:mechanical_plough', [ - 'ABA', - 'ABA', - 'CDE' - ], { - A: '#forge:hoe_heads', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/hammers', - D: 'create:andesite_casing', - E: '#forge:tools/wrenches' - }).id('tfg:create/shaped/mechanical_plough') - - event.recipes.gtceu.assembler('tfg:create/mechanical_plough') - .itemInputs('4x #forge:hoe_heads', '2x #forge:plates/wrought_iron', 'create:andesite_casing') - .circuit(4) - .itemOutputs('create:mechanical_plough') - .duration(200) - .EUt(20) - - // Create sail creation using custom sail items. - - event.shaped('8x create:sail_frame',[ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:lumber', - C: '' - }).id('tfg:create/shaped/sail_frame') - - event.shaped('8x create:white_sail', [ - 'AAA', - 'ABA', - 'AAA' - ], { - A: 'create:sail_frame', - B: '#tfg:usable_in_sail_frame' - }).id('tfg:create/shaped/white_sail') - - - // Андезитовый корпус - event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) - .id('tfg:create/item_application/andesite_casing') - - event.recipes.gtceu.assembler('tfg:create/andesite_casing') - .itemInputs('#minecraft:logs', '#forge:plates/wrought_iron') - .circuit(10) - .itemOutputs('create:andesite_casing') - .duration(50) - .EUt(4) - - // Латунный корпус - event.recipes.createItemApplication(['create:brass_casing'], ['#minecraft:logs', '#forge:plates/brass']) - .id('tfg:create/item_application/brass_casing') - - event.recipes.gtceu.assembler('tfg:create/brass_casing') - .itemInputs('#minecraft:logs', '#forge:plates/brass') - .circuit(10) - .itemOutputs('create:brass_casing') - .duration(50) - .EUt(4) - - // Медный корпус - event.recipes.createItemApplication(['create:copper_casing'], ['#minecraft:logs', '#forge:plates/copper']) - .id('tfg:create/item_application/copper_casing') - - event.recipes.gtceu.assembler('tfg:create/copper_casing') - .itemInputs('#minecraft:logs', '#forge:plates/copper') - .circuit(10) - .itemOutputs('create:copper_casing') - .duration(50) - .EUt(4) - - // Корпус поезда - event.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/steel']) - .id('tfg:create/item_application/railway_casing') - - event.recipes.gtceu.assembler('tfg:create/railway_casing') - .itemInputs('create:brass_casing', '#forge:plates/steel') - .circuit(10) - .itemOutputs('create:railway_casing') - .duration(50) - .EUt(4) - - // Механический крафтер - event.shaped('create:mechanical_crafter', [ - 'A', - 'B', - 'C' - ], { - A: 'create:electron_tube', - B: 'create:brass_casing', - C: '#tfc:workbenches' - }).id('tfg:create/shaped/mechanical_crafter') - - // Маховик - event.shaped('create:flywheel', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:plates/brass', - B: '#forge:rods/wrought_iron', - C: 'create:shaft' - }).id('tfg:create/shaped/flywheel') - - // Механическая рука - event.shaped('create:mechanical_arm', [ - 'AAB', - 'AGE', - 'CDF' - ], { - A: '#forge:plates/brass', - B: '#forge:rods/wrought_iron', - C: 'create:precision_mechanism', - D: 'create:brass_casing', - E: '#forge:tools/hammers', - F: '#forge:tools/wrenches', - G: '#forge:screws/wrought_iron' - }).id('tfg:create/shaped/mechanical_arm') - - event.recipes.gtceu.assembler('tfg:create/mechanical_arm') - .itemInputs('3x #forge:plates/brass', '#forge:rods/wrought_iron', 'create:precision_mechanism', 'create:brass_casing', '#forge:screws/wrought_iron') - .circuit(3) - .itemOutputs('create:mechanical_arm') - .duration(200) - .EUt(20) - - // Наблюдатель за поездом - event.shapeless('create:track_observer', [ - 'create:railway_casing', - '#minecraft:stone_pressure_plates' - ]).id('tfg:create/shapeless/track_observer') - - // Сейф - event.shaped('create:item_vault', [ - 'CBC', - 'AAA', - 'CDC' - ], { - A: '#forge:chests/wooden', - B: '#forge:sheets/wrought_iron', - C: '#forge:screws/steel', - D: '#forge:tools/screwdrivers' - }).id('tfg:create/shaped/item_vault') - - event.recipes.gtceu.assembler('tfg:create/item_vault') - .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel') - .circuit(3) - .itemOutputs('create:item_vault') - .duration(200) - .EUt(20) - - // Умный раздатчик/приемник из железа - event.shaped('2x create:andesite_funnel', [ - 'AAA', - 'ABA', - 'ABA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:foils/rubber' - }).id('tfg:create/shaped/andesite_funnel') - - // Умный раздатчик/приемник из латуни - event.shaped('2x create:brass_funnel', [ - 'AAA', - 'ABA', - 'ABA' - ], { - A: '#forge:plates/brass', - B: '#forge:foils/rubber' - }).id('tfg:create/shaped/brass_funnel') - - // Тунель из железа - event.shaped('create:andesite_tunnel', [ - 'C ', - 'AA', - 'BB' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:foils/rubber', - C: 'create:electron_tube' - }).id('tfg:create/shaped/andesite_tunnel') - - // Тунель из латуни - event.shaped('create:brass_tunnel', [ - 'C ', - 'AA', - 'BB' - ], { - A: '#forge:plates/brass', - B: '#forge:foils/rubber', - C: 'create:electron_tube' - }).id('tfg:create/shaped/brass_tunnel') - - // Дисплей столешница (чзх) - event.shaped('create:display_board', [ - ' A ', - 'BCB', - ' A ' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:rings/wrought_iron', - C: 'create:cogwheel' - }).id('tfg:create/shaped/display_board') - - // Пропеллер - event.shaped('create:propeller', [ - 'AB ', - 'BCB', - ' BA' - ], { - A: '#forge:tools/hammers', - B: '#forge:plates/wrought_iron', - C: '#forge:rotors' - }).id('tfg:create/shaped/propeller') - - event.recipes.gtceu.assembler('tfg:create/propeller') - .itemInputs('4x #forge:plates/wrought_iron', '#forge:rotors') - .circuit(3) - .itemOutputs('create:propeller') - .duration(200) - .EUt(20) - - // Латунная рука - event.shaped('create:brass_hand', [ - ' AB', - 'CCA', - ' C ' - ], { - A: '#forge:tools/hammers', - B: '#forge:nuggets/brass', - C: '#forge:plates/brass' - }).id('tfg:create/shaped/brass_hand') - - event.recipes.gtceu.assembler('tfg:create/brass_hand') - .itemInputs('3x #forge:nuggets/brass', '#forge:plates/brass') - .circuit(3) - .itemOutputs('create:brass_hand') - .duration(200) - .EUt(20) - - // Электронная трубка - event.shaped('create:electron_tube', [ - ' A ', - 'BCB', - 'DED' - ], { - A: 'gtceu:glass_tube', - B: '#gtceu:resistors', - C: 'gtceu:resin_circuit_board', - D: 'gtceu:red_alloy_single_wire', - E: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/electron_tube') - - event.shaped('2x create:electron_tube', [ - ' A ', - 'BCB', - 'DED' - ], { - A: 'gtceu:glass_tube', - B: '#gtceu:resistors', - C: 'gtceu:plastic_circuit_board', - D: 'gtceu:red_alloy_single_wire', - E: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/electron_tube2') - - event.shaped('3x create:electron_tube', [ - ' A ', - ' B ', - ' C ' - ], { - A: 'gtceu:glass_tube', - B: 'gtceu:nand_chip', - C: '#forge:plates/wrought_iron' - }).id('tfg:create/shaped/electron_tube3') - - // Тюбик с клеем - event.shaped('create:super_glue', [ - 'BA', - 'CB' - ], { - A: '#forge:plates/wrought_iron', - B: 'tfc:glue', - C: '#forge:nuggets/wrought_iron' - }).id('tfg:create/shaped/super_glue') - - // Соединятор вагонеток - event.shapeless('create:minecart_coupling', [ - '#tfg:metal_chains', - '#forge:bolts', - '#tfg:metal_chains', - '#forge:bolts', - '#tfg:metal_chains', - '#forge:tools/hammers' - ]).id('tfg:create/shapeless/minecart_coupling') - - event.recipes.gtceu.assembler('tfg:create/minecart_coupling') - .itemInputs('3x #tfg:metal_chains', '2x #forge:bolts') - .circuit(1) - .itemOutputs('create:minecart_coupling') - .duration(200) - .EUt(20) - - // Блупринт создания - event.shapeless('create:crafting_blueprint', [ - 'minecraft:painting', - '#tfc:workbenches' - ]).id('tfg:create/shapeless/crafting_blueprint') - - // Медная бочка на спину - event.shaped('create:copper_backtank', [ - 'ABA', - 'CDC', - ' C ' - ], { - A: '#forge:screws/wrought_iron', - B: 'create:shaft', - C: '#forge:plates/copper', - D: 'create:fluid_tank' - }).id('tfg:create/shaped/copper_backtank') - - // Шлем для дайвинга - event.shaped('create:copper_diving_helmet', [ - 'ABA', - 'CDC' - ], { - A: '#forge:plates/copper', - B: 'tfc:metal/helmet/copper', - C: 'gtceu:polyethylene_tiny_fluid_pipe', - D: '#forge:glass_panes' - }).id('tfg:create/shaped/copper_diving_helmet') - - // Ботинки для дайвинга - event.shaped('create:copper_diving_boots', [ - 'ABA', - 'CDC' - ], { - A: '#forge:plates/copper', - B: 'tfc:metal/boots/copper', - C: 'gtceu:polyethylene_tiny_fluid_pipe', - D: '#forge:foils/rubber' - }).id('tfg:create/shaped/copper_diving_boots') - - // Херь, увеличивающая дистанцию копки - event.recipes.createMechanicalCrafting('create:extendo_grip', [ - ' A ', - ' B ', - 'CCC', - 'CCC', - ' D ' - ], { - A: '#forge:plates/brass', - B: 'create:precision_mechanism', - C: '#forge:rods/wooden', - D: 'create:brass_hand' - }).id('tfg:create/mechanical_crafting/extendo_grip') - - // Херь, устанавливающая блоки зеркально - event.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ - ' A ', - ' ABA ', - ' C ', - ' D ', - ' E ' - ], { - A: '#forge:glass', - B: 'minecraft:redstone_lamp', - C: 'create:precision_mechanism', - D: '#forge:plates/brass', - E: 'minecraft:obsidian' - }).id('tfg:create/mechanical_crafting/wand_of_symmetry') - - // Фильтр список - event.shaped('create:filter', [ - 'ABA' - ], { - A: '#forge:nuggets/wrought_iron', - B: '#minecraft:wool' - }).id('tfg:create/shaped/filter') - - // Фильтр аттрибутов - event.shaped('create:attribute_filter', [ - 'ABA' - ], { - A: '#forge:nuggets/brass', - B: '#minecraft:wool' - }).id('tfg:create/shaped/attribute_filter') - - // Расписание поездов - event.shapeless('4x create:schedule', [ - 'minecraft:paper', - '#forge:dyes/black' - ]).id('tfg:create/shapeless/schedule') - - // Дневник - event.shaped('create:clipboard', [ - 'A', - 'B', - 'C' - ], { - A: '#forge:bolts/wrought_iron', - B: '#forge:plates/wood', - C: 'minecraft:paper' - }).id('tfg:create/shaped/clipboard') - - // Лестница из железа - event.shaped('6x create:andesite_ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#forge:rods/wrought_iron' - }).id('tfg:create/shaped/andesite_ladder') - - // Лестница из латуни - event.shaped('6x create:brass_ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#forge:rods/brass' - }).id('tfg:create/shaped/brass_ladder') - - // Лестница из железа - event.shaped('6x create:copper_ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#forge:rods/copper' - }).id('tfg:create/shaped/copper_ladder') - - // Леса из железа - event.shaped('4x create:andesite_scaffolding', [ - 'AAA', - 'A A' - ], { - A: '#forge:rods/wrought_iron' - }).id('tfg:create/shaped/andesite_scaffolding') - - // Леса из латуни - event.shaped('4x create:brass_scaffolding', [ - 'AAA', - 'A A' - ], { - A: '#forge:rods/brass' - }).id('tfg:create/shaped/brass_scaffolding') - - // Леса из железа - event.shaped('4x create:copper_scaffolding', [ - 'AAA', - 'A A' - ], { - A: '#forge:rods/copper' - }).id('tfg:create/shaped/copper_scaffolding') - - // Цинковая ступень - event.shapeless('create:copycat_step', [ - '#forge:plates/zinc', - '#forge:tools/files' - ]).id('tfg:create/shapeless/copycat_step') - - // Цинковая панель - event.shapeless('create:copycat_panel', [ - '#forge:double_plates/zinc', - '#forge:tools/files' - ]).id('tfg:create/shapeless/copycat_panel') - - event.recipes.gtceu.assembler('tfg:create/copycat_panel') - .itemInputs('#forge:double_plates/zinc') - .circuit(5) - .itemOutputs('create:copycat_panel') - .duration(200) - .EUt(20) - - // Деталь рельса - event.shaped('3x create:metal_girder', [ - 'AAA', - 'BBB' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:nuggets/wrought_iron' - }).id('tfg:create/shaped/metal_girder') - - // Стеклянная дверь - event.shapeless('create:framed_glass_door', [ - '#minecraft:wooden_doors', - 'minecraft:glass_pane' - ]).id('tfg:create/shapeless/framed_glass_door') - - // Стеклянный люк - event.shapeless('create:framed_glass_trapdoor', [ - '#minecraft:wooden_trapdoors', - 'minecraft:glass_pane' - ]).id('tfg:create/shapeless/framed_glass_trapdoor') - - // - event.recipes.createMechanicalCrafting('create:potato_cannon', [ - 'ABCCC', - 'DD ' - ], { - A: '#forge:screws/copper', - B: 'create:precision_mechanism', - C: 'create:fluid_pipe', - D: '#forge:plates/copper' - }).id('tfg:create/mechanical_crafting/potato_cannon') - - // Липкий механический поршень - event.shaped('create:sticky_mechanical_piston', [ - 'A', - 'B' - ], { - A: 'tfc:glue', - B: 'create:mechanical_piston' - }).id('tfg:create/shaped/sticky_mechanical_piston_from_glue') - - event.shaped('create:sticky_mechanical_piston', [ - 'A', - 'B', - 'C' - ], { - A: '#forge:tools/hammers', - B: 'gtceu:sticky_resin', - C: 'create:mechanical_piston', - }).id('tfg:create/shaped/sticky_mechanical_piston_from_sticky_resin') - - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_liquid_glue') - .itemInputs('create:mechanical_piston') - .inputFluids(Fluid.of('gtceu:glue', 100)) - .itemOutputs('create:sticky_mechanical_piston') - .duration(100) - .EUt(4) - - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_slimeball') - .itemInputs('create:mechanical_piston', 'minecraft:slimeball') - .itemOutputs('create:sticky_mechanical_piston') - .duration(100) - .EUt(4) - - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_sticky_resin') - .itemInputs('create:mechanical_piston', 'gtceu:sticky_resin') - .itemOutputs('create:sticky_mechanical_piston') - .duration(100) - .EUt(4) - - // Ремень - event.recipes.tfc.knapping('create:belt_connector', 'tfc:leather', [ - " XXX ", - " XXX ", - " XXX ", - " XXX ", - " XXX ", - ]).ingredient('#tfc:leather_knapping').id('tfg:create/shaped/belt_connector') - - event.recipes.gtceu.assembler('tfg:create/belt_connector') - .itemInputs('minecraft:leather') - .circuit(2) - .itemOutputs('create:belt_connector') - .duration(25) - .EUt(16) - - //#region Покраска ручек от люка - - event.recipes.tfc.barrel_sealed(1000) - .inputs('#tfg:colored_valve_handles', Fluid.of(`tfc:lye`, 25)) - .outputItem(`create:copper_valve_handle`) - .id(`barrel/create/valve_handle_decolor`) - - event.recipes.gtceu.chemical_bath(`create/valve_handle_decolor`) - .itemInputs('#tfg:colored_valve_handles') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs('create:copper_valve_handle') - .duration(150) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.tfc.barrel_sealed(1000) - .inputs('create:copper_valve_handle', Fluid.of(`tfc:${dye}_dye`, 25)) - .outputItem(`create:${dye}_valve_handle`) - .id(`barrel/create/${dye}_valve_handle`) - - event.recipes.gtceu.chemical_bath(`create/${dye}_valve_handle`) - .itemInputs('create:copper_valve_handle') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 144)) - .itemOutputs(`create:${dye}_valve_handle`) - .duration(300) - .EUt(4) - }) - - //#endregion - - //#region Покраска тулбоксов - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - if (dye != 'brown') { - event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) - - event.recipes.tfc.barrel_sealed(1000) - .inputs('create:brown_toolbox', Fluid.of(`tfc:${dye}_dye`, 50)) - .outputItem(`create:${dye}_toolbox`) - .id(`barrel/create/${dye}_toolbox`) - - event.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) - .itemInputs('create:brown_toolbox') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 96)) - .itemOutputs(`create:${dye}_toolbox`) - .duration(200) - .EUt(4) - } - - }) - - //#endregion - - //#region Покраска сидушек - - event.recipes.tfc.barrel_sealed(1000) - .inputs('#tfg:colored_seats', Fluid.of(`tfc:lye`, 25)) - .outputItem(`create:white_seat`) - .id(`barrel/create/seat_decolor`) - - event.recipes.gtceu.chemical_bath(`create/seat_decolor`) - .itemInputs('#tfg:colored_seats') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs('create:white_seat') - .duration(200) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - if (dye != "white") { - - event.recipes.tfc.barrel_sealed(1000) - .inputs(`create:white_seat`, Fluid.of(`tfc:${dye}_dye`, 50)) - .outputItem(`create:${dye}_seat`) - .id(`barrel/create/${dye}_seat`) - - event.recipes.gtceu.chemical_bath(`create/${dye}_seat`) - .itemInputs(`create:white_seat`) - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 144)) - .itemOutputs(`create:${dye}_seat`) - .duration(300) - .EUt(4) - } - }) - - //#endregion - - //#region Механизм точности - - event.recipes.gtceu.assembler('tfg:create/precision_mechanism') - .itemInputs('#forge:sheets/gold','3x create:cogwheel', '3x create:large_cogwheel', '3x #forge:nuggets/iron') - .itemOutputs('create:precision_mechanism') - .duration(2000) - .EUt(20) - - //#endregion - - //#region Blaze burner - - event.shaped('create:blaze_burner', [ - 'B B', - 'BAB', - 'CCC' - ], { - A: 'minecraft:coal_block', - B: 'tfc:metal/bars/blue_steel', - C: 'gtceu:blue_steel_plate', - }).id('tfg:create/shaped/blaze_burner') - + + // Удаление рецептов мода create + event.remove({ + not: [ + { id: 'create:crafting/kinetics/adjustable_chain_gearshift' }, + { id: 'create:crafting/kinetics/cuckoo_clock' }, + { id: 'create:crafting/kinetics/mysterious_cuckoo_clock' }, + { id: 'create:crafting/kinetics/smart_chute' }, + { id: 'create:crafting/kinetics/speedometerfrom_conversion' }, + { id: 'create:crafting/kinetics/stressometerfrom_conversion' }, + { id: 'create:crafting/kinetics/smart_fluid_pipe' }, + { id: 'create:crafting/kinetics/portable_fluid_interface' }, + { id: 'create:crafting/kinetics/clockwork_bearing' }, + { id: 'create:crafting/kinetics/linear_chassisfrom_conversion' }, + { id: 'create:crafting/kinetics/secondary_linear_chassisfrom_conversion' }, + { id: 'create:crafting/kinetics/portable_storage_interface' }, + { id: 'create:crafting/kinetics/track_signal' }, + { id: 'create:crafting/kinetics/track_observer' }, + { id: 'create:crafting/kinetics/controls' }, + { id: 'create:crafting/logistics/content_observer' }, + { id: 'create:crafting/logistics/stockpile_switch' }, + { id: 'create:crafting/kinetics/nixie_tube' }, + { id: 'create:crafting/kinetics/analog_lever' }, + { id: 'create:crafting/kinetics/placard' }, + { id: 'create:crafting/logistics/pulse_repeater' }, + { id: 'create:crafting/logistics/pulse_extender' }, + { id: 'create:crafting/logistics/powered_latch' }, + { id: 'create:crafting/logistics/powered_toggle_latch' }, + { id: 'create:crafting/kinetics/crafter_slot_cover' }, + { id: 'create:crafting/appliances/linked_controller' }, + { id: 'create:crafting/appliances/filter_clear' }, + { id: 'create:crafting/appliances/attribute_filter_clear' }, + { id: 'create:crafting/appliances/schedule_clear' }, + { id: 'create:crafting/schematics/empty_schematic' }, + { id: 'create:crafting/schematics/schematic_and_quill' }, + { id: 'create:crafting/appliances/clipboard_clear' }, + { id: 'create:crafting/kinetics/andesite_door' }, + { id: 'create:crafting/kinetics/brass_door' }, + { id: 'create:crafting/kinetics/copper_door' }, + { id: 'create:crafting/kinetics/train_door' }, + { id: 'create:crafting/kinetics/train_trapdoor' }, + { id: 'create:crafting/logistics/content_observer' }, + { type: 'minecraft:stonecutting' } + ], mod: 'create' + }) + + // Train Station + event.shapeless('2x create:track_station', [ + 'create:railway_casing', + 'firmaciv:firmaciv_compass' + ]).id('create:crafting/kinetics/track_station') + + // Speedometer + event.shapeless('create:speedometer', [ + 'create:andesite_casing', + 'firmaciv:firmaciv_compass' + ]).id('create:crafting/kinetics/speedometer') + + // Пушка для постройки схематик + event.shaped('create:schematicannon', [ + 'DE ', + 'CAC' + ], { + A: '#forge:storage_blocks/wrought_iron', + C: '#tfc:rock/smooth', + D: 'minecraft:dispenser', + E: 'firmaciv:cannon' + }).id('tfg:create/shaped/schematicannon') + + // Стол для схематик + event.shaped('create:schematic_table', [ + 'AAA', + 'CB ', + ' B ' + ], { + A: '#minecraft:wooden_slabs', + B: '#tfg:rock_walls', + C: '#forge:tools/saws' + }).id('tfg:create/shaped/schematic_table') + + // Внутриблочный двигатель цепи + event.shapeless('create:encased_chain_drive', [ + 'create:andesite_casing', + '#tfg:metal_chains', + '#tfg:metal_chains', + '#tfg:metal_chains', + '#tfg:metal_chains' + ]).id('tfg:create/shapeless/encased_chain_drive') + + // Сопло + event.shaped('create:nozzle', [ + 'ABA', + 'ACA' + ], { + A: '#forge:rods/wrought_iron', + B: '#forge:plates/wrought_iron', + C: '#forge:cloth' + }).id('tfg:create/shaped/nozzle') + + // Ручка, чтобы люто крутить + event.shaped('create:hand_crank', [ + 'AAA', + ' B' + ], { + A: '#tfc:lumber', + B: '#forge:rods/bismuth_bronze' + }).id('tfg:create/shaped/hand_crank_bismuth_bronze') + + event.shaped('create:hand_crank', [ + 'AAA', + ' B' + ], { + A: '#tfc:lumber', + B: '#forge:rods/bronze' + }).id('tfg:create/shaped/hand_crank_bronze') + + event.shaped('create:hand_crank', [ + 'AAA', + ' B' + ], { + A: '#tfc:lumber', + B: '#forge:rods/black_bronze' + }).id('tfg:create/shaped/hand_crank_black_bronze') + + // Емкость для миксера + event.shaped('create:basin', [ + 'ABA', + 'AAA' + ], { + A: '#forge:plates/iron', + B: '#forge:tools/hammers' + }).id('tfg:create/shaped/basin') + + event.recipes.gtceu.assembler('tfg:create/basin') + .itemInputs('5x #forge:plates/iron') + .circuit(3) + .itemOutputs('create:basin') + .duration(200) + .EUt(20) + + // Место куда можно что то положить + event.shapeless('create:depot', [ + 'create:andesite_casing', + '#forge:double_plates/wrought_iron' + ]).id('tfg:create/shapeless/depot') + + // Лоток + event.shaped('create:chute', [ + 'A ', + 'AB', + 'A ' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:tools/hammers' + }).id('tfg:create/shaped/chute') + + event.recipes.gtceu.assembler('tfg:create/chute') + .itemInputs('3x #forge:plates/wrought_iron') + .circuit(4) + .itemOutputs('create:chute') + .duration(200) + .EUt(20) + + // Металлический держатель + event.shaped('2x create:metal_bracket', [ + 'AAA', + ' B ' + ], { + A: '#forge:nuggets/wrought_iron', + B: '#forge:plates/wrought_iron' + }).id('tfg:create/shaped/metal_bracket') + + // Жидкостная труба + event.shaped('create:fluid_pipe', [ + 'BAB' + ], { + A: '#forge:tools/hammers', + B: '#forge:plates/copper' + }).id('tfg:create/shaped/fluid_pipe') + + event.recipes.gtceu.assembler('tfg:create/fluid_pipe') + .itemInputs('4x #forge:plates/copper') + .circuit(3) + .itemOutputs('create:fluid_pipe') + .duration(200) + .EUt(20) + + // Жидкостный люк + event.shapeless('create:fluid_valve', [ + 'create:fluid_pipe', + '#forge:plates/wrought_iron' + ]).id('tfg:create/shapeless/fluid_valve') + + // Ручка жидкостного люка + event.shaped('create:copper_valve_handle', [ + ' A ', + 'BCD' + ], { + A: '#forge:plates/copper', + B: '#forge:tools/hammers', + C: '#forge:small_gears/wrought_iron', + D: '#forge:tools/files' + }).id('tfg:create/shaped/copper_valve_handle') + + event.recipes.gtceu.assembler('tfg:create/copper_valve_handle') + .itemInputs('4x #forge:plates/copper', '#forge:small_gears/wrought_iron') + .circuit(6) + .itemOutputs('create:copper_valve_handle') + .duration(200) + .EUt(20) + + // Жидкостный резервуар + event.shaped('create:fluid_tank', [ + 'ADA', + 'BCB', + 'AEA' + ], { + A: '#forge:screws/copper', + B: '#forge:plates/copper', + C: '#forge:glass_panes', + D: '#forge:tools/screwdrivers', + E: '#forge:tools/wrenches' + }).id('tfg:create/shaped/fluid_tank') + + // Шкив для шланга + event.shaped('create:hose_pulley', [ + 'DAE', + ' B ', + 'CFC' + ], { + A: 'create:copper_casing', + B: '#forge:foils/rubber', + C: '#forge:plates/copper', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers', + F: 'minecraft:bucket' + }).id('tfg:create/shaped/hose_pulley') + + // Слив из предметов + event.shaped('create:item_drain', [ + 'A', + 'B' + ], { + A: '#tfg:metal_bars', + B: 'create:copper_casing' + }).id('tfg:create/shaped/item_drain') + + // Жидкостный наполнитель + event.shaped('create:spout', [ + 'CBD', + ' A ' + ], { + A: '#forge:foils/rubber', + B: 'create:fluid_tank', + C: '#forge:tools/wrenches', + D: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/spout') + + // Паровой двигатель + event.shaped('create:steam_engine', [ + 'ABA', + 'CDC', + 'EFG' + ], { + A: '#forge:screws/wrought_iron', + B: '#forge:plates/brass', + C: '#forge:rods/black_steel', + D: '#forge:gears/steel', + E: '#forge:tools/hammers', + F: '#forge:storage_blocks/copper', + G: '#forge:tools/screwdrivers', + }).id('tfg:create/shaped/steam_engine') + + event.recipes.gtceu.assembler('tfg:create/steam_engine') + .itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/red_steel', '#forge:gears/steel', '#forge:storage_blocks/copper') + .circuit(3) + .itemOutputs('create:steam_engine') + .duration(200) + .EUt(32) + + // Паровой свисток + event.shaped('create:steam_whistle', [ + 'AC', + 'BD' + ], { + A: '#forge:plates/brass', + B: '#forge:rings/gold', + C: '#forge:tools/hammers', + D: '#forge:tools/files' + }).id('tfg:create/shaped/steam_whistle') + + event.recipes.gtceu.assembler('tfg:create/steam_whistle') + .itemInputs('#forge:plates/brass', '#forge:rings/gold') + .circuit(5) + .itemOutputs('create:steam_whistle') + .duration(200) + .EUt(4) + + // Рука поршня + event.shaped('8x create:piston_extension_pole', [ + 'A ', + 'BC', + 'A ' + ], { + A: '#minecraft:planks', + B: '#forge:plates/wrought_iron', + C: '#forge:tools/hammers' + }).id('tfg:create/shaped/piston_extension_pole') + + event.recipes.gtceu.assembler('tfg:create/piston_extension_pole') + .itemInputs('2x #minecraft:planks', '#forge:plates/wrought_iron') + .circuit(3) + .itemOutputs('8x create:piston_extension_pole') + .duration(200) + .EUt(20) + + // Редстоуновый вал + event.shaped('create:gantry_shaft', [ + 'A ', + 'BC', + 'A ' + ], { + A: '#forge:plates/wrought_iron', + B: 'gtceu:red_alloy_single_wire', + C: '#forge:tools/hammers' + }).id('tfg:create/shaped/gantry_shaft') + + event.recipes.gtceu.assembler('tfg:create/gantry_shaft') + .itemInputs('gtceu:red_alloy_single_wire', '2x #forge:plates/wrought_iron') + .circuit(3) + .itemOutputs('create:gantry_shaft') + .duration(200) + .EUt(20) + + // Канатный шкиф + event.shaped('create:rope_pulley', [ + 'EA ', + 'DBD', + ' C ' + ], { + A: 'create:andesite_casing', + B: 'firmaciv:rope_coil', + C: '#forge:plates/wrought_iron', + D: '#tfg:small_cogwheels', + E: '#forge:tools/wrenches' + }).id('tfg:create/shaped/rope_pulley') + + // Шкиф подъемника + event.shaped('create:elevator_pulley', [ + 'EAF', + 'DBD', + ' C ' + ], { + A: 'create:brass_casing', + B: 'firmaciv:rope_coil', + C: '#forge:plates/steel', + D: '#tfg:small_cogwheels', + E: '#forge:tools/wrenches', + F: 'create:electron_tube' + }).id('tfg:create/shaped/elevator_pulley') + + // Сборщик вагонеток + event.shaped('create:cart_assembler', [ + ' D ', + 'ABA', + 'C C' + ], { + A: '#forge:plates/steel', + B: 'gtceu:red_alloy_single_wire', + C: '#minecraft:logs', + D: '#forge:wrenches' + }).id('tfg:create/shaped/cart_assembler') + + // Контроллер рельсы + event.shaped('create:controller_rail', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: '#forge:rods/gold', + B: '#tfc:can_be_lit_on_torch', + C: 'create:electron_tube' + }).id('tfg:create/shaped/controller_rail') + + // Линейный переход + event.shaped('3x create:linear_chassis', [ + 'ABA', + 'CCC', + 'ABA' + ], { + A: '#forge:screws/wrought_iron', + B: '#forge:plates/wrought_iron', + C: '#minecraft:logs' + }).id('tfg:create/shaped/linear_chassis') + + // Радиальный переход + event.shaped('3x create:radial_chassis', [ + 'ACA', + 'BCB', + 'ACA' + ], { + A: '#forge:screws/wrought_iron', + B: '#forge:plates/wrought_iron', + C: '#minecraft:logs' + }).id('tfg:create/shaped/radial_chassis') + + // Умный липкий поршень + event.shaped('create:sticker', [ + 'ABA', + 'CDC' + ], { + A: '#forge:plates/wrought_iron', + B: 'tfc:glue', + C: '#forge:cobblestone', + D: '#forge:dusts/redstone' + }).id('tfg:create/shaped/sticker') + + // Механическая бурилка + event.shaped('create:mechanical_drill', [ + 'EBF', + 'HCG', + 'ADA' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:drill_heads', + C: 'greate:steel_cogwheel', + D: 'create:andesite_casing', + E: '#forge:tools/hammers', + F: '#forge:tools/wrenches', + G: '#forge:screws/wrought_iron', + H: '#gtceu:circuits/ulv' + }).id('tfg:create/shaped/mechanical_drill') + + event.shaped('create:mechanical_roller', [ + 'GBG', + 'ADA', + 'EHF' + ], { + A: '#forge:plates/wrought_iron', + B: 'tfc:metal/block/wrought_iron', + D: 'create:andesite_casing', + E: '#forge:tools/hammers', + F: '#forge:tools/wrenches', + G: '#forge:bolts/wrought_iron', + H: '#tfg:small_cogwheels' + }).id('tfg:create/shaped/mechanical_roller') + + // Редстоуновый контакт + event.shaped('2x create:redstone_contact', [ + 'DCE', + 'ABA', + 'AAA' + ], { + A: '#forge:cobblestone', + B: '#forge:dusts/redstone', + C: '#forge:plates/wrought_iron', + D: '#forge:screws/bronze', + E: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/redstone_contact') + + event.recipes.gtceu.assembler('tfg:create/redstone_contact') + .itemInputs('5x #forge:cobblestone', '#forge:dusts/redstone', '#forge:plates/wrought_iron', '#forge:screws/bronze') + .circuit(3) + .itemOutputs('2x create:redstone_contact') + .duration(200) + .EUt(20) + + // Механический собиратель + event.shaped('create:mechanical_harvester', [ + 'CDE', + 'BFB', + 'AAA' + ], { + A: '#forge:shovel_heads/wrought_iron', + B: '#forge:plates/wrought_iron', + C: '#forge:tools/hammers', + D: 'create:andesite_casing', + E: '#forge:tools/wrenches', + F: '#tfg:small_cogwheels' + }).id('tfg:create/shaped/mechanical_harvester') + + event.recipes.gtceu.assembler('tfg:create/mechanical_harvester') + .itemInputs('3x #forge:shovel_heads', '2x #forge:plates/wrought_iron', '#tfg:small_cogwheels', 'create:andesite_casing') + .circuit(3) + .itemOutputs('create:mechanical_harvester') + .duration(200) + .EUt(20) + + // Механический плуг + event.shaped('create:mechanical_plough', [ + 'CDE', + 'BFB', + 'AAA' + ], { + A: '#forge:hoe_heads/wrought_iron', + B: '#forge:plates/wrought_iron', + C: '#forge:tools/hammers', + D: 'create:andesite_casing', + E: '#forge:tools/wrenches', + F: '#tfg:small_cogwheels' + }).id('tfg:create/shaped/mechanical_plough') + + event.recipes.gtceu.assembler('tfg:create/mechanical_plough') + .itemInputs('3x #forge:hoe_heads', '2x #forge:plates/wrought_iron', '#tfg:small_cogwheels', 'create:andesite_casing') + .circuit(4) + .itemOutputs('create:mechanical_plough') + .duration(200) + .EUt(20) + + // Create sail creation using custom sail items. + + event.shaped('8x create:sail_frame', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:screws/wrought_iron', + B: 'gtceu:treated_wood_rod', + C: 'gtceu:treated_wood_frame' + }).id('tfg:create/shaped/sail_frame') + + event.shaped('8x create:white_sail', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: 'create:sail_frame', + B: '#forge:cloth' + }).id('tfg:create/shaped/white_sail') + + + // Андезитовый корпус + event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) + .id('tfg:create/item_application/andesite_casing') + + event.recipes.gtceu.assembler('tfg:create/andesite_casing') + .itemInputs('#minecraft:logs', '#forge:plates/wrought_iron') + .circuit(10) + .itemOutputs('create:andesite_casing') + .duration(50) + .EUt(4) + + // Латунный корпус + event.recipes.createItemApplication(['create:brass_casing'], ['#minecraft:logs', '#forge:plates/brass']) + .id('tfg:create/item_application/brass_casing') + + event.recipes.gtceu.assembler('tfg:create/brass_casing') + .itemInputs('#minecraft:logs', '#forge:plates/brass') + .circuit(10) + .itemOutputs('create:brass_casing') + .duration(50) + .EUt(4) + + // Медный корпус + event.recipes.createItemApplication(['create:copper_casing'], ['#minecraft:logs', '#forge:plates/copper']) + .id('tfg:create/item_application/copper_casing') + + event.recipes.gtceu.assembler('tfg:create/copper_casing') + .itemInputs('#minecraft:logs', '#forge:plates/copper') + .circuit(10) + .itemOutputs('create:copper_casing') + .duration(50) + .EUt(4) + + // Корпус поезда + event.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/black_steel']) + .id('tfg:create/item_application/railway_casing') + + event.recipes.gtceu.assembler('tfg:create/railway_casing') + .itemInputs('create:brass_casing', '#forge:plates/black_steel') + .circuit(10) + .itemOutputs('create:railway_casing') + .duration(50) + .EUt(4) + + // Механический крафтер + event.shaped('create:mechanical_crafter', [ + ' A ', + 'DCE', + ' F ' + ], { + A: 'create:electron_tube', + C: '#tfc:workbenches', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers', + F: '#forge:small_gears/brass' + }).id('tfg:create/shaped/mechanical_crafter') + + // Маховик + event.shaped('create:flywheel', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/brass', + B: '#forge:rods/wrought_iron', + C: '#tfg:shafts' + }).id('tfg:create/shaped/flywheel') + + // Механическая рука + event.shaped('create:mechanical_arm', [ + 'AHB', + 'AGE', + 'CDF' + ], { + A: '#forge:plates/brass', + B: '#forge:rods/wrought_iron', + C: 'create:precision_mechanism', + D: 'create:brass_casing', + E: '#forge:tools/hammers', + F: '#forge:tools/wrenches', + G: '#forge:screws/wrought_iron', + H: 'create:electron_tube' + }).id('tfg:create/shaped/mechanical_arm') + + event.recipes.gtceu.assembler('tfg:create/mechanical_arm') + .itemInputs('2x #forge:plates/brass', '#forge:rods/wrought_iron', 'create:precision_mechanism', 'create:brass_casing', '#forge:screws/wrought_iron', 'create:electron_tube') + .circuit(3) + .itemOutputs('create:mechanical_arm') + .duration(200) + .EUt(20) + + // Наблюдатель за поездом + event.shapeless('create:track_observer', [ + 'create:railway_casing', + '#minecraft:stone_pressure_plates' + ]).id('tfg:create/shapeless/track_observer') + + // Сейф + event.shaped('create:item_vault', [ + ' B ', + 'CAC', + ' D ' + ], { + A: '#forge:chests/wooden', + B: '#forge:sheets/wrought_iron', + C: '#forge:screws/wrought_iron', + D: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/item_vault') + + event.recipes.gtceu.assembler('tfg:create/item_vault') + .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel') + .circuit(3) + .itemOutputs('create:item_vault') + .duration(200) + .EUt(20) + + // Умный раздатчик/приемник из железа + event.shaped('2x create:andesite_funnel', [ + 'AAD', + 'BBC' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:foils/rubber', + C: '#forge:tools/wrenches', + D: '#forge:tools/knives' + }).id('tfg:create/shaped/andesite_funnel') + + event.shaped('2x create:andesite_funnel', [ + 'AAD', + 'BBC' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:leather', + C: '#forge:tools/wrenches', + D: '#forge:tools/knives' + }).id('tfg:create/shaped/andesite_funnel_leather') + + // Умный раздатчик/приемник из латуни + event.shaped('2x create:brass_funnel', [ + ' E ', + 'AAD', + 'BBC' + ], { + A: '#forge:plates/brass', + B: '#forge:foils/rubber', + C: '#forge:tools/wrenches', + D: '#forge:tools/knives', + E: 'create:electron_tubes' + }).id('tfg:create/shaped/brass_funnel') + + event.shaped('2x create:brass_funnel', [ + ' E ', + 'AAD', + 'BBC' + ], { + A: '#forge:plates/brass', + B: '#forge:leather', + C: '#forge:tools/wrenches', + D: '#forge:tools/knives', + E: 'create:electron_tubes' + }).id('tfg:create/shaped/brass_funnel_leather') + + // Тунель из железа + event.shaped('create:andesite_tunnel', [ + ' D', + 'AA', + 'BB' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:foils/rubber', + D: '#forge:tools/wrenches' + }).id('tfg:create/shaped/andesite_tunnel') + + event.shaped('create:andesite_tunnel', [ + ' D', + 'AA', + 'BB' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:leather', + D: '#forge:tools/wrenches' + }).id('tfg:create/shaped/andesite_tunnel_leather') + + // Тунель из латуни + event.shaped('create:brass_tunnel', [ + 'CD', + 'AA', + 'BB' + ], { + A: '#forge:plates/brass', + B: '#forge:foils/rubber', + C: 'create:electron_tube', + D: '#forge:tools/wrenches' + }).id('tfg:create/shaped/brass_tunnel') + + event.shaped('create:brass_tunnel', [ + 'CD', + 'AA', + 'BB' + ], { + A: '#forge:plates/brass', + B: '#forge:leather', + C: 'create:electron_tube', + D: '#forge:tools/wrenches' + }).id('tfg:create/shaped/brass_tunnel_leather') + + // Дисплей столешница (чзх) + event.shaped('create:display_board', [ + 'DA ', + 'BCB', + ' A ' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:rings/wrought_iron', + C: '#forge:small_gears', + D: '#forge:tools/wrenches' + }).id('tfg:create/shaped/display_board') + + // Латунная рука + event.shaped('create:brass_hand', [ + ' AB', + 'CCD', + ' C ' + ], { + A: '#forge:tools/hammers', + B: '#forge:ingots/brass', + C: '#forge:nuggets/brass', + D: '#forge:tools/files' + }).id('tfg:create/shaped/brass_hand') + + event.recipes.gtceu.assembler('tfg:create/brass_hand') + .itemInputs('3x #forge:nuggets/brass', '#forge:plates/brass') + .circuit(3) + .itemOutputs('create:brass_hand') + .duration(200) + .EUt(20) + + // Электронная трубка + event.shaped('1x create:electron_tube', [ + 'FAG', + 'BCB', + 'DED' + ], { + A: 'gtceu:glass_tube', + B: '#forge:bolts/steel', + C: 'gtceu:treated_wood_plate', + D: 'gtceu:red_alloy_single_wire', + E: '#forge:plates/wrought_iron', + F: '#forge:tools/screwdrivers', + G: '#forge:tools/wire_cutters' + }).id('tfg:create/shaped/electron_tube') + + event.recipes.createSequencedAssembly([ + '2x create:electron_tube', + ], 'gtceu:treated_wood_plate', [ + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', '#forge:plates/wrought_iron']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:glass_tube']), + ]).transitionalItem('tfg:unfinished_electron_tube').loops(1).id('tfg:create/sequenced_assembly/electron_tube') + + event.recipes.gtceu.assembler('create:electron_tube') + .itemInputs('#forge:plates/wrought_iron', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') + .itemOutputs('2x create:electron_tube') + .duration(50) + .EUt(7) + + event.shaped('4x create:electron_tube', [ + 'FAG', + 'DCD' + ], { + A: 'gtceu:glass_tube', + C: 'gtceu:plastic_circuit_board', + D: 'gtceu:red_alloy_single_wire', + F: '#forge:tools/screwdrivers', + G: '#forge:tools/wire_cutters' + }).id('tfg:create/shaped/electron_tube2') + + event.recipes.gtceu.assembler('create:electron_tube2') + .itemInputs('gtceu:plastic_circuit_board', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') + .itemOutputs('4x create:electron_tube') + .duration(50) + .EUt(7) + + event.shaped('4x create:electron_tube', [ + ' A ', + ' B ', + ' C ' + ], { + A: '#forge:tools/screwdrivers', + B: 'gtceu:nand_chip', + C: 'gtceu:plastic_circuit_board' + }).id('tfg:create/shaped/electron_tube3') + + event.recipes.gtceu.assembler('create:electron_tube3') + .itemInputs('gtceu:plastic_circuit_board', 'gtceu:nand_chip') + .itemOutputs('4x create:electron_tube') + .duration(50) + .EUt(7) + + // Тюбик с клеем + event.shaped('create:super_glue', [ + 'BA', + 'CB' + ], { + A: '#forge:plates/wrought_iron', + B: 'tfc:glue', + C: '#forge:rings/wrought_iron' + }).id('tfg:create/shaped/super_glue') + + // Deployer + event.shaped('create:deployer', [ + ' A ', + 'DBF', + ' CE' + ], { + A: '#tfg:small_cogwheels', + B: 'create:andesite_casing', + C: 'create:brass_hand', + D: '#forge:tools/wrenches', + E: '#forge:tools/screwdrivers', + F: 'create:electron_tube' + }).id('tfg:create/shaped/deployer') + + // Соединятор вагонеток + event.shapeless('create:minecart_coupling', [ + '#tfg:metal_chains', + '#forge:bolts', + '#tfg:metal_chains', + '#forge:bolts', + '#tfg:metal_chains', + '#forge:tools/hammers' + ]).id('tfg:create/shapeless/minecart_coupling') + + event.recipes.gtceu.assembler('tfg:create/minecart_coupling') + .itemInputs('3x #tfg:metal_chains', '2x #forge:bolts') + .circuit(1) + .itemOutputs('create:minecart_coupling') + .duration(200) + .EUt(20) + + // Блупринт создания + event.shapeless('create:crafting_blueprint', [ + 'minecraft:painting', + '#tfc:workbenches' + ]).id('tfg:create/shapeless/crafting_blueprint') + + // Медная бочка на спину + event.shaped('create:copper_backtank', [ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:screws/copper', + B: 'greate:andesite_alloy_shaft', + C: '#forge:plates/copper', + D: 'tfc:bellows', + E: 'firmaciv:large_waterproof_hide', + F: 'tfc:metal/chestplate/copper' + }).id('tfg:create/shaped/copper_backtank') + + // Шлем для дайвинга + event.shaped('create:copper_diving_helmet', [ + 'ABA', + 'CDC' + ], { + A: '#forge:plates/copper', + B: 'tfc:metal/helmet/copper', + C: '#forge:glass_panes', + D: 'firmaciv:large_waterproof_hide' + }).id('tfg:create/shaped/copper_diving_helmet') + + // Ботинки для дайвинга + event.shaped('create:copper_diving_boots', [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/copper', + B: 'tfc:metal/boots/copper', + C: '#forge:ingots/iron', + D: 'firmaciv:large_waterproof_hide' + }).id('tfg:create/shaped/copper_diving_boots') + + // Netherite backtank + event.shaped('create:netherite_backtank', [ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:screws/blue_steel', + B: 'greate:steel_shaft', + C: '#forge:plates/blue_steel', + D: 'gtceu:steel_drum', + E: 'beneath:cursed_hide', + F: 'tfc:metal/chestplate/blue_steel' + }).id('tfg:create/shaped/netherite_backtank') + + event.shaped('create:netherite_backtank', [ + 'ACA', + 'CCC', + 'EDE' + ], { + A: '#forge:screws/blue_steel', + C: '#forge:plates/blue_steel', + D: 'create:copper_backtank', + E: 'beneath:cursed_hide' + }).id('tfg:create/shaped/netherite_backtank_upgrade') + + // Netherite diving helmet + event.shaped('create:netherite_diving_helmet', [ + 'ABA', + 'CDC' + ], { + A: '#forge:plates/blue_steel', + B: 'tfc:metal/helmet/blue_steel', + C: 'firmalife:reinforced_glass', + D: 'beneath:cursed_hide' + }).id('tfg:create/shaped/netherite_diving_helmet') + + event.shaped('create:netherite_diving_helmet', [ + ' A ', + 'ABA', + 'CDC' + ], { + A: '#forge:plates/blue_steel', + B: 'create:copper_diving_helmet', + C: 'firmalife:reinforced_glass', + D: 'beneath:cursed_hide' + }).id('tfg:create/shaped/netherite_diving_helmet_upgrade') + + // Netherite diving boots + event.shaped('create:netherite_diving_boots', [ + 'ABC', + 'EDE' + ], { + A: '#forge:screws/blue_steel', + B: 'tfc:metal/boots/blue_steel', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide', + E: '#forge:ingots/lead' + }).id('tfg:create/shaped/netherite_diving_boots') + + event.shaped('create:netherite_diving_boots', [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/blue_steel', + B: 'create:copper_diving_boots', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide' + }).id('tfg:create/shaped/netherite_diving_boots_upgrade') + + // Херь, увеличивающая дистанцию копки + event.recipes.createMechanicalCrafting('create:extendo_grip', [ + ' A ', + ' B ', + 'CCC', + 'CCC', + ' D ' + ], { + A: '#forge:plates/brass', + B: 'create:precision_mechanism', + C: '#forge:rods/wooden', + D: 'create:brass_hand' + }).id('tfg:create/mechanical_crafting/extendo_grip') + + // Херь, устанавливающая блоки зеркально + event.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ + ' A ', + ' ABA ', + ' C ', + ' D ', + ' E ' + ], { + A: '#forge:glass', + B: 'minecraft:redstone_lamp', + C: 'create:precision_mechanism', + D: '#forge:plates/brass', + E: 'minecraft:obsidian' + }).id('tfg:create/mechanical_crafting/wand_of_symmetry') + + // Фильтр список + event.shaped('create:filter', [ + 'ABA' + ], { + A: '#forge:nuggets/wrought_iron', + B: '#forge:cloth' + }).id('tfg:create/shaped/filter') + + // Фильтр аттрибутов + event.shaped('create:attribute_filter', [ + 'ABA' + ], { + A: '#forge:nuggets/brass', + B: '#forge:cloth' + }).id('tfg:create/shaped/attribute_filter') + + // Расписание поездов + event.shapeless('4x create:schedule', [ + 'minecraft:paper', + '#forge:dyes/black' + ]).id('tfg:create/shapeless/schedule') + + // Дневник + event.shaped('create:clipboard', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:bolts/wrought_iron', + B: '#forge:plates/wood', + C: 'minecraft:paper' + }).id('tfg:create/shaped/clipboard') + + // Лестница из железа + event.shaped('6x create:andesite_ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/tin_alloy' + }).id('tfg:create/shaped/andesite_ladder') + + // Лестница из латуни + event.shaped('6x create:brass_ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/brass' + }).id('tfg:create/shaped/brass_ladder') + + // Лестница из железа + event.shaped('6x create:copper_ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/copper' + }).id('tfg:create/shaped/copper_ladder') + + // Леса из железа + event.shaped('4x create:andesite_scaffolding', [ + 'AAA', + 'A A' + ], { + A: '#forge:rods/tin_alloy' + }).id('tfg:create/shaped/andesite_scaffolding') + + // Леса из латуни + event.shaped('4x create:brass_scaffolding', [ + 'AAA', + 'A A' + ], { + A: '#forge:rods/brass' + }).id('tfg:create/shaped/brass_scaffolding') + + // Леса из железа + event.shaped('4x create:copper_scaffolding', [ + 'AAA', + 'A A' + ], { + A: '#forge:rods/copper' + }).id('tfg:create/shaped/copper_scaffolding') + + // Цинковая ступень + event.shapeless('create:copycat_step', [ + '#forge:plates/zinc', + '#forge:tools/files' + ]).id('tfg:create/shapeless/copycat_step') + + // Цинковая панель + event.shapeless('create:copycat_panel', [ + '#forge:double_plates/zinc', + '#forge:tools/files' + ]).id('tfg:create/shapeless/copycat_panel') + + event.recipes.gtceu.assembler('tfg:create/copycat_panel') + .itemInputs('#forge:double_plates/zinc') + .circuit(5) + .itemOutputs('create:copycat_panel') + .duration(200) + .EUt(20) + + // Деталь рельса + event.shaped('3x create:metal_girder', [ + 'AAA', + 'BBB' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:nuggets/wrought_iron' + }).id('tfg:create/shaped/metal_girder') + + // Стеклянная дверь + event.shapeless('create:framed_glass_door', [ + '#minecraft:wooden_doors', + 'minecraft:glass_pane' + ]).id('tfg:create/shapeless/framed_glass_door') + + // Стеклянный люк + event.shapeless('create:framed_glass_trapdoor', [ + '#minecraft:wooden_trapdoors', + 'minecraft:glass_pane' + ]).id('tfg:create/shapeless/framed_glass_trapdoor') + + // + event.recipes.createMechanicalCrafting('create:potato_cannon', [ + 'ABCCC', + 'DD ' + ], { + A: '#forge:screws/copper', + B: 'create:precision_mechanism', + C: 'create:fluid_pipe', + D: '#forge:plates/copper' + }).id('tfg:create/mechanical_crafting/potato_cannon') + + // Липкий механический поршень + event.shaped('create:mechanical_piston', [ + 'A', + 'B', + 'C' + ], { + A: 'minecraft:piston', + B: 'create:andesite_casing', + C: '#tfg:shafts' + }).id('tfg:create/shaped/mechanical_piston') + + event.shaped('create:sticky_mechanical_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'tfc:glue', + C: 'create:mechanical_piston' + }).id('tfg:create/shaped/sticky_mechanical_piston_from_glue') + + event.shaped('create:sticky_mechanical_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'gtceu:sticky_resin', + C: 'create:mechanical_piston', + }).id('tfg:create/shaped/sticky_mechanical_piston_from_sticky_resin') + + event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_liquid_glue') + .itemInputs('create:mechanical_piston') + .inputFluids(Fluid.of('gtceu:glue', 100)) + .itemOutputs('create:sticky_mechanical_piston') + .duration(100) + .EUt(4) + + event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_slimeball') + .itemInputs('create:mechanical_piston', 'minecraft:slimeball') + .itemOutputs('create:sticky_mechanical_piston') + .duration(100) + .EUt(4) + + event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_sticky_resin') + .itemInputs('create:mechanical_piston', 'gtceu:sticky_resin') + .itemOutputs('create:sticky_mechanical_piston') + .duration(100) + .EUt(4) + + //#region Покраска ручек от люка + + event.recipes.tfc.barrel_sealed(1000) + .inputs('#tfg:colored_valve_handles', Fluid.of(`tfc:lye`, 144)) + .outputItem(`create:copper_valve_handle`) + .id(`barrel/create/valve_handle_decolor`) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.recipes.tfc.barrel_sealed(1000) + .inputs('create:copper_valve_handle', Fluid.of(`tfc:${dye}_dye`, 144)) + .outputItem(`create:${dye}_valve_handle`) + .id(`barrel/create/${dye}_valve_handle`) + }) + //#endregion - // #region So-called "Shit Glass" - - event.shaped('4x create:framed_glass', - [ - 'AA', - 'AA' + //#region Покраска тулбоксов + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + if (dye != 'brown') { + event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) + + event.recipes.tfc.barrel_sealed(1000) + .inputs('create:brown_toolbox', Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(`create:${dye}_toolbox`) + .id(`barrel/create/${dye}_toolbox`) + + event.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) + .itemInputs('create:brown_toolbox') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 288)) + .itemOutputs(`create:${dye}_toolbox`) + .duration(200) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + } + }) + + //#endregion + + //#region Покраска сидушек + + event.recipes.tfc.barrel_sealed(1000) + .inputs('#tfg:colored_seats', Fluid.of(`tfc:lye`, 288)) + .outputItem(`create:white_seat`) + .id(`barrel/create/seat_decolor`) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + if (dye != "white") { + + event.recipes.tfc.barrel_sealed(1000) + .inputs(`create:white_seat`, Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(`create:${dye}_seat`) + .id(`barrel/create/${dye}_seat`) + } + }) + + //#endregion + + //#region Механизм точности + + event.recipes.createSequencedAssembly([ + 'create:precision_mechanism', + ], '#forge:plates/gold', [ + event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#forge:small_springs/gold']), + event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#forge:small_gears/brass']), + event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#forge:bolts/wrought_iron']), + ]).transitionalItem('create:incomplete_precision_mechanism').loops(3).id('tfg:create/sequenced_assembly/precision_mechanism') + + event.recipes.gtceu.assembler('tfg:create/precision_mechanism') + .itemInputs('#forge:plates/gold', '3x #forge:small_springs/gold', '3x #forge:small_gears/brass', '3x #forge:bolts/wrought_iron') + .itemOutputs('create:precision_mechanism') + .duration(2000) + .EUt(20) + + //#endregion + + // #region Water Wheels + + event.shaped('create:water_wheel', [ + 'AAA', + 'ABA', + 'AAA' ], { + A: 'gtceu:treated_wood_planks', + B: '#tfg:shafts' + }).id('create:shaped/water_wheel') + + event.shaped('create:large_water_wheel', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: 'gtceu:treated_wood_planks', + B: 'create:water_wheel' + }).id('create:shaped/large_water_wheel') + + // #endregion + + // #region Windmill Bearing + + event.shaped('create:windmill_bearing', [ + 'FA ', + 'DBE', + ' C ' + ], { + A: 'gtceu:treated_wood_slab', + B: 'create:andesite_casing', + C: '#tfg:small_cogwheels', + D: '#forge:small_gears/brass', + E: '#forge:tools/hammers', + F: 'tfc:glue' + }).id('create:shaped/windmill_bearing') + + // #endregion + + //#region Blaze burner + + event.shaped('create:blaze_burner', [ + 'B B', + 'BAB', + 'CCC' + ], { + A: '#forge:storage_blocks/coke', + B: '#forge:rods/black_steel', + C: '#forge:plates/black_steel', + }).id('tfg:create/shaped/blaze_burner') + + //#endregion + + // #region So-called "Shit Glass" + + event.shaped('4x create:framed_glass', + [ + 'AA', + 'AA' + ], { A: 'minecraft:glass' }).id('tfg:create/framed_glass') - + event.shaped('4x create:tiled_glass', - [ - 'A A', - ' ', - 'A A' - ], { + [ + 'A A', + ' ', + 'A A' + ], { A: 'minecraft:glass' }).id('tfg:create/tiled_glass') - + event.shaped('4x create:horizontal_framed_glass', - [ - 'AA', - ' ', - 'AA' - ], { + [ + 'AA', + ' ', + 'AA' + ], { A: 'minecraft:glass' }).id('tfg:create/horizontal_framed_glass') - + event.shaped('4x create:vertical_framed_glass', - [ - 'A A', - 'A A' - ], { + [ + 'A A', + 'A A' + ], { A: 'minecraft:glass' }).id('tfg:create/vertical_framed_glass') - + const CREATE_FRAMED_GLASS_WINDOWS = - [ - 'framed_glass', - 'tiled_glass', - 'horizontal_framed_glass', - 'vertical_framed_glass' - ] - + [ + 'framed_glass', + 'tiled_glass', + 'horizontal_framed_glass', + 'vertical_framed_glass' + ] + CREATE_FRAMED_GLASS_WINDOWS.forEach(x => { event.shapeless(`2x create:${x}_pane`, - [ - `create:${x}`, - '#forge:tools/saws' - ]) - .id(`tfg:create/shapeless/${x}_pane`) - + [ + `create:${x}`, + '#forge:tools/saws' + ]) + .id(`tfg:create/shapeless/${x}_pane`) + event.recipes.gtceu.cutter(`tfg:create/${x}_pane`) .itemInputs(`3x create:${x}`) .itemOutputs(`8x create:${x}_pane`) .duration(40) - .EUt(20) + .EUt(7) }) const CREATE_OTHER_GLASS_WINDOWS = - [ - [ 'dark_oak', 'tfc:wood/lumber/hickory' ], - [ 'mangrove', 'tfc:wood/lumber/mangrove' ], - [ 'ornate_iron', 'gtceu:wrought_iron_rod' ] - ] - + [ + ['dark_oak', 'tfc:wood/lumber/hickory'], + ['mangrove', 'tfc:wood/lumber/mangrove'], + ['ornate_iron', 'gtceu:wrought_iron_rod'] + ] + CREATE_OTHER_GLASS_WINDOWS.forEach(x => { event.shaped(`2x create:${x[0]}_window`, - [ - ' B ', - 'BAB' - ], { + [ + ' B ', + 'BAB' + ], { A: 'minecraft:glass', B: x[1] }).id(`tfg:create/shaped/${x[0]}_window`) - + event.shapeless(`2x create:${x[0]}_window_pane`, - [ - `create:${x[0]}_window`, - '#forge:tools/saws' - ]) - .id(`tfg:create/shapeless/${x[0]}_window_pane`) - + [ + `create:${x[0]}_window`, + '#forge:tools/saws' + ]) + .id(`tfg:create/shapeless/${x[0]}_window_pane`) + event.recipes.gtceu.cutter(`tfg:create/${x[0]}_window_pane`) .itemInputs(`3x create:${x[0]}_window`) .itemOutputs(`8x create:${x[0]}_window_pane`) .duration(40) - .EUt(20) + .EUt(7) }) - //Allow automatic scraping by using sequenced assembly - event.forEachRecipe({ type: 'tfc:scraping' }, r => - { - let originalRecipeIngredient = r.json.get("ingredient").get("item"); - let output = r.originalRecipeResult; + //Allow automatic scraping by using sequenced assembly + event.forEachRecipe({ type: 'tfc:scraping' }, r => { + let originalRecipeIngredient = r.json.get("ingredient").get("item"); + let output = r.originalRecipeResult; + + event.recipes.createSequencedAssembly([output], originalRecipeIngredient, [ + event.recipes.createDeploying(originalRecipeIngredient, [originalRecipeIngredient, '#tfc:knives']).keepHeldItem() + ]).transitionalItem(originalRecipeIngredient).loops(16) + }) - event.recipes.createSequencedAssembly([output], originalRecipeIngredient,[ - event.recipes.createDeploying(originalRecipeIngredient, [originalRecipeIngredient, '#tfc:knives']).keepHeldItem() - ]).transitionalItem(originalRecipeIngredient).loops(16) - }) - // #endregion + + //#region Decoration blocks + + const DECO_BLOCKS = [ + { base: 'tfc:rock/raw/diorite', cut: 'create:cut_diorite', vanilla: 'minecraft:diorite' }, + // this is renamed to Cut Chert + { base: 'tfc:rock/raw/chert', cut: 'create:cut_granite', vanilla: 'minecraft:granite' }, + { base: 'tfc:rock/raw/andesite', cut: 'create:cut_andesite', vanilla: 'minecraft:andesite' }, + { base: 'tfc:rock/raw/limestone', cut: 'create:cut_limestone' }, + { base: 'minecraft:deepslate', cut: 'create:cut_deepslate' }, + { base: 'minecraft:dripstone_block', cut: 'create:cut_dripstone' }, + { base: 'minecraft:calcite', cut: 'create:cut_calcite' } + ] + + DECO_BLOCKS.forEach(x => { + event.shapeless(x.cut, [x.base, '#tfc:chisels', '#forge:tools/files']).id(`create:shapeless/chisel_${x.cut.split(':')[1]}`) + + event.recipes.gtceu.laser_engraver(`engrave_${x.cut.split(':')[1]}`) + .itemInputs(x.base) + .notConsumable('tfc:lens') + .itemOutputs(x.cut) + .duration(32) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: 'vintageimprovements:laser_cutting', + ingredients: [{ item: x.base }], + results: [{item: x.cut }], + energy: GTValues.VA[GTValues.ULV] * 32 * 4, + maxChargeRate: GTValues.VA[GTValues.ULV] * 4 + }).id(`tfg:vi/laser/create/${x.cut.split(':')[1]}`) + + event.shaped(`2x create:layered_${x.cut.split('_')[1]}`, [ + 'AA' + ], { + A: x.cut + }) + + event.shaped(`2x create:${x.cut.split('_')[1]}_pillar`, [ + 'A', + 'A' + ], { + A: x.cut + }) + + // Stops the stonecutter recipe turning it back into vanilla stone + if ("vanilla" in x) { + event.replaceOutput({ mod: 'create' }, x.vanilla, x.base); + } + }) + + //#endregion + + event.shaped('create:white_seat', [ + 'DA ', + 'CBC' + ], { + A: '#tfc:high_quality_cloth', + B: '#minecraft:wooden_slabs', + C: '#forge:screws', + D: '#forge:tools/hammers' + }).id('tfg:create/shaped/white_seat') + + event.shaped('create:brown_toolbox', [ + 'CEC', + 'BAB', + 'DAD' + ], { + A: '#forge:chests/wooden', + B: '#forge:plates/brass', + C: '#forge:nuggets/brass', + D: '#forge:screws', + E: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/brown_toolbox') + + event.shaped('create:contraption_controls', [ + 'EAF', + 'DBD', + ' C ' + ], { + A: '#minecraft:buttons', + B: 'create:andesite_casing', + C: 'create:electron_tube', + D: '#forge:plates/wrought_iron', + E: '#forge:tools/hammers', + F: '#forge:tools/wrenches' + }).id('tfg:create/shaped/contraption_controls') + + event.shaped('create:wrench', [ + 'FBB', + 'CAD', + 'AE ' + ], { + A: '#forge:rods/treated_wood', + B: '#forge:plates/brass', + C: '#forge:small_gears/wood', + D: '#forge:screws', + E: '#forge:tools/screwdrivers', + F: '#forge:tools/hammers' + }).id('tfg:create/shaped/wrench') + + event.shaped('create:goggles', [ + 'DBD', + 'AEA', + 'C C' + ], { + A: '#forge:rings/gold', + B: '#forge:leather', + C: 'tfc:lens', + D: '#forge:screws', + E: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/goggles') + + event.shaped('create:analog_lever', [ + 'CA', + 'DB' + ], { + A: 'minecraft:lever', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches', + D: 'minecraft:redstone' + }).id('tfg:create/shaped/analog_lever') + + event.shaped('create:redstone_link', [ + 'FCB', + 'DAD', + ' E ' + ], { + A: 'create:brass_casing', + B: '#gtceu:circuits/ulv', + C: '#forge:small_springs', + D: '#forge:plates/wrought_iron', + E: '#forge:tools/wrenches', + F: '#forge:tools/screwdrivers' + }).id('tfg:create/shaped/redstone_link') + + event.shaped('create:display_link', [ + 'FED', + 'BAB', + 'EC ' + ], { + A: 'create:brass_casing', + B: '#forge:springs/copper', + C: '#forge:plates/brass', + D: 'create:electron_tube', + E: '#forge:screws', + F: '#forge:tools/wrenches' + }).id('tfg:create/shaped/display_link') + + event.shaped('create:rotation_speed_controller', [ + 'ECE', + 'BAB', + 'DFG' + ], { + A: 'create:brass_casing', + B: '#forge:small_gears/brass', + C: 'create:electron_tube', + D: '#forge:tools/wrenches', + E: '#forge:small_springs/gold', + F: '#tfg:shafts', + G: '#forge:tools/hammers' + }).id('tfg:create/shaped/rotation_speed_controller') + + event.shaped('create:sequenced_gearshift', [ + 'DBE', + 'CAC', + ' ' + ], { + A: 'create:brass_casing', + B: 'create:electron_tube', + C: '#tfg:small_cogwheels', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers' + }).id('tfg:create/shaped/sequenced_gearshift') + + event.shaped('create:mechanical_bearing', [ + 'CBE', + ' A ', + ' D ' + ], { + A: 'create:andesite_casing', + B: '#minecraft:plates/wrought_iron', + C: 'tfc:glue', + D: '#tfg:cogwheels', + E: '#forge:tools/wrenches' + }).id('tfg:create/shaped/mechanical_bearing') + + event.shaped('create:gantry_carriage', [ + 'DCE', + ' A ', + ' B ' + ], { + A: 'create:andesite_casing', + B: '#tfg:small_cogwheels', + C: '#minecraft:wooden_slabs', + D: 'tfc:glue', + E: '#forge:tools/hammers' + }).id('tfg:create/shaped/gantry_carriage') + + event.shaped('create:weighted_ejector', [ + ' B ', + ' CE', + 'DA ' + ], { + A: 'create:andesite_casing', + B: '#forge:plates/wrought_iron', + C: '#forge:springs/wrought_iron', + D: '#tfg:small_cogwheels', + E: '#forge:tools/wrenches' + }).id('tfg:create/shaped/weighted_ejector') + + event.shaped('create:turntable', [ + 'DA ', + 'CBC' + ], { + A: '#create:seats', + B: '#minecraft:wooden_slabs', + C: '#forge:screws', + D: '#forge:tools/hammers' + }).id('tfg:create/shaped/turntable') + + event.shaped('create:gearshift', [ + ' C ', + 'DAE', + ' B ' + ], { + A: 'create:andesite_casing', + B: '#tfg:small_cogwheels', + C: 'minecraft:redstone', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers' + }).id('tfg:create/shaped/gearshift') + + event.shaped('create:clutch', [ + ' C ', + 'DAE', + ' B ' + ], { + A: 'create:andesite_casing', + B: '#tfg:shafts', + C: 'minecraft:redstone', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers' + }).id('tfg:create/shaped/clutch') } diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 67df0c8c6..bf6a2626d 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -2,52 +2,95 @@ const registerCreateItemTags = (event) => { - // Удаление тегов у отключенных предметов - global.CREATE_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + // Удаление тегов у отключенных предметов + global.CREATE_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) - // Тэги для ручек и сидушек - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`) - - if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) - }) + // Is this Greate's fault? + event.remove('c:hidden_from_recipe_viewers', 'create:copper_sheet') + event.remove('c:hidden_from_recipe_viewers', 'create:brass_sheet') + event.remove('c:hidden_from_recipe_viewers', 'create:golden_sheet') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_gold') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_copper') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_zinc') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_tin') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_silver') + event.remove('c:hidden_from_recipe_viewers', 'create:crushed_raw_lead') - // Add "cloth" items so sails can be created with any kind of cloth instead of wool blocks - event.add('tfg:usable_in_sail_frame', 'tfc:burlap_cloth') - event.add('tfg:usable_in_sail_frame', 'tfc:wool_cloth') - event.add('tfg:usable_in_sail_frame', "tfc:silk_cloth") + // Тэги для ручек и сидушек + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`) - event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') - event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') + if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) + }) + event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') + + event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:netherite_backtank') + event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots') + + event.add('create:blaze_burner_fuel/regular', "gtceu:poor_raw_coal") + event.add('create:blaze_burner_fuel/regular', "gtceu:coal_dust") + event.add('create:blaze_burner_fuel/regular', "gtceu:charcoal_dust") + event.add('create:blaze_burner_fuel/regular', "gtceu:raw_coal") + event.add('create:blaze_burner_fuel/regular', "gtceu:rich_raw_coal") + event.add('create:blaze_burner_fuel/regular', "gtceu:flawed_coal_gem") + event.add('create:blaze_burner_fuel/regular', "gtceu:chipped_coal_gem") + event.add('create:blaze_burner_fuel/regular', "gtceu:pure_coal_dust") + + event.add('create:blaze_burner_fuel/special', "gtceu:flawless_coal_gem") + event.add('create:blaze_burner_fuel/special', "gtceu:exquisite_coal_gem") + event.add('create:blaze_burner_fuel/special', "gtceu:coke_gem") + + event.add('tfc:forge_invisible_whitelist', 'create:basin') + + event.add('create:non_movable', 'gtceu:wood_crate') + event.add('create:non_movable', 'gtceu:bronze_crate') + event.add('create:non_movable', 'gtceu:steel_crate') + event.add('create:non_movable', 'gtceu:aluminium_crate') + event.add('create:non_movable', 'gtceu:stainless_steel_crate') + event.add('create:non_movable', 'gtceu:titanium_crate') + event.add('create:non_movable', 'gtceu:tungsten_steel_crate') + event.add('create:non_movable', '#create:toolboxes') + + event.remove('create:stone_types/deepslate', 'minecraft:deepslate') + event.remove('create:stone_types/dripstone', 'minecraft:dripstone_block') + event.remove('create:stone_types/blackstone', 'minecraft:blackstone') } const registerCreateBlockTags = (event) => { - // Удаление тегов у отключенных предметов - global.CREATE_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // Удаление тегов у отключенных предметов + global.CREATE_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) - // Тэги для ручек и сидушек - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`) - - if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) - }) + // Тэги для ручек и сидушек + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`) + + if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) + }) + + // Disable bulk blasting + event.removeAll('create:fan_processing_catalysts/blasting') } const registerCreateFluidTags = (event) => { - - // Делаем воду из TFC бесконечной для помпы Create - event.add('create:bottomless/allow', 'tfc:fresh_water') - event.add('create:bottomless/allow', 'tfc:salt_water') - // Добавляем тег для скрытия в EMI - event.add('c:hidden_from_recipe_viewers', 'create:chocolate') - event.add('c:hidden_from_recipe_viewers', 'create:honey') + // Делаем воду из TFC бесконечной для помпы Create + event.add('create:bottomless/allow', 'tfc:fresh_water') + event.add('create:bottomless/allow', 'tfc:salt_water') + + // Добавляем тег для скрытия в EMI + event.add('c:hidden_from_recipe_viewers', 'create:chocolate') + event.add('c:hidden_from_recipe_viewers', 'create:honey') + + // Disable bulk blasting + event.removeAll('create:fan_processing_catalysts/blasting') } diff --git a/kubejs/server_scripts/create_additions/recipes.js b/kubejs/server_scripts/create_additions/recipes.js index d902e2016..50503671a 100644 --- a/kubejs/server_scripts/create_additions/recipes.js +++ b/kubejs/server_scripts/create_additions/recipes.js @@ -1,71 +1,95 @@ // priority: 0 const registerCreateAdditionsRecipes = (event) => { - - // Удаление рецептов - event.remove({ mod: 'createaddition' }); - // Прокатный стан - event.shaped('createaddition:rolling_mill', [ - 'ABA', - 'CBC', - 'DED' - ], { - A: '#forge:plates/wrought_iron', - B: 'create:shaft', - C: '#forge:gears/wrought_iron', - D: '#forge:rings/wrought_iron', - E: 'create:andesite_casing', - }).id('tfg:create_additions/shaped/rolling_mill') + // Удаление рецептов + event.remove({ mod: 'createaddition' }); - // Цифровой адаптер - event.shaped('createaddition:digital_adapter', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:plates/brass', - B: 'gtceu:red_alloy_single_wire', - C: 'computercraft:wired_modem', - }).id('tfg:create_additions/shaped/digital_adapter') + // Прокатный стан + event.shaped('createaddition:rolling_mill', [ + 'ABA', + 'CBC', + 'DED' + ], { + A: 'create:precision_mechanism', + B: 'greate:steel_shaft', + C: '#forge:gears/black_steel', + D: '#gtceu:circuits/ulv', + E: 'gtceu:ulv_machine_hull' + }).id('tfg:create_additions/shaped/rolling_mill') - // Портативный энергетический интерфейс - event.shaped('createaddition:portable_energy_interface', [ - 'ABC', - 'DEC', - 'ADC' - ], { - A: '#forge:plates/brass', - B: 'create:chute', - C: 'gtceu:copper_octal_wire', - D: 'gtceu:copper_single_cable', - E: 'create:brass_casing' - }).id('tfg:create_additions/shaped/portable_energy_interface') + // Цифровой адаптер + event.shaped('createaddition:digital_adapter', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/brass', + B: 'gtceu:red_alloy_single_wire', + C: 'computercraft:wired_modem', + }).id('tfg:create_additions/shaped/digital_adapter') - // Батарейный блок - event.recipes.gtceu.assembler('create_additions/battery') - .itemInputs('gtceu:bronze_frame', '6x gtceu:bronze_plate', '24x gtceu:bronze_screw', '#gtceu:batteries/hv') - .itemOutputs('createaddition:modular_accumulator') - .duration(400) - .EUt(512) + // Портативный энергетический интерфейс + event.shaped('createaddition:portable_energy_interface', [ + 'ABC', + 'DEC', + 'ADC' + ], { + A: '#forge:plates/brass', + B: 'create:chute', + C: 'gtceu:copper_octal_wire', + D: 'gtceu:copper_single_cable', + E: 'create:brass_casing' + }).id('tfg:create_additions/shaped/portable_energy_interface') - // Колючая проволка - event.shapeless('4x createaddition:barbed_wire', [ - '#forge:rods/wrought_iron', - '#forge:rods/long/wrought_iron', - '#forge:rods/wrought_iron', - '#forge:rods/long/wrought_iron', - '#forge:rods/wrought_iron', - '#forge:rods/long/wrought_iron', - '#forge:rods/wrought_iron', - '#forge:rods/long/wrought_iron', - '#forge:tools/hammers' - ]).id('tfg:create_additions/shapeless/barbed_wire') + // Батарейный блок + event.recipes.gtceu.assembler('create_additions/battery') + .itemInputs('gtceu:bronze_frame', '6x #forge:plates/bronze', '24x #forge:screws/bronze', '#gtceu:batteries/hv') + .itemOutputs('createaddition:modular_accumulator') + .duration(400) + .EUt(512) - event.recipes.gtceu.assembler('tfg:createaddition/barbed_wire') - .itemInputs('4x #forge:rods/wrought_iron', '4x #forge:rods/long/wrought_iron') - .circuit(3) - .itemOutputs('4x createaddition:barbed_wire') - .duration(200) - .EUt(20) + // Колючая проволка + event.shapeless('4x createaddition:barbed_wire', [ + '#forge:rods/wrought_iron', + '#forge:rods/long/wrought_iron', + '#forge:rods/wrought_iron', + '#forge:rods/long/wrought_iron', + '#forge:rods/wrought_iron', + '#forge:rods/long/wrought_iron', + '#forge:rods/wrought_iron', + '#forge:rods/long/wrought_iron', + '#forge:tools/hammers' + ]).id('tfg:create_additions/shapeless/barbed_wire') + + event.recipes.gtceu.assembler('tfg:createaddition/barbed_wire') + .itemInputs('4x #forge:rods/wrought_iron', '4x #forge:rods/long/wrought_iron') + .circuit(3) + .itemOutputs('4x createaddition:barbed_wire') + .duration(200) + .EUt(20) + + event.shaped('createaddition:electric_motor', [ + 'CCC', + 'BDA', + 'CCC' + ], { + A: 'gtceu:ulv_voltage_coil', + B: 'create:rotation_speed_controller', + C: 'gtceu:tin_single_cable', + D: 'gtceu:lv_electric_motor', + }).id('tfg:createadditions/shaped/electric_motor') + + event.shaped('createaddition:alternator', [ + 'ACA', + 'FDB', + 'ECE' + ], { + A: '#gtceu:resistors', + B: '#gtceu:circuits/lv', + C: 'gtceu:ulv_voltage_coil', + D: 'gtceu:lv_machine_hull', + E: 'gtceu:tin_single_cable', + F: 'greate:steel_shaft' + }).id('tfg:createadditions/shaped/alternator') } diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index 8862cc894..ade6c0fc4 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -1,74 +1,70 @@ // priority: 0 const registerCreateConnectedRecipes = (event) => { - // Centrifugal Clutch - event.shapeless('create_connected:centrifugal_clutch', [ - 'create:andesite_casing', - '#forge:plates/wrought_iron', - 'create:speedometer', - 'create:shaft', - ]).id('create_connected:crafting/kinetics/centrifugal_clutch') - // Freewheel Clutch' - event.shapeless('create_connected:freewheel_clutch', [ - 'create:andesite_casing', - '#forge:plates/wrought_iron', - 'create:shaft', - 'create:cogwheel', - ]).id('create_connected:crafting/kinetics/freewheel_clutch') + // Remove Fluid Vessel Crafting + event.remove({ id: 'create_connected:crafting/kinetics/fluid_vessel' }) - // Overstress Clutch - event.shapeless('create_connected:overstress_clutch', [ - 'create:andesite_casing', - '#forge:plates/wrought_iron', - 'create:shaft', - 'create:electron_tube', - ]).id('create_connected:crafting/kinetics/overstress_clutch') + // Centrifugal Clutch + event.shapeless('create_connected:centrifugal_clutch', [ + 'create:andesite_casing', + '#forge:plates/wrought_iron', + 'create:speedometer', + '#tfg:shafts', + ]).id('create_connected:crafting/kinetics/centrifugal_clutch') - // Item Silo - event.shaped('create_connected:item_silo', [ - 'CAC', - 'BAD', - 'CAC' - ], { - A: '#forge:chests/wooden', - B: '#forge:sheets/wrought_iron', - C: '#forge:screws/steel', - D: '#forge:tools/screwdrivers' - }).id('create_connected:crafting/kinetics/item_silo') + // Freewheel Clutch' + event.shapeless('create_connected:freewheel_clutch', [ + 'create:andesite_casing', + '#forge:plates/wrought_iron', + '#tfg:shafts', + '#tfg:small_cogwheels', + ]).id('create_connected:crafting/kinetics/freewheel_clutch') - event.recipes.gtceu.assembler('tfg:create_connected/item_silo') - .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel') - .circuit(10) - .itemOutputs('create_connected:item_silo') - .duration(200) - .EUt(20) + // Overstress Clutch + event.shapeless('create_connected:overstress_clutch', [ + 'create:andesite_casing', + '#forge:plates/wrought_iron', + '#tfg:shafts', + 'create:electron_tube', + ]).id('create_connected:crafting/kinetics/overstress_clutch') - // Sequenced Pulse Generator - event.shaped('create_connected:sequenced_pulse_generator', [ - 'AB ', - 'ACD', - 'EEE' - ], { - A: 'create:electron_tube', - B: 'create_connected:control_chip', - C: '#forge:plates/bronze', - D: 'minecraft:redstone_torch', - E: '#forge:stone' - }).id('create_connected:crafting/kinetics/sequenced_pulse_generator') + // Item Silo + event.shaped('create_connected:item_silo', [ + ' C ', + 'BAD', + ' C ' + ], { + A: '#forge:chests/wooden', + B: '#forge:sheets/wrought_iron', + C: '#forge:screws/wrought_iron', + D: '#forge:tools/screwdrivers' + }).id('create_connected:crafting/kinetics/item_silo') - // Shear Pin - event.recipes.gtceu.cutter('tfg:create_connected/shear_pin') - .itemInputs('create:shaft') - .itemOutputs('create_connected:shear_pin') - .duration(96) - .EUt(8) + event.recipes.gtceu.assembler('tfg:create_connected/item_silo') + .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel') + .circuit(10) + .itemOutputs('create_connected:item_silo') + .duration(200) + .EUt(20) - event.recipes.gtceu.circuit_assembler('tfg:create_connected/control_chip') - .itemInputs('#forge:plates/gold', 'gtceu:resin_printed_circuit_board', '2x create:electron_tube') - .circuit(11) - .inputFluids(Fluid.of('gtceu:redstone', 144)) - .itemOutputs('create_connected:control_chip') - .duration(720) - .EUt(16) + // Sequenced Pulse Generator + event.shaped('create_connected:sequenced_pulse_generator', [ + 'AB ', + 'ACD', + 'EEE' + ], { + A: 'create:electron_tube', + B: '#gtceu:circuits/ulv', + C: '#forge:plates/bronze', + D: 'minecraft:redstone_torch', + E: '#forge:stone' + }).id('create_connected:crafting/kinetics/sequenced_pulse_generator') + + // Shear Pin + event.recipes.gtceu.cutter('tfg:create_connected/shear_pin') + .itemInputs('#tfg:shafts') + .itemOutputs('create_connected:shear_pin') + .duration(96) + .EUt(8) } \ No newline at end of file diff --git a/kubejs/server_scripts/create_connected/tags.js b/kubejs/server_scripts/create_connected/tags.js index 211e84e54..4dbd1c471 100644 --- a/kubejs/server_scripts/create_connected/tags.js +++ b/kubejs/server_scripts/create_connected/tags.js @@ -1,7 +1,11 @@ const registerCreateConnectedItemTags = (event) => { - // Removes tags from the Cherry and Bamboo wooden panes added by Create Connected - event.removeAllTagsFrom("create_connected:cherry_window_pane") - event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane") - event.removeAllTagsFrom("create_connected:bamboo_window_pane") - event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane") + // Removes tags from the Cherry and Bamboo wooden panes added by Create Connected + event.removeAllTagsFrom("create_connected:cherry_window_pane") + event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane") + event.removeAllTagsFrom("create_connected:bamboo_window_pane") + event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane") + event.removeAllTagsFrom('create_connected:control_chip') + event.add('c:hidden_from_recipe_viewers', 'create_connected:control_chip') + + event.remove('minecraft:creeper_drop_music_discs', ['create_connected:music_disc_elevator', 'create_connected:music_disc_interlude']) } \ No newline at end of file diff --git a/kubejs/server_scripts/create_horse_power/recipes.js b/kubejs/server_scripts/create_horse_power/recipes.js new file mode 100644 index 000000000..865f155d6 --- /dev/null +++ b/kubejs/server_scripts/create_horse_power/recipes.js @@ -0,0 +1,48 @@ +// priority: 0 + +function registerCreateHorsePowerBlockRecipes(event) { + + event.remove({id: 'createhorsepower:horse_crank' }) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:gears/bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('tfg:shaped/horse_crank_bronze') + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:gears/bismuth_bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('tfg:shaped/horse_crank_bismuth_bronze') + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:gears/black_bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('tfg:shaped/horse_crank_black_bronze') +} \ No newline at end of file diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js new file mode 100644 index 000000000..874417279 --- /dev/null +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -0,0 +1,253 @@ +const registerCreatedecoRecipes = (event) => { + + //#region Item Replacements + const replacements = { + 'create:zinc_ingot': '#forge:ingots/zinc', + 'createdeco:zinc_sheet': '#forge:plates/zinc', + 'create:zinc_nugget': '#forge:nuggets/zinc', + 'create:brass_ingot': '#forge:ingots/brass', + 'create:brass_sheet': '#forge:plates/brass', + 'create:brass_nugget': '#forge:nuggets/brass', + 'minecraft:iron_ingot': '#forge:ingots/wrought_iron', + 'create:iron_sheet': '#forge:plates/wrought_iron', + 'minecraft:iron_nugget': '#forge:nuggets/wrought_iron', + 'createdeco:industrial_iron_ingot': '#forge:ingots/steel', + 'createdeco:industrial_iron_sheet': '#forge:plates/steel', + 'createdeco:industrial_iron_nugget': '#forge:nuggets/steel', + 'minecraft:torch': 'minecraft:glowstone_dust', + 'minecraft:vine': '#tfc:moss', + 'create:andesite_alloy': '#forge:ingots/tin_alloy', + 'createdeco:andesite_sheet': '#forge:plates/tin_alloy', + 'create:copper_nugget': '#forge:nuggets/copper', + 'createdeco:netherite_nugget': '#forge:nuggets/blue_steel', + 'minecraft:string': '#forge:string' + }; + + // Iterate through the replacement list and update recipes + Object.keys(replacements).forEach(missingItem => { + const replacementItem = replacements[missingItem]; + + event.replaceInput({ mod: "createdeco" }, missingItem, replacementItem); + }); + //#endregion + + //#region Recipe Removal + event.remove({ output: 'createdeco:zinc_sheet' }) + event.remove({ output: 'createdeco:industrial_iron_sheet' }) + event.remove({ output: 'createdeco:industrial_iron_nugget' }) + event.remove({ output: 'createdeco:industrial_iron_ingot' }) + event.remove({ id: 'createdeco:andesite_bars_overlay' }) + event.remove({ id: 'createdeco:andesite_bars' }) + event.remove({ id: 'createdeco:brass_bars_overlay' }) + event.remove({ id: 'createdeco:brass_bars' }) + event.remove({ id: 'createdeco:iron_bars_overlay' }) + event.remove({ id: 'createdeco:copper_bars_overlay' }) + event.remove({ id: 'createdeco:copper_bars' }) + event.remove({ id: 'createdeco:industrial_iron_bars_overlay' }) + event.remove({ id: 'createdeco:industrial_iron_bars' }) + event.remove({ id: 'createdeco:zinc_bars_overlay' }) + event.remove({ id: 'createdeco:zinc_bars' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/tin_alloy' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/brass' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/wrought_iron' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/copper' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/steel' }) + event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/zinc' }) + //#endregion + + //#region Lamp Recipes + const lampColors = ['blue', 'green', 'red', 'yellow']; + const lampTypes = ['zinc', 'brass', 'iron', 'industrial_iron', 'copper', 'andesite']; + + lampTypes.forEach(type => { + lampColors.forEach(color => { + event.remove({ output: `createdeco:${color}_${type}_lamp` }); + }); + }); + + function lampRecipe(output, lampType, lampColor) { + + const replacementLampType = lampType; + if (lampType == 'industrial_iron') { + replacementLampType = 'steel'; + } + if (lampType == 'andesite') { + replacementLampType = 'wrought_iron'; + } + + let ingredients = { + T: `minecraft:glowstone_dust`, + N: `#forge:nuggets/${replacementLampType}`, + P: `#forge:plates/${replacementLampType}`, + D: null, + X: null + }; + + // Adjust based on the color + if (lampColor === 'green') { + ingredients.D = 'gtceu:small_copper_dust'; + } else if (lampColor === 'blue') { + ingredients.D = 'gtceu:small_sulfur_dust'; + } else if (lampColor === 'red') { + ingredients.D = `gtceu:small_lithium_dust`; + } else if (lampColor === 'yellow') { + ingredients.D = `gtceu:small_salt_dust`; + } + + if (lampType === 'iron') { + ingredients.N = '#forge:nuggets/wrought_iron'; + ingredients.P = '#forge:plates/wrought_iron'; + } + if (lampType === 'andesite') { + ingredients.N = '#forge:nuggets/tin_alloy'; + ingredients.P = '#forge:plates/tin_alloy'; + } + if (lampType === 'industrial_iron') { + ingredients.N = '#forge:nuggets/steel'; + ingredients.P = '#forge:plates/steel'; + } + + + // Create the shaped recipe + + event.shaped(output, [ + 'XN ', + 'DTX', + 'XP ' + ], ingredients); + } + + // Loop through each lamp type and color to create the recipes + lampTypes.forEach(lampType => { + lampColors.forEach(lampColor => { + let output = `createdeco:${lampColor}_${lampType}_lamp`; // Define the output item ID + lampRecipe(output, lampType, lampColor); // Call the lampRecipe function for each combination + }); + }); + //#endregion + + //#region Brick Recipes + const brickTypes = ['blue', 'verdant', 'pearl', 'dean', 'dusk', 'scarlet', 'umber'] + const powderTypes = ['lapis_lazuli', 'malachite', 'soda_ash', 'limonite', 'charcoal', 'hematite', 'cassiterite'] + + brickTypes.forEach(type => { + event.remove({ output: `createdeco:${type}_bricks` }); + }); + + brickTypes.forEach((type, index) => { + const powder = `tfc:powder/${powderTypes[index]}`; + event.shaped(Item.of(`createdeco:${type}_bricks`, 4), + [ + 'BDB', + 'MBM', + 'BMB' + ], + { + B: `minecraft:brick`, + D: powder, + M: `tfc:mortar` + }); + }); + //#endregion + + //#region Dyes + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.remove({ output: `createdeco:${color}_shipping_container`, input: 'minecraft:barrel' }); + + event.replaceInput({ mod: "createdeco" }, `minecraft:${color}_dye`, `#forge:dyes/${color}`); + }); + //#endregion + + // #region Bars + + const metalThings = [ + { metal: 'andesite', material: 'tin_alloy', tier: 3 }, + { metal: 'brass', material: 'brass', tier: 2 }, + { metal: 'iron', material: 'wrought_iron', tier: 3 }, + { metal: 'copper', material: 'copper', tier: 1 }, + { metal: 'industrial_iron', material: 'steel', tier: 4 }, + { metal: 'zinc', material: 'zinc', tier: 1 } + ]; + + metalThings.forEach(bar => { + event.remove({ id: `createdeco:${bar.metal}_trapdoor` }) + event.remove({ id: `createdeco:${bar.metal}_door` }) + + if (bar.metal != 'iron') { + event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars`, `#forge:plates/${bar.material}`, ['shrink_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars`) + + event.recipes.tfc.anvil(`createdeco:${bar.metal}_door`, `#forge:double_plates/${bar.material}`, ['draw_last', 'draw_second_last', 'punch_third_last']) + .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_door`) + + event.recipes.tfc.anvil(`createdeco:${bar.metal}_trapdoor`, `#forge:plates/${bar.material}`, ['shrink_last', 'draw_second_last', 'draw_third_last']) + .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_trapdoor`) + + event.stonecutting(`4x createdeco:${bar.metal}_trapdoor`, `#forge:ingots/${bar.material}`) + .id(`createdeco:stonecutting/${bar.metal}_trapdoor`) + + event.stonecutting(`createdeco:${bar.metal}_door`, `#forge:ingots/${bar.material}`) + .id(`createdeco:stonecutting/${bar.metal}_door`) + } + + event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars_overlay`, `#forge:plates/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars_overlay`) + + }) + + + // #endregion + + //#region Coins + + event.recipes.gtceu.forming_press('createdeco:gold_coin') + .itemInputs('#forge:nuggets/gold') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('4x createdeco:gold_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:netherite_coin') + .itemInputs('#forge:nuggets/blue_steel') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('4x createdeco:netherite_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:brass_coin') + .itemInputs('#forge:nuggets/brass') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('4x createdeco:brass_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:iron_coin') + .itemInputs('#forge:nuggets/wrought_iron') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('4x createdeco:iron_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:copper_coin') + .itemInputs('#forge:nuggets/copper') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('4x createdeco:copper_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:industrial_iron_coin') + .itemInputs('#forge:nuggets/steel') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('createdeco:industrial_iron_coin') + .duration(50) + .EUt(16) + + event.recipes.gtceu.forming_press('createdeco:zinc_coin') + .itemInputs('#forge:nuggets/zinc') + .notConsumable('gtceu:credit_casting_mold') + .itemOutputs('createdeco:zinc_coin') + .duration(50) + .EUt(16) + + // #region +}; \ No newline at end of file diff --git a/kubejs/server_scripts/createdeco/tags.js b/kubejs/server_scripts/createdeco/tags.js new file mode 100644 index 000000000..4c305ebe0 --- /dev/null +++ b/kubejs/server_scripts/createdeco/tags.js @@ -0,0 +1,48 @@ +const registerCreatedecoItemTags = (event) => { + + //#region Hidden Items + global.CREATEDECO_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }); + //#endregion + + event.remove('createdeco:internal/blocks/iron_blocks', '#forge:storage_blocks/iron') + + //#region Apply Tags + const metalBars = ['andesite', 'brass', 'iron', 'copper', 'industrial_iron', 'zinc']; + + metalBars.forEach(metalBars => { + event.add('tfg:metal_bars', `createdeco:${metalBars}_bars`) + event.add('tfg:metal_bars', `createdeco:${metalBars}_bars_overlay`) + }); + + event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron") + event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper") + event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass") + event.add('createdeco:internal/plates/andesite_plates', '#forge:plates/tin_alloy') + event.add('createdeco:internal/plates/industrial_iron_plates', '#forge:sheets/steel') + event.add('createdeco:internal/plates/zinc_plates', '#forge:sheets/zinc') + + event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron") + event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper") + event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc") + event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel") + event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass") + event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper") + + event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron") + event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper") + event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass") + event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc") + event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy") + event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`) + + event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron") + event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper") + event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass") + event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel") + event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc") + event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy") + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/diggerhelmet/recipes.js b/kubejs/server_scripts/diggerhelmet/recipes.js new file mode 100644 index 000000000..a66eb7ca0 --- /dev/null +++ b/kubejs/server_scripts/diggerhelmet/recipes.js @@ -0,0 +1,19 @@ +// priority: 0 + +function registerDiggerHelmetRecipes(event) { + + event.remove({ mod: 'diggerhelmet' }) + + event.shaped('diggerhelmet:digger_helmet', [ + ' E ', + 'BA ', + 'DCD' + ], { + A: '#minecraft:candles', + B: '#forge:rings', + C: 'minecraft:leather_helmet', + D: '#forge:rods/tin', + E: 'minecraft:glowstone_dust' + }) + .id('tfg:shaped/digger_helmet') +} \ No newline at end of file diff --git a/kubejs/server_scripts/diggerhelmet/tags.js b/kubejs/server_scripts/diggerhelmet/tags.js new file mode 100644 index 000000000..6703b0e54 --- /dev/null +++ b/kubejs/server_scripts/diggerhelmet/tags.js @@ -0,0 +1,14 @@ +// priority: 0 + +function registerDiggerHelmetItemTags(event) { + + const DISABLED_ITEMS = [ + 'diggerhelmet:eternal_candle' + ] + + DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/domum_ornamentum/recipes.js b/kubejs/server_scripts/domum_ornamentum/recipes.js new file mode 100644 index 000000000..1105b388f --- /dev/null +++ b/kubejs/server_scripts/domum_ornamentum/recipes.js @@ -0,0 +1,265 @@ +const registerDomumOrnamentumRecipes = (event) => { + + event.remove({ mod: 'domum_ornamentum', type: 'minecraft:crafting_shaped' }) + event.remove({ mod: 'domum_ornamentum', type: 'minecraft:crafting_shapeless' }) + + //#region Extra Blocks + event.shaped(Item.of('domum_ornamentum:brick_extra', 5), + [ + 'B B', + ' B ', + 'B B' + ], + { + B: 'minecraft:bricks' + }).id('domum_ornamentum:brick_extra'); + + event.shaped(Item.of('domum_ornamentum:cobblestone_extra', 5), + [ + 'B B', + ' B ', + 'B B' + ], + { + B: '#forge:cobblestone' + }).id('domum_ornamentum:cobblestone_extra'); + + event.shaped(Item.of('domum_ornamentum:blue_cobblestone_extra', 8), + [ + 'BBB', + 'BAB', + 'BBB' + ], + { + B: 'domum_ornamentum:cobblestone_extra', + A: '#forge:dyes/blue', + }).id('domum_ornamentum:blue_cobblestone_extra'); + + event.shaped(Item.of('domum_ornamentum:green_cobblestone_extra', 8), + [ + 'BBB', + 'BAB', + 'BBB' + ], + { + B: 'domum_ornamentum:cobblestone_extra', + A: '#forge:dyes/green', + }).id('domum_ornamentum:green_cobblestone_extra'); + + event.shaped(Item.of('domum_ornamentum:purple_cobblestone_extra', 8), + [ + 'BBB', + 'BAB', + 'BBB' + ], + { + B: 'domum_ornamentum:cobblestone_extra', + A: '#forge:dyes/purple', + }).id('domum_ornamentum:purple_cobblestone_extra'); + + event.shaped(Item.of('domum_ornamentum:mossy_cobblestone_extra', 8), + [ + 'BBB', + 'BAB', + 'BBB' + ], + { + B: 'domum_ornamentum:cobblestone_extra', + A: '#tfc:moss', + }).id('domum_ornamentum:mossy_cobblestone_extra'); + + event.shaped(Item.of('domum_ornamentum:wheat_extra', 5), + [ + 'B B', + ' B ', + 'B B' + ], + { + B: 'minecraft:hay_block' + }).id('domum_ornamentum:wheat_extra'); + + event.shaped(Item.of('domum_ornamentum:architectscutter', 1), + [ + ' E ', + 'ACA', + 'BDB' + ], + { + A: '#forge:plates/wrought_iron', + B: '#tfc:lumber', + C: '#forge:plates/brass', + D: '#forge:small_gears', + E: '#forge:buzz_saw_heads' + }).id('domum_ornamentum:architectscutter'); + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + '4x domum_ornamentum:cactus_extra', + ['tfc:plant/barrel_cactus', '#tfc:saws'])) + .id('domum_ornamentum:cactus_extra'); + + event.shaped(Item.of('domum_ornamentum:green_cactus_extra', 8), + [ + 'AAA', + 'ABA', + 'AAA' + ], + { + A: 'domum_ornamentum:cactus_extra', + B: '#forge:dyes/green' + }).id('domum_ornamentum:green_cactus_extra'); + + event.shapeless('4x domum_ornamentum:paper_extra', [ + '4x #forge:paper' + ]).id('domum_ornamentum:paper_extra'); + + event.shapeless('4x domum_ornamentum:paper_extra', [ + '4x domum_ornamentum:white_paper_extra' + ]).id('domum_ornamentum:paper_extra_decompress'); + + event.shapeless('4x domum_ornamentum:white_paper_extra', [ + '4x domum_ornamentum:paper_extra' + ]).id('domum_ornamentum:white_paper_extra'); + //#endregion + + //#region Colored Bricks + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.shaped(Item.of(`domum_ornamentum:${color}_brick_extra`, 8), + [ + 'AAA', + 'ABA', + 'AAA' + ], + { + A: 'domum_ornamentum:brick_extra', + B: `#forge:dyes/${color}` + }).id(`domum_ornamentum:${color}_brick_extra`); + }) + //#endregion + + //#region Bricks + //Brown Bricks + event.shaped(Item.of('domum_ornamentum:brown_bricks', 4), + [ + 'BAB', + 'CBC', + 'BAB' + ], + { + A: 'tfc:brick/chert', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:brown_bricks'); + + event.shaped(Item.of('domum_ornamentum:brown_stone_bricks', 4), + [ + 'BCB', + 'ABA', + 'BCB' + ], + { + A: 'tfc:brick/chert', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:brown_stone_bricks'); + + //Beige Bricks + event.shaped(Item.of('domum_ornamentum:beige_bricks', 4), + [ + 'BAB', + 'CBC', + 'BAB' + ], + { + A: 'tfc:brick/conglomerate', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:beige_bricks'); + + event.shaped(Item.of('domum_ornamentum:beige_stone_bricks', 4), + [ + 'BCB', + 'ABA', + 'BCB' + ], + { + A: 'tfc:brick/conglomerate', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:beige_stone_bricks'); + + //Cream Bricks + event.shaped(Item.of('domum_ornamentum:cream_bricks', 4), + [ + 'BAB', + 'CBC', + 'BAB' + ], + { + A: 'tfc:brick/gneiss', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:cream_bricks'); + + event.shaped(Item.of('domum_ornamentum:cream_stone_bricks', 4), + [ + 'BCB', + 'ABA', + 'BCB' + ], + { + A: 'tfc:brick/gneiss', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:cream_stone_bricks'); + + //Roan Bricks + event.shaped(Item.of('domum_ornamentum:roan_bricks', 4), + [ + 'BAB', + 'CBC', + 'BAB' + ], + { + A: 'tfc:brick/claystone', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:roan_bricks'); + + event.shaped(Item.of('domum_ornamentum:roan_stone_bricks', 4), + [ + 'BCB', + 'ABA', + 'BCB' + ], + { + A: 'tfc:brick/claystone', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:roan_stone_bricks'); + + //Sand Bricks + event.shaped(Item.of('domum_ornamentum:sand_bricks', 4), + [ + 'BAB', + 'CBC', + 'BAB' + ], + { + A: 'tfc:brick/limestone', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:sand_bricks'); + + event.shaped(Item.of('domum_ornamentum:sand_stone_bricks', 4), + [ + 'BCB', + 'ABA', + 'BCB' + ], + { + A: 'tfc:brick/limestone', + B: 'tfc:mortar', + C: 'minecraft:brick', + }).id('domum_ornamentum:sand_stone_bricks'); + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js new file mode 100644 index 000000000..15988fbd6 --- /dev/null +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -0,0 +1,192 @@ +const registerDomumOrnamentumBlockTags = (event) => { + + //#region Hidden Items + global.DOMUM_ORNAMENTUM_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }); + //#endregion + + //#region Assign Tags + const materials = [ + //tags + '#tfc:rock/bricks', + '#tfc:rock/smooth', + '#tfc:rock/gravel', + '#minecraft:planks', + '#minecraft:logs', + '#tfc:colored_raw_alabaster', + '#tfc:colored_bricks_alabaster', + '#tfc:colored_polished_alabaster', + '#tfc:mud_bricks', + '#forge:sandstone', + //rnr shingles + 'rnr:wood/shingles/teak', + 'rnr:wood/shingles/cypress', + 'rnr:wood/shingles/fig', + 'rnr:wood/shingles/ironwood', + 'rnr:wood/shingles/ipe', + 'rnr:wood/shingles/chestnut', + 'rnr:wood/shingles/blackwood', + 'rnr:wood/shingles/birch', + 'rnr:wood/shingles/aspen', + 'rnr:wood/shingles/ash', + 'rnr:wood/shingles/acacia', + 'rnr:ceramic_roof', + 'rnr:terracotta_roof', + 'rnr:wood/shingles/douglas_fir', + 'rnr:wood/shingles/hickory', + 'rnr:wood/shingles/kapok', + 'rnr:wood/shingles/mangrove', + 'rnr:wood/shingles/maple', + 'rnr:wood/shingles/oak', + 'rnr:wood/shingles/palm', + 'rnr:wood/shingles/pine', + 'rnr:wood/shingles/rosewood', + 'rnr:wood/shingles/sequoia', + 'rnr:wood/shingles/spruce', + 'rnr:wood/shingles/sycamore', + 'rnr:wood/shingles/white_cedar', + 'rnr:wood/shingles/willow', + 'rnr:wood/shingles/baobab', + 'rnr:wood/shingles/eucalyptus', + 'rnr:wood/shingles/mahogany', + 'rnr:wood/shingles/hevea', + 'rnr:wood/shingles/tualang', + //tfc blocks + 'tfc:fire_bricks', + 'tfc:aggregate', + 'tfc:alabaster/raw', + 'tfc:alabaster/bricks', + 'tfc:alabaster/polished', + //gtceu blocks + 'gtceu:coke_oven_bricks', + 'gtceu:firebricks', + 'gtceu:mossy_light_concrete_cobblestone', + 'gtceu:polished_light_concrete', + 'gtceu:light_concrete_bricks', + 'gtceu:cracked_light_concrete_bricks', + 'gtceu:mossy_light_concrete_bricks', + 'gtceu:chiseled_light_concrete', + 'gtceu:light_concrete_tile', + 'gtceu:light_concrete_small_tile', + 'gtceu:light_concrete_windmill_a', + 'gtceu:light_concrete_windmill_b', + 'gtceu:small_light_concrete_bricks', + 'gtceu:square_light_concrete_bricks', + 'gtceu:mossy_dark_concrete_cobblestone', + 'gtceu:polished_dark_concrete', + 'gtceu:dark_concrete_bricks', + 'gtceu:cracked_dark_concrete_bricks', + 'gtceu:mossy_dark_concrete_bricks', + 'gtceu:chiseled_dark_concrete', + 'gtceu:dark_concrete_tile', + 'gtceu:dark_concrete_small_tile', + 'gtceu:dark_concrete_windmill_a', + 'gtceu:dark_concrete_windmill_b', + 'gtceu:small_dark_concrete_bricks', + 'gtceu:square_dark_concrete_bricks', + //createdeco blocks + 'createdeco:dean_bricks', + 'createdeco:short_dean_bricks', + 'createdeco:tiled_dean_bricks', + 'createdeco:long_dean_bricks', + 'createdeco:corner_dean_bricks', + 'createdeco:cracked_dean_bricks', + 'createdeco:mossy_dean_bricks', + 'createdeco:verdant_bricks', + 'createdeco:short_verdant_bricks', + 'createdeco:tiled_verdant_bricks', + 'createdeco:long_verdant_bricks', + 'createdeco:corner_verdant_bricks', + 'createdeco:cracked_verdant_bricks', + 'createdeco:mossy_verdant_bricks', + 'createdeco:umber_bricks', + 'createdeco:short_umber_bricks', + 'createdeco:tiled_umber_bricks', + 'createdeco:long_umber_bricks', + 'createdeco:corner_umber_bricks', + 'createdeco:cracked_umber_bricks', + 'createdeco:mossy_umber_bricks', + 'createdeco:short_red_bricks', + 'createdeco:tiled_red_bricks', + 'createdeco:long_red_bricks', + 'createdeco:corner_red_bricks', + 'createdeco:cracked_red_bricks', + 'createdeco:mossy_red_bricks', + 'createdeco:scarlet_bricks', + 'createdeco:short_scarlet_bricks', + 'createdeco:tiled_scarlet_bricks', + 'createdeco:long_scarlet_bricks', + 'createdeco:corner_scarlet_bricks', + 'createdeco:cracked_scarlet_bricks', + 'createdeco:mossy_scarlet_bricks', + 'createdeco:blue_bricks', + 'createdeco:short_blue_bricks', + 'createdeco:tiled_blue_bricks', + 'createdeco:long_blue_bricks', + 'createdeco:corner_blue_bricks', + 'createdeco:cracked_blue_bricks', + 'createdeco:mossy_blue_bricks', + 'createdeco:dusk_bricks', + 'createdeco:short_dusk_bricks', + 'createdeco:tiled_dusk_bricks', + 'createdeco:long_dusk_bricks', + 'createdeco:corner_dusk_bricks', + 'createdeco:cracked_dusk_bricks', + 'createdeco:mossy_dusk_bricks', + 'createdeco:pearl_bricks', + 'createdeco:short_pearl_bricks', + 'createdeco:tiled_pearl_bricks', + 'createdeco:long_pearl_bricks', + 'createdeco:corner_pearl_bricks', + 'createdeco:cracked_pearl_bricks', + 'createdeco:mossy_pearl_bricks' + ]; + + materials.forEach(material => { + event.add('domum_ornamentum:all_brick_materials', `${material}`) + event.add('domum_ornamentum:bricks', `${material}`) + event.add('domum_ornamentum:doors_materials', `${material}`) + event.add('domum_ornamentum:fancy_doors_materials', `${material}`) + event.add('domum_ornamentum:fancy_trapdoors_materials', `${material}`) + event.add('domum_ornamentum:fancy_gate_materials', `${material}`) + event.add('domum_ornamentum:fence_materials', `${material}`) + event.add('domum_ornamentum:paper_wall_center', `${material}`) + event.add('domum_ornamentum:paper_wall_frame', `${material}`) + event.add('domum_ornamentum:pillar_materials', `${material}`) + event.add('domum_ornamentum:post_materials', `${material}`) + event.add('domum_ornamentum:shingles_cover', `${material}`) + event.add('domum_ornamentum:shingles_roof', `${material}`) + event.add('domum_ornamentum:shingles_support', `${material}`) + event.add('domum_ornamentum:slab_materials', `${material}`) + event.add('domum_ornamentum:stairs_material', `${material}`) + event.add('domum_ornamentum:timber_frames_center', `${material}`) + event.add('domum_ornamentum:timber_frames_frame', `${material}`) + event.add('domum_ornamentum:trapdoors_materials', `${material}`) + event.add('domum_ornamentum:framed_light_center', `${material}`) + }); + + // Gregtech storage blocks don't work here + event.remove('domum_ornamentum:all_brick_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:bricks', '#forge:storage_blocks') + event.remove('domum_ornamentum:doors_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:fancy_doors_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:fancy_trapdoors_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:fancy_gate_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:fence_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:paper_wall_center', '#forge:storage_blocks') + event.remove('domum_ornamentum:paper_wall_frame', '#forge:storage_blocks') + event.remove('domum_ornamentum:pillar_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:post_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:shingles_cover', '#forge:storage_blocks') + event.remove('domum_ornamentum:shingles_roof', '#forge:storage_blocks') + event.remove('domum_ornamentum:shingles_support', '#forge:storage_blocks') + event.remove('domum_ornamentum:slab_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:stairs_material', '#forge:storage_blocks') + event.remove('domum_ornamentum:timber_frames_center', '#forge:storage_blocks') + event.remove('domum_ornamentum:timber_frames_frame', '#forge:storage_blocks') + event.remove('domum_ornamentum:trapdoors_materials', '#forge:storage_blocks') + event.remove('domum_ornamentum:framed_light_center', '#forge:storage_blocks') + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/endermanoverhaul/tags.js b/kubejs/server_scripts/endermanoverhaul/tags.js new file mode 100644 index 000000000..b838d389c --- /dev/null +++ b/kubejs/server_scripts/endermanoverhaul/tags.js @@ -0,0 +1,22 @@ +const registerEndermanOverhaulItemTags = (event) => { + + const DISABLED_ITEMS = [ + 'endermanoverhaul:tiny_skull', + 'endermanoverhaul:enderman_tooth', + 'endermanoverhaul:corrupted_blade', + 'endermanoverhaul:corrupted_shield' + ] + + DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} + + +const registerEndermanOverhaulBlockTags = (event) => { + + event.add('endermanoverhaul:cave_enderman_holdable', 'forge:ores') + event.add('endermanoverhaul:cave_enderman_holdable', 'minecraft:base_stone_nether') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/etched/recipes.js b/kubejs/server_scripts/etched/recipes.js index 7a5317129..e8f3acdf1 100644 --- a/kubejs/server_scripts/etched/recipes.js +++ b/kubejs/server_scripts/etched/recipes.js @@ -1,5 +1,8 @@ // priority: 0 - +/** + * + * @param {Internal.RecipesEventJS} event + */ const registerEtchedRecipes = (event) => { // Etching Table @@ -52,4 +55,19 @@ const registerEtchedRecipes = (event) => { // Minecart With Jukebox event.shapeless('etched:jukebox_minecart', ['minecraft:jukebox', 'minecraft:minecart']) .id('etched:jukebox_minecart') + + // Etched Blank Disc + event.remove('etched:blank_music_disc') + event.replaceOutput({ output: 'tfc:blank_disc'}, 'tfc:blank_disc', 'etched:blank_music_disc') + + //vanilla music discs + event.replaceInput({ input: 'tfc:blank_disc'}, 'tfc:blank_disc', 'etched:blank_music_disc') + event.shapeless('create_connected:music_disc_interlude', ['etched:blank_music_disc', '#create:seats']) + event.shapeless('minecraft:music_disc_relic', ['etched:blank_music_disc', 'firmalife:pottery_sherd']) + event.shapeless('alekiships:music_disc_pirate_crafting', ['etched:blank_music_disc', 'alekiships:anchor']) + event.shapeless('minecraft:music_disc_pigstep', ['etched:blank_music_disc', 'firmalife:food/bacon', 'minecraft:blackstone']) + event.shapeless('minecraft:music_disc_5', ['etched:blank_music_disc', 'minecraft:deepslate']) + event.shapeless('create_connected:music_disc_elevator', ['etched:blank_music_disc', 'create:elevator_pulley']) + //dear god why + event.shapeless('gtceu:sus_record', ['etched:blank_music_disc', '#tfc:knives', 'tfc:food/green_bean']).id('tfg:sus_record'); } \ No newline at end of file diff --git a/kubejs/server_scripts/every_compat/recipes.js b/kubejs/server_scripts/every_compat/recipes.js index f6dfc5885..dbd2b5af0 100644 --- a/kubejs/server_scripts/every_compat/recipes.js +++ b/kubejs/server_scripts/every_compat/recipes.js @@ -1,22 +1,22 @@ -// priority: 0 - -const registerEveryCompatRecipes = (event) => { - - global.TFC_WOOD_TYPES.forEach(wood => - { - event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` }) - - event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`, - [ - `everycomp:c/tfc/${wood}_window`, - '#forge:tools/saws' - ]) - .id(`tfg:everycompat/shapeless/${wood}_window_pane`) - - event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`) - .itemInputs(`3x everycomp:c/tfc/${wood}_window`) - .itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`) - .duration(40) - .EUt(20) - }) +// priority: 0 + +const registerEveryCompatRecipes = (event) => { + + global.TFC_WOOD_TYPES.forEach(wood => + { + event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` }) + + event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`, + [ + `everycomp:c/tfc/${wood}_window`, + '#forge:tools/saws' + ]) + .id(`tfg:everycompat/shapeless/${wood}_window_pane`) + + event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`) + .itemInputs(`3x everycomp:c/tfc/${wood}_window`) + .itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`) + .duration(40) + .EUt(7) + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/every_compat/tags.js b/kubejs/server_scripts/every_compat/tags.js index f23cd60e8..c44fd1870 100644 --- a/kubejs/server_scripts/every_compat/tags.js +++ b/kubejs/server_scripts/every_compat/tags.js @@ -1,9 +1,9 @@ -// priority: 0 - -const registerEveryCompatItemTags = (event) => { - - event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window') - event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane') - event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window') - event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane') +// priority: 0 + +const registerEveryCompatItemTags = (event) => { + + event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window') + event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane') + event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window') + event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane') } \ No newline at end of file diff --git a/kubejs/server_scripts/exposure/tags.js b/kubejs/server_scripts/exposure/tags.js new file mode 100644 index 000000000..e92377831 --- /dev/null +++ b/kubejs/server_scripts/exposure/tags.js @@ -0,0 +1,13 @@ +/** + * + * @param {TagEvent.Item} evt + */ +const registerExposureItemTags = (evt) => +{ + evt.add('exposure:black_printing_dyes', '#forge:dyes/black') + evt.add('exposure:yellow_printing_dyes', '#forge:dyes/yellow') + evt.add('exposure:cyan_printing_dyes', '#forge:dyes/cyan') + evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta') + + evt.add('exposure:photo_agers', '#forge:dyes/brown') +} \ No newline at end of file diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js index 9db24e928..61d2ce7d8 100644 --- a/kubejs/server_scripts/extended_ae2/recipes.js +++ b/kubejs/server_scripts/extended_ae2/recipes.js @@ -5,6 +5,8 @@ const registerExtendedAE2Recipes = (event) => { { id: 'expatternprovider:ei_part' }, { id: 'expatternprovider:epp_alt' }, { id: 'expatternprovider:ei_alt' }, + { id: 'expatternprovider:oversize_interface_alt' }, + { id: 'expatternprovider:oversize_interface_part' }, ], mod: 'expatternprovider' }); @@ -75,6 +77,64 @@ const registerExtendedAE2Recipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) //#endregion + //#region Oversized Interface + + //Luv + + event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_luv') + .itemInputs( + '2x #expatternprovider:extended_interface', + '8x megacells:accumulation_processor', + '4x gtceu:luv_robot_arm', + '8x gtceu:fusion_glass', + '4x #forge:dense_plates/rhodium_plated_palladium', + '#gtceu:circuits/luv', + '2x #gtceu:circuits/iv',) + .inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152)) + .itemOutputs("expatternprovider:oversize_interface") + .duration(300) + .EUt(GTValues.VA[GTValues.LuV]) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8)) + .cleanroom(CleanroomType.CLEANROOM) + + //ZPM + + event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_zpm') + .itemInputs( + '8x #expatternprovider:extended_interface', + '8x megacells:accumulation_processor', + '4x gtceu:zpm_robot_arm', + '8x gtceu:fusion_glass', + '4x #forge:dense_plates/naquadah_alloy', + '#gtceu:circuits/zpm', + '2x #gtceu:circuits/luv',) + .inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152)) + .itemOutputs("4x expatternprovider:oversize_interface") + .duration(300) + .EUt(GTValues.VA[GTValues.ZPM]) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8)) + .cleanroom(CleanroomType.CLEANROOM) + + //UV + + event.recipes.gtceu.assembly_line('expatternprovider:oversize_interface_uv') + .itemInputs( + '16x #expatternprovider:extended_interface', + '8x megacells:accumulation_processor', + '4x gtceu:uv_robot_arm', + '8x gtceu:fusion_glass', + '4x #forge:dense_plates/darmstadtium', + '#gtceu:circuits/uv', + '2x #gtceu:circuits/zpm',) + .inputFluids(Fluid.of('gtceu:polybenzimidazole', 1152)) + .itemOutputs("8x expatternprovider:oversize_interface") + .duration(300) + .EUt(GTValues.VA[GTValues.UV]) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_interface")).EUt(GTValues.VA[GTValues.LuV]).CWUt(8)) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + //#region ex pattern provider // IV event.recipes.gtceu.assembly_line('expatternprovider:ex_pattern_provider_iv') @@ -279,7 +339,7 @@ const registerExtendedAE2Recipes = (event) => { .itemInputs( 'ae2:blank_pattern', 'ae2:logic_processor') - .inputFluids(Fluid.of('gtceu:green_dye', 144)) + .inputFluids(Fluid.of('tfc:green_dye', 144)) .itemOutputs('expatternprovider:pattern_modifier') .duration(100) .EUt(480) @@ -482,6 +542,245 @@ const registerExtendedAE2Recipes = (event) => { .duration(200) .EUt(1920) - + //#endregion - } \ No newline at end of file + //#region Assembler Matrix + + //Frame + + event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_luv') + .itemInputs( + '4x gtceu:plascrete', + '4x gtceu:luv_machine_casing', + '1x #gtceu:circuits/luv', + '1x megacells:accumulation_processor', + '4x ae2:logic_processor', + '4x #forge:rods/long/rhodium_plated_palladium', + '1x expatternprovider:ex_molecular_assembler',) + .inputFluids( + Fluid.of("gtceu:concrete", 1152), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('expatternprovider:assembler_matrix_frame') + .duration(400) + .EUt(30768) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4)) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_zpm') + .itemInputs( + '8x gtceu:plascrete', + '4x gtceu:zpm_machine_casing', + '1x #gtceu:circuits/zpm', + '1x megacells:accumulation_processor', + '4x ae2:logic_processor', + '4x #forge:rods/long/naquadah_alloy', + '1x expatternprovider:ex_molecular_assembler',) + .inputFluids( + Fluid.of("gtceu:concrete", 1152), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('4x expatternprovider:assembler_matrix_frame') + .duration(400) + .EUt(123072) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4)) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line('expatternprovider:assembler_matrix_frame_uv') + .itemInputs( + '16x gtceu:plascrete', + '1x gtceu:uv_machine_casing', + '1x #gtceu:circuits/uv', + '1x megacells:accumulation_processor', + '4x ae2:logic_processor', + '4x #forge:rods/long/darmstadtium', + '1x expatternprovider:ex_molecular_assembler',) + .inputFluids( + Fluid.of("gtceu:concrete", 1152), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('8x expatternprovider:assembler_matrix_frame') + .duration(400) + .EUt(492288) + .stationResearch(b => b.researchStack(Item.of("expatternprovider:ex_molecular_assembler")).EUt(GTValues.VA[GTValues.LuV]).CWUt(4)) + .cleanroom(CleanroomType.CLEANROOM) + + //Matrix Wall + + event.recipes.gtceu.assembler('expatternprovider:assembler_matrix_wall_luv') + .itemInputs( + '4x gtceu:iridium_frame', + '4x gtceu:plascrete', + "1x gtceu:incoloy_ma_956_plate",) + .inputFluids( + Fluid.of("gtceu:styrene_butadiene_rubber", 1152) + ) + .itemOutputs('expatternprovider:assembler_matrix_wall') + .duration(800) + .EUt(30768) + + //Matrix Glass + + event.recipes.gtceu.assembler("expatternprovider:assembler_matrix_glass") + .itemInputs( + '4x gtceu:iridium_frame', + "4x gtceu:cleanroom_glass", + "1x gtceu:incoloy_ma_956_plate",) + .inputFluids( + Fluid.of("gtceu:styrene_butadiene_rubber", 1152) + ) + .itemOutputs("expatternprovider:assembler_matrix_glass") + .duration(800) + .EUt(30768) + + //Matrix Pattern + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_luv") + .itemInputs( + '#expatternprovider:extended_pattern_provider', + '4x megacells:accumulation_processor', + '4x gtceu:luv_robot_arm', + '2x #forge:dense_plates/rhodium_plated_palladium', + '#gtceu:circuits/luv', + '2x #gtceu:circuits/iv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('1x expatternprovider:assembler_matrix_pattern') + .duration(800) + .EUt(GTValues.VA[GTValues.LuV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_zpm") + .itemInputs( + '4x #expatternprovider:extended_pattern_provider', + '4x megacells:accumulation_processor', + '4x gtceu:zpm_robot_arm', + '2x #forge:dense_plates/naquadah_alloy', + '#gtceu:circuits/zpm', + '2x #gtceu:circuits/luv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('4x expatternprovider:assembler_matrix_pattern') + .duration(800) + .EUt(GTValues.VA[GTValues.ZPM]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_pattern_uv") + .itemInputs( + '8x #expatternprovider:extended_pattern_provider', + '4x megacells:accumulation_processor', + '4x gtceu:uv_robot_arm', + '2x #forge:dense_plates/darmstadtium', + '#gtceu:circuits/uv', + '2x #gtceu:circuits/zpm',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('8x expatternprovider:assembler_matrix_pattern') + .duration(800) + .EUt(GTValues.VA[GTValues.UV]) + .cleanroom(CleanroomType.CLEANROOM) + + //Matrix Crafter + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_luv") + .itemInputs( + "#expatternprovider:oversize_interface", + '4x megacells:accumulation_processor', + 'gtceu:iv_field_generator', + '2x #forge:dense_plates/rhodium_plated_palladium', + '#gtceu:circuits/luv', + '2x #gtceu:circuits/iv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('1x expatternprovider:assembler_matrix_crafter') + .duration(800) + .EUt(GTValues.VA[GTValues.LuV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_zpm") + .itemInputs( + "4x #expatternprovider:oversize_interface", + '4x megacells:accumulation_processor', + 'gtceu:luv_field_generator', + '2x #forge:dense_plates/naquadah_alloy', + '#gtceu:circuits/zpm', + '2x #gtceu:circuits/luv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('4x expatternprovider:assembler_matrix_crafter') + .duration(800) + .EUt(GTValues.VA[GTValues.ZPM]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_crafter_uv") + .itemInputs( + "8x #expatternprovider:oversize_interface", + '4x megacells:accumulation_processor', + 'gtceu:iv_field_generator', + '2x #forge:dense_plates/darmstadtium', + '#gtceu:circuits/uv', + '2x #gtceu:circuits/zpm',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs('8x expatternprovider:assembler_matrix_crafter') + .duration(800) + .EUt(GTValues.VA[GTValues.UV]) + .cleanroom(CleanroomType.CLEANROOM) + + //Matrix Speed + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_luv") + .itemInputs( + "megacells:mega_crafting_accelerator", + '4x megacells:accumulation_processor', + "64x ae2:speed_card", + '2x #forge:dense_plates/rhodium_plated_palladium', + '#gtceu:circuits/luv', + '2x #gtceu:circuits/iv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs("expatternprovider:assembler_matrix_speed") + .duration(800) + .EUt(GTValues.VA[GTValues.LuV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_zpm") + .itemInputs( + "4x megacells:mega_crafting_accelerator", + '4x megacells:accumulation_processor', + "64x ae2:speed_card", + '2x #forge:dense_plates/naquadah_alloy', + '#gtceu:circuits/zpm', + '2x #gtceu:circuits/luv',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs("4x expatternprovider:assembler_matrix_speed") + .duration(800) + .EUt(GTValues.VA[GTValues.ZPM]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembly_line("expatternprovider:assembler_matrix_speed_uv") + .itemInputs( + "8x megacells:mega_crafting_accelerator", + '4x megacells:accumulation_processor', + "64x ae2:speed_card", + '2x #forge:dense_plates/darmstadtium', + '#gtceu:circuits/uv', + '2x #gtceu:circuits/zpm',) + .inputFluids( + Fluid.of("gtceu:europium", 16), + Fluid.of('gtceu:polybenzimidazole', 1430),) + .itemOutputs("8x expatternprovider:assembler_matrix_speed") + .duration(800) + .EUt(GTValues.VA[GTValues.UV]) + .cleanroom(CleanroomType.CLEANROOM) + + + //#endregion + + } diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js index 1a3dbea3d..f6685346b 100644 --- a/kubejs/server_scripts/firmaciv/recipes.js +++ b/kubejs/server_scripts/firmaciv/recipes.js @@ -1,180 +1,115 @@ // priority: 0 const registerFirmaCivRecipes = (event) => { - - //#region Удаление рецептов - event.remove({ id: '/firmaciv:quern/' }) - event.remove({ id: 'firmaciv:anvil/copper_bolt' }) - event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками + //#region Удаление рецептов - //#endregion + event.remove({ id: '/firmaciv:quern/' }) + event.remove({ id: 'firmaciv:anvil/copper_bolt' }) + event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками + event.remove("firmaciv:heating/cleat") + event.remove("firmaciv:heating/oarlock") + event.remove("firmaciv:heating/cannonball") - //#region Unfinished Sextant - event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/unfinished_sextant`) - //#endregion + //#endregion - //#region Sextant - event.recipes.gtceu.assembler('tfg:firmaciv/sextant') - .itemInputs('#forge:plates/brass', '2x #forge:rods/brass', '#forge:glass') - .circuit(10) - .itemOutputs('firmaciv:sextant') - .duration(75) - .EUt(4) + //#region Unfinished Sextant + event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/unfinished_sextant`) + //#endregion - event.recipes.tfc.heating('firmaciv:sextant', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/sextant`) - //#endregion + //#region Sextant + event.recipes.gtceu.assembler('tfg:firmaciv/sextant') + .itemInputs('#forge:plates/brass', '#forge:small_gears/brass', '#forge:glass_panes') + .circuit(10) + .itemOutputs('firmaciv:sextant') + .duration(75) + .EUt(4) - //#region Unfinished Navigator Timepiece - event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/unfinished_nav_clock`) + event.recipes.tfc.heating('firmaciv:sextant', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/sextant`) + //#endregion - event.replaceOutput( // This problem would come each time there's a double-plate recipe in an anvil. Dunno how to fix it other than that. - 'gtceu:arc_furnace/arc_unfinished_nav_clock', - 'gtceu:brass_ingot', - '2x gtceu:brass_ingot') - - event.replaceOutput( - 'gtceu:macerator/macerate_unfinished_nav_clock', - 'gtceu:brass_dust', - '2x gtceu:brass_dust') - //#endregion + //#region Unfinished Navigator Timepiece + event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/unfinished_nav_clock`) - //#region Navigator Timepiece - event.recipes.gtceu.assembler('tfg:firmaciv/nav_clock') - .itemInputs('2x #forge:plates/brass', '4x #forge:rods/brass', '2x #forge:glass') - .circuit(11) - .itemOutputs('firmaciv:nav_clock') - .duration(75) - .EUt(4) + //#endregion - event.recipes.tfc.heating('firmaciv:nav_clock', 930) - .resultFluid(Fluid.of('gtceu:brass', 576)) - .id(`firmaciv:heating/nav_clock`) - //#endregion + //#region Navigator Timepiece + event.recipes.gtceu.assembler('tfg:firmaciv/nav_clock') + .itemInputs('2x #forge:plates/brass', '3x #forge:small_gears/brass', '2x #forge:glass_panes') + .circuit(11) + .itemOutputs('firmaciv:nav_clock') + .duration(75) + .EUt(4) - //#region Unfinished Barometer - event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`firmaciv:heating/unfinished_barometer`) - //#endregion + event.recipes.tfc.heating('firmaciv:nav_clock', 930) + .resultFluid(Fluid.of('gtceu:brass', 576)) + .id(`firmaciv:heating/nav_clock`) + //#endregion - //#region Barometer - event.recipes.gtceu.assembler('tfg:firmaciv/barometer') - .itemInputs('2x #forge:plates/brass', '2x #forge:rods/brass', '#forge:glass') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .circuit(12) - .itemOutputs('firmaciv:barometer') - .duration(75) - .EUt(4) + //#region Unfinished Barometer + event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) + .resultFluid(Fluid.of('gtceu:brass', 144)) + .id(`firmaciv:heating/unfinished_barometer`) + //#endregion - event.recipes.tfc.heating('firmaciv:barometer', 930) - .resultFluid(Fluid.of('gtceu:brass', 216)) - .id(`firmaciv:heating/barometer`) - //#endregion + //#region Barometer + event.recipes.gtceu.assembler('tfg:firmaciv/barometer') + .itemInputs('#forge:plates/brass', '2x #forge:small_gears/brass', '#forge:glass_panes') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .circuit(12) + .itemOutputs('firmaciv:barometer') + .duration(75) + .EUt(4) - //#region Compass - event.recipes.gtceu.canner('tfg:firmaciv/compass') - .itemInputs('minecraft:redstone', '#forge:plates/wrought_iron') - .circuit(1) - .itemOutputs('firmaciv:firmaciv_compass') - .duration(100) - .EUt(4) - //#endregion + event.recipes.tfc.heating('firmaciv:barometer', 930) + .resultFluid(Fluid.of('gtceu:brass', 216)) + .id(`firmaciv:heating/barometer`) + //#endregion - //#region Oarlock - event.recipes.gtceu.assembler('tfg:firmaciv/oarlock') - .itemInputs('#forge:double_plates/wrought_iron') - .circuit(13) - .itemOutputs('firmaciv:oarlock') - .duration(75) - .EUt(4) + //#region Compass + event.recipes.gtceu.assembler('tfg:firmaciv/compass') + .itemInputs('#forge:plates/wrought_iron', '#forge:bolts/magnetic_iron', '#forge:glass_panes') + .circuit(21) + .itemOutputs('firmaciv:firmaciv_compass') + .duration(100) + .EUt(4) - event.recipes.tfc.heating('firmaciv:oarlock', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/oarlock`) - //#endregion + event.shapeless('firmaciv:firmaciv_compass', ['tfc:lens', '#tfc:bowls', '#tfc:magnetic_rocks']) + //#endregion - //#region Cleat - event.recipes.gtceu.assembler('tfg:firmaciv/cleat') - .itemInputs('#forge:double_plates/steel') - .circuit(14) - .itemOutputs('firmaciv:cleat') - .duration(75) - .EUt(4) + //#region Cannon Barrel + event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel') + .itemInputs('#forge:double_plates/wrought_iron') + .circuit(11) + .itemOutputs('firmaciv:cannon_barrel') + .duration(75) + .EUt(4) - event.recipes.tfc.heating('firmaciv:cleat', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/cleat`) - //#endregion + event.recipes.tfc.heating('firmaciv:cannon_barrel', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`firmaciv:heating/cannon_barrel`) + //#endregion - //#region Anchor - event.recipes.gtceu.assembler('tfg:firmaciv/anchor') - .itemInputs('#forge:double_plates/steel') - .circuit(10) - .itemOutputs('firmaciv:anchor') - .duration(75) - .EUt(4) + //#region Cannon + event.recipes.tfc.heating('firmaciv:cannon', 1535) + .resultFluid(Fluid.of('gtceu:iron', 1008)) + .id(`firmaciv:heating/cannon`) + //#endregion - event.recipes.tfc.heating('firmaciv:anchor', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/anchor`) - - event.replaceOutput( - 'gtceu:arc_furnace/arc_anchor', - 'gtceu:steel_ingot', - '2x gtceu:steel_ingot') - - event.replaceOutput( - 'gtceu:macerator/macerate_anchor', - 'gtceu:steel_dust', - '2x gtceu:steel_dust') - //#endregion - - //#region Cannon Barrel - event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel') - .itemInputs('#forge:double_plates/wrought_iron') - .circuit(11) - .itemOutputs('firmaciv:cannon_barrel') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:cannon_barrel', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/cannon_barrel`) - //#endregion - - //#region Cannonball - event.recipes.gtceu.assembler('tfg:firmaciv/cannonball') - .itemInputs('#forge:double_plates/wrought_iron') - .circuit(12) - .itemOutputs('firmaciv:cannonball') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:cannonball', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/cannonball`) - - event.replaceOutput( - 'gtceu:arc_furnace/arc_cannon_barrel', - 'gtceu:wrought_iron_ingot', - '2x gtceu:wrought_iron_ingot') - - event.replaceOutput( - 'gtceu:macerator/macerate_cannon_barrel', - 'gtceu:iron_dust', - '2x gtceu:iron_dust') - //#endregion - - //#region Cannon - event.recipes.tfc.heating('firmaciv:cannon', 1535) - .resultFluid(Fluid.of('gtceu:iron', 1872)) - .id(`firmaciv:heating/cannon`) - //#endregion + // #region More rope + event.shaped('firmaciv:rope_coil', [ + 'A ', + 'AB', + 'A ' + ], { + A: '#forge:cloth', + B: '#forge:wax' + }).id('tfg:firmaciv/rope_coil_from_cloth') + // #endregion } diff --git a/kubejs/server_scripts/firmaciv/tags.js b/kubejs/server_scripts/firmaciv/tags.js index b50cccc3d..66cea4751 100644 --- a/kubejs/server_scripts/firmaciv/tags.js +++ b/kubejs/server_scripts/firmaciv/tags.js @@ -7,6 +7,8 @@ const registerFirmaCivItemTags = (event) => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) + + event.add(`forge:rope`, `firmaciv:rope_coil`) } const registerFirmaCivBlockTags = (event) => { diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 9666be059..24ad4009e 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -2,527 +2,543 @@ const registerFirmaLifeRecipes = (event) => { - //#region Удаление других рецептов + //#region Удаление других рецептов - event.remove({ id: 'firmalife:crafting/compost_tumbler' }) - event.remove({ id: 'firmalife:crafting/pumping_station' }) - event.remove({ id: 'firmalife:crafting/pumping_station2' }) - event.remove({ id: 'firmalife:crafting/pumping_station3' }) + event.remove({ id: 'firmalife:crafting/compost_tumbler' }) + event.remove({ id: 'firmalife:crafting/pumping_station' }) + event.remove({ id: 'firmalife:crafting/pumping_station2' }) + event.remove({ id: 'firmalife:crafting/pumping_station3' }) - // - Chromium - - // Ingot - event.remove({ id: 'firmalife:casting/chromium_ingot' }) - event.remove({ id: 'firmalife:casting/chromium_ingot_fire' }) - event.remove({ id: 'firmalife:heating/metal/chromium_ingot' }) + // - Chromium - // Double Ingot - event.remove({ id: 'firmalife:welding/chromium_double_ingot' }) - event.remove({ id: 'firmalife:heating/metal/chromium_double_ingot' }) + // Ingot + event.remove({ id: 'firmalife:casting/chromium_ingot' }) + event.remove({ id: 'firmalife:casting/chromium_ingot_fire' }) + event.remove({ id: 'firmalife:heating/metal/chromium_ingot' }) - // Sheet - event.remove({ id: 'firmalife:anvil/chromium_sheet' }) - event.remove({ id: 'firmalife:heating/metal/chromium_sheet' }) + // Double Ingot + event.remove({ id: 'firmalife:welding/chromium_double_ingot' }) + event.remove({ id: 'firmalife:heating/metal/chromium_double_ingot' }) - // Double Sheet - event.remove({ id: 'firmalife:welding/chromium_double_sheet' }) - event.remove({ id: 'firmalife:heating/metal/chromium_double_sheet' }) + // Sheet + event.remove({ id: 'firmalife:anvil/chromium_sheet' }) + event.remove({ id: 'firmalife:heating/metal/chromium_sheet' }) - // Rod - event.remove({ id: 'firmalife:anvil/chromium_rod' }) - event.remove({ id: 'firmalife:heating/metal/chromium_rod' }) + // Double Sheet + event.remove({ id: 'firmalife:welding/chromium_double_sheet' }) + event.remove({ id: 'firmalife:heating/metal/chromium_double_sheet' }) - // Ores - event.remove({ id: 'firmalife:heating/ore/small_chromite' }) - event.remove({ id: 'firmalife:heating/ore/poor_chromite' }) - event.remove({ id: 'firmalife:heating/ore/normal_chromite' }) - event.remove({ id: 'firmalife:heating/ore/rich_chromite' }) + // Rod + event.remove({ id: 'firmalife:anvil/chromium_rod' }) + event.remove({ id: 'firmalife:heating/metal/chromium_rod' }) - // - Stainless Steel - - // Ingot - event.remove({ id: 'firmalife:casting/stainless_steel_ingot' }) - event.remove({ id: 'firmalife:casting/stainless_steel_ingot_fire' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_ingot' }) + // Ores + event.remove({ id: 'firmalife:heating/ore/small_chromite' }) + event.remove({ id: 'firmalife:heating/ore/poor_chromite' }) + event.remove({ id: 'firmalife:heating/ore/normal_chromite' }) + event.remove({ id: 'firmalife:heating/ore/rich_chromite' }) - // Double Ingot - event.remove({ id: 'firmalife:welding/stainless_steel_double_ingot' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_double_ingot' }) + // Plated blocks + event.remove({ id: 'firmalife:crafting/crafting/metal/block/chromium' }) + event.remove({ id: 'firmalife:crafting/metal/block/chromium_slab' }) + event.remove({ id: 'firmalife:crafting/metal/block/chromium_stairs' }) + event.remove({ id: 'firmalife:heating/metal/chromium_block' }) + event.remove({ id: 'firmalife:heating/metal/chromium_block_slab' }) + event.remove({ id: 'firmalife:heating/metal/chromium_block_stairs' }) - // Sheet - event.remove({ id: 'firmalife:anvil/stainless_steel_sheet' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_sheet' }) + // - Stainless Steel - // Double Sheet - event.remove({ id: 'firmalife:welding/stainless_steel_double_sheet' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_double_sheet' }) + // Ingot + event.remove({ id: 'firmalife:casting/stainless_steel_ingot' }) + event.remove({ id: 'firmalife:casting/stainless_steel_ingot_fire' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_ingot' }) - // Rod - event.remove({ id: 'firmalife:anvil/stainless_steel_rod' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_rod' }) + // Double Ingot + event.remove({ id: 'firmalife:welding/stainless_steel_double_ingot' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_double_ingot' }) - //#endregion + // Sheet + event.remove({ id: 'firmalife:anvil/stainless_steel_sheet' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_sheet' }) - // Декрафт Jag Lid - event.recipes.tfc.heating('tfc:jar_lid', 230) - .resultFluid(Fluid.of('gtceu:tin', 9)) - .id(`tfc:heating/jar_lid`) + // Double Sheet + event.remove({ id: 'firmalife:welding/stainless_steel_double_sheet' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_double_sheet' }) - // Pie Pan - event.recipes.tfc.anvil('4x firmalife:pie_pan', '#forge:plates/wrought_iron', ["hit_last", "hit_second_last", "draw_third_last"]) - .tier(3) - .id('firmalife:anvil/pie_pan') + // Rod + event.remove({ id: 'firmalife:anvil/stainless_steel_rod' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_rod' }) - // Jarring Station - event.shaped('firmalife:jarring_station', [ - 'A A', - 'BBB' - ], { - A: '#forge:plates/wrought_iron', - B: 'firmalife:treated_lumber' - }).id('firmalife:crafting/jarring_station') + // Jar lid + event.remove({ id: 'firmalife:heating/metal/stainless_steel_jar_lid' }) - // Vat - event.shaped('firmalife:vat', [ - 'A A', - 'BAB' - ], { - A: '#forge:plates/wrought_iron', - B: 'firmalife:beeswax' - }).id('firmalife:crafting/vat') + // Plated Blocks + event.remove({ id: 'firmalife:crafting/crafting/metal/block/stainless_steel' }) + event.remove({ id: 'firmalife:crafting/metal/block/stainless_steel_slab' }) + event.remove({ id: 'firmalife:crafting/metal/block/stainless_steel_stairs' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_block' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_block_slab' }) + event.remove({ id: 'firmalife:heating/metal/stainless_steel_block_stairs' }) - // Jar Lid - event.recipes.gtceu.assembler(`tfg:firmalife/jar_lid`) - .itemInputs('#forge:ingots/tin') - .circuit(7) - .itemOutputs('16x tfc:jar_lid') - .duration(50) - .EUt(7) + //#endregion - // Pineapple Fiber - event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_fiber`) - .itemInputs('firmalife:food/pineapple') - .circuit(1) - .itemOutputs('firmalife:pineapple_fiber') - .duration(50) - .EUt(7) + // Декрафт Jag Lid + event.recipes.tfc.heating('tfc:jar_lid', 230) + .resultFluid(Fluid.of('gtceu:tin', 9)) + .id(`tfc:heating/jar_lid`) - // Pineapple Yarn - event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_yarn`) - .itemInputs('firmalife:pineapple_fiber') - .circuit(1) - .itemOutputs('8x firmalife:pineapple_yarn') - .duration(50) - .EUt(7) + // Pie Pan + event.recipes.tfc.anvil('4x firmalife:pie_pan', '#forge:plates/wrought_iron', ["hit_last", "hit_second_last", "draw_third_last"]) + .tier(3) + .id('firmalife:anvil/pie_pan') - // Pineapple Leather - event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_leather`) - .itemInputs('16x firmalife:pineapple_yarn') - .circuit(1) - .itemOutputs('firmalife:pineapple_leather') - .duration(50) - .EUt(7) + // Jarring Station + event.shaped('firmalife:jarring_station', [ + 'A A', + 'BBB' + ], { + A: '#forge:plates/wrought_iron', + B: 'firmalife:treated_lumber' + }).id('firmalife:crafting/jarring_station') - // TODO: Не работает потому что грегтех - // Доставание меда из сот - /* - event.recipes.gtceu.assembler(`tfg:firmalife/beehive_honey_decomposition`) - .itemInputs('firmalife:beehive_frame') - .circuit(1) - .itemOutputs('firmalife:beehive_frame', 'firmalife:beeswax') - .duration(10) - .EUt(2)*/ + // Vat + event.shaped('firmalife:vat', [ + 'A A', + 'BAB' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:wax' + }).id('firmalife:crafting/vat') - //#region Рецепты теплиц + // Jar Lid + event.recipes.gtceu.assembler(`tfg:firmalife/jar_lid`) + .itemInputs('#forge:ingots/tin') + .circuit(7) + .itemOutputs('16x tfc:jar_lid') + .duration(50) + .EUt(7) + + // Pineapple Fiber + event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_fiber`) + .itemInputs('firmalife:food/pineapple') + .circuit(1) + .itemOutputs('firmalife:pineapple_fiber') + .duration(50) + .EUt(7) + + // Pineapple Yarn + event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_yarn`) + .itemInputs('firmalife:pineapple_fiber') + .circuit(1) + .itemOutputs('8x firmalife:pineapple_yarn') + .duration(50) + .EUt(7) + + // Pineapple Leather + event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_leather`) + .itemInputs('16x firmalife:pineapple_yarn') + .circuit(1) + .itemOutputs('firmalife:pineapple_leather') + .duration(50) + .EUt(7) + + // TODO: Не работает потому что грегтех + // Доставание меда из сот + /* + event.recipes.gtceu.assembler(`tfg:firmalife/beehive_honey_decomposition`) + .itemInputs('firmalife:beehive_frame') + .circuit(1) + .itemOutputs('firmalife:beehive_frame', 'firmalife:beeswax') + .duration(10) + .EUt(2)*/ + + //#region Рецепты теплиц + + //#region Медная - //#region Медная - event.shaped('firmalife:pumping_station', - [ - ' B ', - 'ACA', - ' D ' - ], { - A: 'firmalife:copper_pipe', - B: 'gtceu:bronze_plate', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: '#forge:plates/bronze', C: '#tfc:barrels', D: 'create:mechanical_pump' - }).id('tfg:shaped/pumping_station') + }).id('tfg:shaped/pumping_station') - event.shaped('firmalife:pumping_station', - [ - ' B ', - 'ACA', - ' D ' - ], { - A: 'firmalife:copper_pipe', - B: 'gtceu:black_bronze_plate', - C: '#tfc:barrels', - D: 'create:mechanical_pump' - }).id('tfg:shaped/pumping_station2') - event.shaped('firmalife:pumping_station', - [ - ' B ', - 'ACA', - ' D ' - ], { - A: 'firmalife:copper_pipe', - B: 'gtceu:bismuth_bronze_plate', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: '#forge:plates/black_bronze', C: '#tfc:barrels', D: 'create:mechanical_pump' - }).id('tfg:shaped/pumping_station3') - + }).id('tfg:shaped/pumping_station2') + + event.shaped('firmalife:pumping_station', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: '#forge:plates/bismuth_bronze', + C: '#tfc:barrels', + D: 'create:mechanical_pump' + }).id('tfg:shaped/pumping_station3') + event.recipes.gtceu.bender('tfg:firmalife/copper_pipe') - .itemInputs('gtceu:copper_plate') + .itemInputs('#forge:plates/copper') .itemOutputs('8x firmalife:copper_pipe') .circuit(3) .duration(40) .EUt(8) - + event.recipes.gtceu.bender('tfg:firmalife/sprinkler') - .itemInputs('gtceu:copper_plate') + .itemInputs('#forge:plates/copper') .itemOutputs('firmalife:sprinkler') .circuit(4) .duration(60) .EUt(8) - // Стена - event.shaped('8x firmalife:copper_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_wall') + // Стена + event.shaped('8x firmalife:copper_greenhouse_wall', [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: '#forge:rods/copper', + B: 'minecraft:glass' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_wall') - // Панель - event.shaped('8x firmalife:copper_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_panel_wall') + // Панель + event.shaped('8x firmalife:copper_greenhouse_panel_wall', [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: '#forge:rods/copper', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_panel_wall') - // Панельная Крыша - event.shaped('4x firmalife:copper_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_panel_roof') + // Панельная Крыша + event.shaped('4x firmalife:copper_greenhouse_panel_roof', [ + 'A ', + 'BA ', + 'BBA' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/copper' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_panel_roof') - // Крыша - event.shaped('4x firmalife:copper_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_roof') + // Крыша + event.shaped('4x firmalife:copper_greenhouse_roof', [ + 'A ', + 'BA ', + 'BBA' + ], { + A: '#forge:rods/copper', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_roof') - // Верхушка крыши - event.shaped('8x firmalife:copper_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_roof_top') + // Верхушка крыши + event.shaped('8x firmalife:copper_greenhouse_roof_top', [ + 'ABA', + 'BAB' + ], { + A: '#forge:rods/copper', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_roof_top') - // Люк - event.shaped('8x firmalife:copper_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_trapdoor') + // Люк + event.shaped('8x firmalife:copper_greenhouse_trapdoor', [ + 'ABA', + 'BAB' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/copper' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_trapdoor') - // Дверь - event.shaped('2x firmalife:copper_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_door') + // Дверь + event.shaped('2x firmalife:copper_greenhouse_door', [ + 'AB', + 'AB', + 'AB' + ], { + A: '#forge:rods/copper', + B: 'minecraft:glass' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_door') - // Порт - event.shaped('firmalife:copper_greenhouse_port', [ - 'AA', - 'BC', - 'AA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper', - C: 'firmalife:copper_pipe' - }).id('firmalife:crafting/greenhouse/copper_greenhouse_port') + // Порт + event.shaped('firmalife:copper_greenhouse_port', [ + 'AA', + 'BC', + 'AA' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/copper', + C: 'firmalife:copper_pipe' + }).id('firmalife:crafting/greenhouse/copper_greenhouse_port') - //#endregion + //#endregion - //#region Железная + //#region Железная - // Стена - event.shaped('8x firmalife:iron_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_wall') + // Стена + event.shaped('8x firmalife:iron_greenhouse_wall', [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: '#forge:rods/wrought_iron', + B: 'minecraft:glass' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_wall') - // Панель - event.shaped('8x firmalife:iron_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_panel_wall') + // Панель + event.shaped('8x firmalife:iron_greenhouse_panel_wall', [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: '#forge:rods/wrought_iron', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_panel_wall') - // Панельная Крыша - event.shaped('4x firmalife:iron_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_panel_roof') + // Панельная Крыша + event.shaped('4x firmalife:iron_greenhouse_panel_roof', [ + 'A ', + 'BA ', + 'BBA' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/wrought_iron' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_panel_roof') - // Крыша - event.shaped('4x firmalife:iron_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_roof') + // Крыша + event.shaped('4x firmalife:iron_greenhouse_roof', [ + 'A ', + 'BA ', + 'BBA' + ], { + A: '#forge:rods/wrought_iron', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_roof') - // Верхушка крыши - event.shaped('8x firmalife:iron_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_roof_top') + // Верхушка крыши + event.shaped('8x firmalife:iron_greenhouse_roof_top', [ + 'ABA', + 'BAB' + ], { + A: '#forge:rods/wrought_iron', + B: 'firmalife:reinforced_glass' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_roof_top') - // Люк - event.shaped('8x firmalife:iron_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_trapdoor') + // Люк + event.shaped('8x firmalife:iron_greenhouse_trapdoor', [ + 'ABA', + 'BAB' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/wrought_iron' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_trapdoor') - // Дверь - event.shaped('2x firmalife:iron_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_door') + // Дверь + event.shaped('2x firmalife:iron_greenhouse_door', [ + 'AB', + 'AB', + 'AB' + ], { + A: '#forge:rods/wrought_iron', + B: 'minecraft:glass' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_door') - // Порт - event.shaped('firmalife:iron_greenhouse_port', [ - 'AA', - 'BC', - 'AA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron', - C: 'firmalife:copper_pipe' - }).id('firmalife:crafting/greenhouse/iron_greenhouse_port') + // Порт + event.shaped('firmalife:iron_greenhouse_port', [ + 'AA', + 'BC', + 'AA' + ], { + A: 'firmalife:reinforced_glass', + B: '#forge:rods/wrought_iron', + C: 'firmalife:copper_pipe' + }).id('firmalife:crafting/greenhouse/iron_greenhouse_port') - //#endregion + //#endregion - //#region Нержавеющая теплица + //#region Нержавеющая теплица - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_door' }) - event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_port' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_door' }) + event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_port' }) - //#endregion + //#endregion - //#endregion + //#endregion - //#region Укрепленное стекло + //#region Укрепленное стекло - event.shaped('firmalife:reinforced_glass', [ - 'AB' - ], { - A: '#tfc:saws', - B: 'gtceu:tempered_glass' - }).id('tfg:shaped/reinforced_glass') + event.shaped('firmalife:reinforced_glass', [ + 'AB' + ], { + A: '#tfc:saws', + B: 'gtceu:tempered_glass' + }).id('tfg:shaped/reinforced_glass') - generateCutterRecipe(event, '3x gtceu:tempered_glass', null, '8x firmalife:reinforced_glass', 100, 7, 'reinforced_glass') + generateCutterRecipe(event, '3x gtceu:tempered_glass', '8x firmalife:reinforced_glass', 100, 7, 'reinforced_glass') - //#endregion + //#endregion - //#region Рецепты электрической теплицы - - // Дерево + //#region Рецепты электрической теплицы - // Семена фруктов - global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) + // Дерево - // Семена ягод - global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) + // Семена фруктов + global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + }) - //#endregion - - //#region Рецепты муки + // Семена ягод + global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + }) - global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) - .itemInputs(element.input) - .itemOutputs(element.output) - .duration(200) - .EUt(16) + //#endregion - event.recipes.createMilling(element.output, element.input) - .id(`tfg:milling/${element.name}`) - }) + //#region Рецепты муки - //#endregion + global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) - //#region Рецепты теста + //#endregion - global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.mixer(element.name) - .itemInputs(element.input, '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) - .itemOutputs(element.output) - .duration(300) - .EUt(16) - .circuit(2) - }) + //#region Рецепты теста - //#endregion + global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input, '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(2) + }) - //#region Рецепты плоского хлеба + //#endregion - global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) - .id(`tfg:smelting/${element.name}`) - }) + //#region Рецепты плоского хлеба - //#endregion + global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) - //#region Смешивание в миске + //#endregion - // Тесто для пиццы - event.recipes.gtceu.mixer('firmalife:food/pizza_dough') - .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') - .inputFluids(Fluid.of('tfc:olive_oil', 1000)) - .itemOutputs('4x firmalife:food/pizza_dough') - .duration(300) - .EUt(16) + //#region Смешивание в миске - event.recipes.create.mixing('4x firmalife:food/pizza_dough', ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt', Fluid.of('tfc:olive_oil', 1000)]) - .id('firmalife:create/mixer/food/pizza_dough') + // Тесто для пиццы + event.recipes.gtceu.mixer('firmalife:food/pizza_dough') + .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') + .inputFluids(Fluid.of('tfc:olive_oil', 1000)) + .itemOutputs('4x firmalife:food/pizza_dough') + .duration(300) + .EUt(16) - // Vanilla Ice Cream - event.recipes.gtceu.mixer('firmalife:food/vanilla_ice_cream') - .itemInputs('firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla') - .inputFluids(Fluid.of('firmalife:cream', 1000)) - .itemOutputs('2x firmalife:food/vanilla_ice_cream') - .duration(300) - .EUt(16) + event.recipes.create.mixing('4x firmalife:food/pizza_dough', ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt', Fluid.of('tfc:olive_oil', 1000)]) + .id('firmalife:create/mixer/food/pizza_dough') - event.recipes.create.mixing('2x firmalife:food/vanilla_ice_cream', ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla', Fluid.of('firmalife:cream', 1000)]) - .id('firmalife:create/mixer/food/vanilla_ice_cream') + // Vanilla Ice Cream + event.recipes.gtceu.mixer('firmalife:food/vanilla_ice_cream') + .itemInputs('firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('2x firmalife:food/vanilla_ice_cream') + .duration(300) + .EUt(16) - // Pumpkin Pie Dough - event.recipes.gtceu.mixer('firmalife:food/pumpkin_pie_dough') - .itemInputs('#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('firmalife:food/pumpkin_pie_dough') - .duration(300) - .EUt(16) - .circuit(2) + event.recipes.create.mixing('2x firmalife:food/vanilla_ice_cream', ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla', Fluid.of('firmalife:cream', 1000)]) + .id('firmalife:create/mixer/food/vanilla_ice_cream') - event.recipes.create.mixing('firmalife:food/pumpkin_pie_dough', ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)] - ).id('firmalife:create/mixer/food/pumpkin_pie_dough') + // Pumpkin Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pumpkin_pie_dough') + .itemInputs('#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pumpkin_pie_dough') + .duration(300) + .EUt(16) + .circuit(2) - // Butter - event.recipes.gtceu.mixer('firmalife:food/butter') - .itemInputs('tfc:powder/salt') - .inputFluids(Fluid.of('firmalife:cream', 1000)) - .itemOutputs('firmalife:food/butter') - .duration(300) - .EUt(16) + event.recipes.create.mixing('firmalife:food/pumpkin_pie_dough', ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)] + ).id('firmalife:create/mixer/food/pumpkin_pie_dough') - event.recipes.create.mixing('firmalife:food/butter', ['tfc:powder/salt', Fluid.of('firmalife:cream', 1000)]) - .id('firmalife:create/mixer/food/butter') + // Butter + event.recipes.gtceu.mixer('firmalife:food/butter') + .itemInputs('tfc:powder/salt') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('firmalife:food/butter') + .duration(300) + .EUt(16) - // Pie Dough - event.recipes.gtceu.mixer('firmalife:food/pie_dough') - .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('firmalife:food/pie_dough') - .duration(300) - .EUt(16) - .circuit(2) + event.recipes.create.mixing('firmalife:food/butter', ['tfc:powder/salt', Fluid.of('firmalife:cream', 1000)]) + .id('firmalife:create/mixer/food/butter') - event.recipes.create.mixing('firmalife:food/pie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) - .id('firmalife:create/mixer/food/pie_dough') + // Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pie_dough') + .duration(300) + .EUt(16) + .circuit(2) - // Cookie Dough - event.recipes.gtceu.mixer('firmalife:food/cookie_dough') - .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla') - .itemOutputs('4x firmalife:food/cookie_dough') - .duration(300) - .EUt(16) + event.recipes.create.mixing('firmalife:food/pie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) + .id('firmalife:create/mixer/food/pie_dough') - event.recipes.create.mixing('4x firmalife:food/cookie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla']) - .id('firmalife:create/mixer/food/cookie_dough') + // Cookie Dough + event.recipes.gtceu.mixer('firmalife:food/cookie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla') + .itemOutputs('4x firmalife:food/cookie_dough') + .duration(300) + .EUt(16) - // Hardtack Dough - event.recipes.gtceu.mixer('firmalife:food/hardtack_dough') - .itemInputs('tfc:powder/salt', '#tfc:foods/flour') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x firmalife:food/hardtack_dough') - .duration(300) - .EUt(16) - .circuit(2) + event.recipes.create.mixing('4x firmalife:food/cookie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla']) + .id('firmalife:create/mixer/food/cookie_dough') - event.recipes.create.mixing('4x firmalife:food/hardtack_dough', ['tfc:powder/salt', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) - .id('firmalife:create/mixer/food/hardtack_dough') + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/hardtack_dough') + .itemInputs('tfc:powder/salt', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x firmalife:food/hardtack_dough') + .duration(300) + .EUt(16) + .circuit(2) - // Yeast starter + event.recipes.create.mixing('4x firmalife:food/hardtack_dough', ['tfc:powder/salt', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) + .id('firmalife:create/mixer/food/hardtack_dough') + + // Yeast starter event.recipes.gtceu.mixer('firmalife:yeast_starter') .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) - .itemInputs('#tfc:foods/flour') - .outputFluids('firmalife:yeast_starter', 600) - .duration(1200) - .EUt(8) - .circuit(1) - + .itemInputs('#tfc:foods/flour') + .outputFluids(Fluid.of('firmalife:yeast_starter', 600)) + .duration(1200) + .EUt(8) + .circuit(1) + event.recipes.create.mixing(Fluid.of('firmalife:yeast_starter', 600), ['#tfc:foods/flour', Fluid.of('firmalife:yeast_starter', 100)]) .id('firmalife:create/mixer/yeast_starter') @@ -532,212 +548,244 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('4x firmalife:food/cocoa_powder') .duration(100) .EUt(2) - - event.recipes.createMilling('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') - .id('firmalife:milling/food/cocoa_dust') - + event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') .id(`tfg:quern/cocoa_powder`) - // Chocolate Ice Cream - event.recipes.gtceu.mixer('firmalife:food/chocolate_ice_cream') - .itemInputs('firmalife:food/vanilla_ice_cream') - .inputFluids(Fluid.of('firmalife:chocolate', 1000)) - .itemOutputs('firmalife:food/chocolate_ice_cream') - .duration(300) - .EUt(16) + // Chocolate Ice Cream + event.recipes.gtceu.mixer('firmalife:food/chocolate_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream') + .inputFluids(Fluid.of('firmalife:chocolate', 1000)) + .itemOutputs('firmalife:food/chocolate_ice_cream') + .duration(300) + .EUt(16) - event.recipes.create.mixing('firmalife:food/chocolate_ice_cream', ['firmalife:food/vanilla_ice_cream', Fluid.of('firmalife:chocolate', 1000)]) - .id('firmalife:create/mixer/food/chocolate_ice_cream') + event.recipes.create.mixing('firmalife:food/chocolate_ice_cream', ['firmalife:food/vanilla_ice_cream', Fluid.of('firmalife:chocolate', 1000)]) + .id('firmalife:create/mixer/food/chocolate_ice_cream') - // White Chocolate Blend - event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/milk') - .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('minecraft:milk', 1000)) - .itemOutputs('2x firmalife:food/white_chocolate_blend') - .duration(300) - .EUt(16) + // White Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) - .id('firmalife:create/mixer/food/white_chocolate_blend/milk') + event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) + .id('firmalife:create/mixer/food/white_chocolate_blend/milk') - event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/yak_milk') - .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) - .itemOutputs('2x firmalife:food/white_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) - .id('firmalife:create/mixer/food/white_chocolate_blend/yak_milk') + event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) + .id('firmalife:create/mixer/food/white_chocolate_blend/yak_milk') - event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/goat_milk') - .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) - .itemOutputs('2x firmalife:food/white_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) - .id('firmalife:create/mixer/food/white_chocolate_blend/goat_milk') + event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) + .id('firmalife:create/mixer/food/white_chocolate_blend/goat_milk') - event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/coconut_milk') - .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) - .itemOutputs('2x firmalife:food/white_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) - .id('firmalife:create/mixer/food/white_chocolate_blend/coconut_milk') + event.recipes.create.mixing('2x firmalife:food/white_chocolate_blend', ['2x firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) + .id('firmalife:create/mixer/food/white_chocolate_blend/coconut_milk') - // Dark Chocolate Blend - event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/milk') - .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') - .inputFluids(Fluid.of('minecraft:milk', 1000)) - .itemOutputs('2x firmalife:food/dark_chocolate_blend') - .duration(300) - .EUt(16) + // Dark Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) - .id('firmalife:create/mixer/food/dark_chocolate_blend/milk') + event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) + .id('firmalife:create/mixer/food/dark_chocolate_blend/milk') - event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/yak_milk') - .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) - .itemOutputs('2x firmalife:food/dark_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) - .id('firmalife:create/mixer/food/dark_chocolate_blend/yak_milk') + event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) + .id('firmalife:create/mixer/food/dark_chocolate_blend/yak_milk') - event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/goat_milk') - .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) - .itemOutputs('2x firmalife:food/dark_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) - .id('firmalife:create/mixer/food/dark_chocolate_blend/goat_milk') + event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) + .id('firmalife:create/mixer/food/dark_chocolate_blend/goat_milk') - event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/coconut_milk') - .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) - .itemOutputs('2x firmalife:food/dark_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) - .id('firmalife:create/mixer/food/dark_chocolate_blend/coconut_milk') + event.recipes.create.mixing('2x firmalife:food/dark_chocolate_blend', ['2x firmalife:food/cocoa_powder', '#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) + .id('firmalife:create/mixer/food/dark_chocolate_blend/coconut_milk') - // Milk Chocolate Blend - event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/milk') - .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('minecraft:milk', 1000)) - .itemOutputs('2x firmalife:food/milk_chocolate_blend') - .duration(300) - .EUt(16) + // Milk Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter','#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) - .id('firmalife:create/mixer/food/milk_chocolate_blend/milk') + event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('minecraft:milk', 1000)]) + .id('firmalife:create/mixer/food/milk_chocolate_blend/milk') - event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/yak_milk') - .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) - .itemOutputs('2x firmalife:food/milk_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/yak_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter','#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) - .id('firmalife:create/mixer/food/milk_chocolate_blend/yak_milk') + event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:yak_milk', 1000)]) + .id('firmalife:create/mixer/food/milk_chocolate_blend/yak_milk') - event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/goat_milk') - .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) - .itemOutputs('2x firmalife:food/milk_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/goat_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter','#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) - .id('firmalife:create/mixer/food/milk_chocolate_blend/goat_milk') + event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:goat_milk', 1000)]) + .id('firmalife:create/mixer/food/milk_chocolate_blend/goat_milk') - event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/coconut_milk') - .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') - .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) - .itemOutputs('2x firmalife:food/milk_chocolate_blend') - .duration(300) - .EUt(16) + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/coconut_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) - event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter','#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) - .id('firmalife:create/mixer/food/milk_chocolate_blend/coconut_milk') + event.recipes.create.mixing('2x firmalife:food/milk_chocolate_blend', ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener', Fluid.of('firmalife:coconut_milk', 1000)]) + .id('firmalife:create/mixer/food/milk_chocolate_blend/coconut_milk') - // Strawberry Ice Cream - event.recipes.gtceu.mixer('firmalife:food/strawberry_ice_cream') - .itemInputs('firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry') - .itemOutputs('firmalife:food/strawberry_ice_cream') - .duration(300) - .EUt(16) + // Strawberry Ice Cream + event.recipes.gtceu.mixer('firmalife:food/strawberry_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry') + .itemOutputs('firmalife:food/strawberry_ice_cream') + .duration(300) + .EUt(16) - event.recipes.create.mixing('firmalife:food/strawberry_ice_cream', ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'] - ).id('firmalife:create/mixer/food/strawberry_ice_cream') + event.recipes.create.mixing('firmalife:food/strawberry_ice_cream', ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'] + ).id('firmalife:create/mixer/food/strawberry_ice_cream') - // Hardtack Dough - event.recipes.gtceu.mixer('firmalife:food/chocolate_chip_cookie_dough') - .itemInputs('4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends') - .itemOutputs('4x firmalife:food/chocolate_chip_cookie_dough') - .duration(300) - .EUt(16) + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/chocolate_chip_cookie_dough') + .itemInputs('4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends') + .itemOutputs('4x firmalife:food/chocolate_chip_cookie_dough') + .duration(300) + .EUt(16) - event.recipes.create.mixing('4x firmalife:food/chocolate_chip_cookie_dough', ['4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends']) - .id('firmalife:create/mixer/food/chocolate_chip_cookie_dough') + event.recipes.create.mixing('4x firmalife:food/chocolate_chip_cookie_dough', ['4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends']) + .id('firmalife:create/mixer/food/chocolate_chip_cookie_dough') - //#endregion + //#endregion - //#region Обжарка некоторой еды + //#region Обжарка некоторой еды - // Cooked Pizza - event.smelting('firmalife:food/cooked_pizza', 'firmalife:food/raw_pizza') + // Cooked Pizza + event.smelting('firmalife:food/cooked_pizza', 'firmalife:food/raw_pizza') - // Taco Shell - event.smelting('firmalife:food/taco_shell', 'firmalife:food/corn_tortilla') + // Taco Shell + event.smelting('firmalife:food/taco_shell', 'firmalife:food/corn_tortilla') - // Sugar Cookie - event.smelting('firmalife:food/sugar_cookie', 'firmalife:food/cookie_dough') + // Sugar Cookie + event.smelting('firmalife:food/sugar_cookie', 'firmalife:food/cookie_dough') - // Chocolate Chip Cookie - event.smelting('firmalife:food/chocolate_chip_cookie', 'firmalife:food/chocolate_chip_cookie_dough') + // Chocolate Chip Cookie + event.smelting('firmalife:food/chocolate_chip_cookie', 'firmalife:food/chocolate_chip_cookie_dough') - // Hardtack - event.smelting('firmalife:food/hardtack', 'firmalife:food/hardtack_dough') + // Hardtack + event.smelting('firmalife:food/hardtack', 'firmalife:food/hardtack_dough') - // Cooked Pie - event.smelting('firmalife:food/cooked_pie', 'firmalife:food/filled_pie') + // Cooked Pie + event.smelting('firmalife:food/cooked_pie', 'firmalife:food/filled_pie') - // Roasted Cocoa Beans - event.smelting('firmalife:food/roasted_cocoa_beans', 'firmalife:food/cocoa_beans') + // Roasted Cocoa Beans + event.smelting('firmalife:food/roasted_cocoa_beans', 'firmalife:food/cocoa_beans') - // Pumpkin Pie - event.smelting('minecraft:pumpkin_pie', 'firmalife:food/raw_pumpkin_pie') + // Pumpkin Pie + event.smelting('minecraft:pumpkin_pie', 'firmalife:food/raw_pumpkin_pie') - //#endregion + //#endregion - // Sticky Resin by Vat - event.custom({ - "type": "firmalife:vat", - "input_item": { - "ingredient": { - "item": 'tfc:powder/sulfur' - } - }, - "input_fluid": { - "ingredient": 'tfg:latex', - "amount": 1000 - }, - "output_item": { - "item": 'gtceu:sticky_resin' - } - }); - + //#region Sticky Resin by Vat + + event.recipes.firmalife.vat() + .inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000)) + .outputItem('gtceu:sticky_resin') + .id('tfg:vat/latex_to_sticky_resin'); + + event.recipes.firmalife.vat() + .inputs('tfc:powder/sulfur', Fluid.of('tfg:conifer_pitch', 1000)) + .outputItem('gtceu:sticky_resin') + .id('tfg:vat/conifer_pitch_to_sticky_resin'); + + //#endregion + + //#region Replace existing dyes + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + + event.recipes.firmalife.vat() + .inputs(`#forge:dyes/${dye}`, Fluid.of('tfc:salt_water', 250)) + .outputFluid(Fluid.of(`tfc:${dye}_dye`, 144)) + .length(2000) + .temperature(600) + .id(`firmalife:vat/${dye}_dye`) + }) + + //#endregion + + //#region Plated blocks + + generatePlatedBlockRecipe(event, GTMaterials.Chromium); + generatePlatedBlockRecipe(event, GTMaterials.StainlessSteel); + + // #endregion + + event.recipes.gtceu.forge_hammer('firmalife:soybean_paste') + .itemInputs('firmalife:food/dehydrated_soybeans') + .itemOutputs('firmalife:food/soybean_paste') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:red_grapes') + .itemInputs('firmalife:food/red_grapes') + .itemOutputs('firmalife:food/smashed_red_grapes') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:white_grapes') + .itemInputs('firmalife:food/white_grapes') + .itemOutputs('firmalife:food/smashed_white_grapes') + .duration(20) + .EUt(7) } diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index a22373f97..99fe9f2e9 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -14,6 +14,8 @@ const registerFirmaLifeItemTags = (event) => { }) event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') + + event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg') // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") @@ -34,7 +36,6 @@ const registerFirmaLifeFluidTags = (event) => { // Добавляем тег для скрытия в EMI event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') - event.add('c:hidden_from_recipe_viewers', 'create:honey') } const registerFirmaLifePlacedFeatures = (event) => { diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 5c034f869..c67e6c838 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -1,436 +1,513 @@ // priority: 0 const registerFramedBlocksRecipes = (event) => { - - event.remove({ id: 'framedblocks:framed_torch' }) - event.remove({ id: 'framedblocks:framing_saw/framed_torch' }) - event.remove({ id: 'framedblocks:framed_soul_torch' }) - event.remove({ id: 'framedblocks:framing_saw/framed_soul_torch' }) - //#region Framed Iron Door - event.shaped('framedblocks:framed_iron_door', [ - 'ABA' - ], { - A: '#forge:plates/wrought_iron', - B: 'framedblocks:framed_door' - }).id('framedblocks:framed_iron_door') + event.remove({ id: 'framedblocks:framed_torch' }) + event.remove({ id: 'framedblocks:framing_saw/framed_torch' }) + event.remove({ id: 'framedblocks:framed_soul_torch' }) + event.remove({ id: 'framedblocks:framing_saw/framed_soul_torch' }) - event.custom({ - type: "framedblocks:frame", - additives: [ - { - "count": 2, - "ingredient": { - "tag": "forge:plates/wrought_iron" - } - } - ], - material: 3072, - result: { - item: "framedblocks:framed_iron_door" - } - }).id('framedblocks:framing_saw/framed_iron_door') - //#endregion + //#region Framed Iron Door + event.shaped('framedblocks:framed_iron_door', [ + 'ABA' + ], { + A: '#forge:plates/wrought_iron', + B: 'framedblocks:framed_door' + }).id('framedblocks:framed_iron_door') - //#region Framed Iron Trapdoor - event.shapeless('framedblocks:framed_iron_trapdoor', [ - 'framedblocks:framed_trapdoor', - '#forge:plates/wrought_iron' - ]).id('framedblocks:framed_iron_trapdoor') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 2, + "ingredient": { + "tag": "forge:plates/wrought_iron" + } + } + ], + material: 3072, + result: { + item: "framedblocks:framed_iron_door" + } + }).id('framedblocks:framing_saw/framed_iron_door') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "forge:plates/wrought_iron" - } - } - ], - material: 1536, - result: { - item: "framedblocks:framed_iron_trapdoor" - } - }).id('framedblocks:framing_saw/framed_iron_trapdoor') - //#endregion + //#region Framed Iron Trapdoor + event.shapeless('framedblocks:framed_iron_trapdoor', [ + 'framedblocks:framed_trapdoor', + '#forge:plates/wrought_iron' + ]).id('framedblocks:framed_iron_trapdoor') - //#region Framed Obsidian Pressure Plate - event.shaped('framedblocks:framed_obsidian_pressure_plate', [ - 'AA', - 'BB' - ], { - A: '#forge:plates/obsidian', - B: 'framedblocks:framed_cube' - }).id('framedblocks:framed_obsidian_pressure_plate') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "forge:plates/wrought_iron" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_iron_trapdoor" + } + }).id('framedblocks:framing_saw/framed_iron_trapdoor') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "forge:plates/obsidian" - } - } - ], - material: 1536, - result: { - item: "framedblocks:framed_obsidian_pressure_plate" - } - }).id('framedblocks:framing_saw/framed_obsidian_pressure_plate') - //#endregion + //#region Framed Pressure Plate + event.shapeless( + Item.of('framedblocks:framed_pressure_plate', 1), + [ + '#minecraft:pressure_plates', + 'framedblocks:framed_cube', + ] + ).id('framedblocks:framed_pressure_plate') - //#region Framed Gold Pressure Plate - event.shaped('framedblocks:framed_gold_pressure_plate', [ - 'AA', - 'BB' - ], { - A: '#forge:plates/gold', - B: 'framedblocks:framed_cube' - }).id('framedblocks:framed_gold_pressure_plate') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { + tag: "minecraft:pressure_plates" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_pressure_plate" + } + }).id('framedblocks:framing_saw/framed_pressure_plate') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "forge:plates/gold" - } - } - ], - material: 1536, - result: { - item: "framedblocks:framed_gold_pressure_plate" - } - }).id('framedblocks:framing_saw/framed_gold_pressure_plate') - //#endregion + //#region Framed Obsidian Pressure Plate + event.shaped('framedblocks:framed_obsidian_pressure_plate', [ + 'AA', + 'BB' + ], { + A: '#forge:plates/obsidian', + B: 'framedblocks:framed_cube' + }).id('framedblocks:framed_obsidian_pressure_plate') - //#region Framed Iron Pressure Plate - event.shaped('framedblocks:framed_iron_pressure_plate', [ - 'AA', - 'BB' - ], { - A: '#forge:plates/iron', - B: 'framedblocks:framed_cube' - }).id('framedblocks:framed_iron_pressure_plate') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "forge:plates/obsidian" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_obsidian_pressure_plate" + } + }).id('framedblocks:framing_saw/framed_obsidian_pressure_plate') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "forge:plates/iron" - } - } - ], - material: 1536, - result: { - item: "framedblocks:framed_iron_pressure_plate" - } - }).id('framedblocks:framing_saw/framed_iron_pressure_plate') - //#endregion + //#region Framed Gold Pressure Plate + event.shaped('framedblocks:framed_gold_pressure_plate', [ + 'AA', + 'BB' + ], { + A: '#forge:plates/gold', + B: 'framedblocks:framed_cube' + }).id('framedblocks:framed_gold_pressure_plate') - //#region Framed Hanging Sign - event.shaped('6x framedblocks:framed_hanging_sign', [ - 'A A', - 'BBB', - 'BBB' - ], { - A: '#tfg:metal_chains', - B: 'framedblocks:framed_cube' - }).id('framedblocks:framed_hanging_sign') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "forge:plates/gold" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_gold_pressure_plate" + } + }).id('framedblocks:framing_saw/framed_gold_pressure_plate') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "tfg:metal_chains" - } - } - ], - material: 3072, - result: { - count: 2, - item: "framedblocks:framed_hanging_sign" - } - }).id('framedblocks:framing_saw/framed_hanging_sign') - //#endregion + //#region Framed Iron Pressure Plate + event.shaped('framedblocks:framed_iron_pressure_plate', [ + 'AA', + 'BB' + ], { + A: '#forge:plates/wrought_iron', + B: 'framedblocks:framed_cube' + }).id('framedblocks:framed_iron_pressure_plate') - //#region Framed Collapsible Copycat Block - event.shaped('4x framedblocks:framed_collapsible_copycat_block', [ - 'ABA', - 'B B', - 'ABA' - ], { - A: 'framedblocks:framed_cube', - B: '#forge:sheets/copper' - }).id('framedblocks:framed_collapsible_copycat_block') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "forge:plates/iron" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_iron_pressure_plate" + } + }).id('framedblocks:framing_saw/framed_iron_pressure_plate') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 1, - ingredient: { - tag: "forge:plates/copper" - } - } - ], - material: 6144, - result: { - item: "framedblocks:framed_collapsible_copycat_block" - } - }).id('framedblocks:framing_saw/framed_collapsible_copycat_block') - //#endregion + //#region Framed Hanging Sign + event.shaped('6x framedblocks:framed_hanging_sign', [ + 'A A', + 'BBB', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: 'framedblocks:framed_cube' + }).id('framedblocks:framed_hanging_sign') - //#region Framed Fancy Rail Block - event.shaped('32x framedblocks:framed_fancy_rail', [ - 'A A', - 'ABA', - 'A A' - ], { - A: '#forge:rods/wrought_iron', - B: 'framedblocks:framed_cube' - }).id('framedblocks:framed_fancy_rail') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "tfg:metal_chains" + } + } + ], + material: 3072, + result: { + count: 2, + item: "framedblocks:framed_hanging_sign" + } + }).id('framedblocks:framing_saw/framed_hanging_sign') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 6, - ingredient: { - tag: "forge:rods/wrought_iron" - } - } - ], - material: 6144, - result: { - count: 32, - item: "framedblocks:framed_fancy_rail" - } - }).id('framedblocks:framing_saw/framed_fancy_rail') - //#endregion + //#region Framed Collapsible Copycat Block + event.shaped('4x framedblocks:framed_collapsible_copycat_block', [ + 'ABA', + 'B B', + 'ABA' + ], { + A: 'framedblocks:framed_cube', + B: '#forge:sheets/copper' + }).id('framedblocks:framed_collapsible_copycat_block') - //#region Framed Fancy Powered Rail Block - event.shaped('16x framedblocks:framed_fancy_powered_rail', [ - 'A A', - 'ABA', - 'ACA' - ], { - A: '#forge:rods/gold', - B: 'framedblocks:framed_cube', - C: 'minecraft:redstone' - }).id('framedblocks:framed_fancy_powered_rail') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 1, + ingredient: { + tag: "forge:plates/copper" + } + } + ], + material: 6144, + result: { + item: "framedblocks:framed_collapsible_copycat_block" + } + }).id('framedblocks:framing_saw/framed_collapsible_copycat_block') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 6, - ingredient: { - tag: "forge:rods/gold" - } - }, - { - count: 1, - ingredient: { - tag: "forge:dusts/redstone" - } - } - ], - material: 6144, - result: { - count: 16, - item: "framedblocks:framed_fancy_powered_rail" - } - }).id('framedblocks:framing_saw/framed_fancy_powered_rail') - //#endregion + //#region Framed Fancy Rail Block + event.shaped('32x framedblocks:framed_fancy_rail', [ + 'A A', + 'ABA', + 'A A' + ], { + A: '#forge:rods/wrought_iron', + B: 'framedblocks:framed_cube' + }).id('framedblocks:framed_fancy_rail') - //#region Framed Fancy Detector Rail Block - event.shaped('4x framedblocks:framed_fancy_detector_rail', [ - 'ABA', - 'ACA', - 'ADA' - ], { - A: '#forge:rods/wrought_iron', - B: '#minecraft:stone_pressure_plates', - C: 'framedblocks:framed_cube', - D: 'minecraft:redstone', - }).id('framedblocks:framed_fancy_detector_rail') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 6, + ingredient: { + tag: "forge:rods/wrought_iron" + } + } + ], + material: 6144, + result: { + count: 32, + item: "framedblocks:framed_fancy_rail" + } + }).id('framedblocks:framing_saw/framed_fancy_rail') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 6, - ingredient: { - tag: "forge:rods/wrought_iron" - } - }, - { - count: 1, - ingredient: { - tag: "forge:dusts/redstone" - } - }, - { - count: 1, - ingredient: { - tag: "minecraft:stone_pressure_plates" - } - } - ], - material: 6144, - result: { - count: 4, - item: "framedblocks:framed_fancy_detector_rail" - } - }).id('framedblocks:framing_saw/framed_fancy_detector_rail') - //#endregion + //#region Framed Fancy Powered Rail Block + event.shaped('16x framedblocks:framed_fancy_powered_rail', [ + 'A A', + 'ABA', + 'ACA' + ], { + A: '#forge:rods/gold', + B: 'framedblocks:framed_cube', + C: 'minecraft:redstone' + }).id('framedblocks:framed_fancy_powered_rail') - //#region Framed Fancy Activator Rail Block - event.shaped('4x framedblocks:framed_fancy_activator_rail', [ - 'ABA', - 'ACA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'framedblocks:framed_cube', - C: 'minecraft:redstone_torch' - }).id('framedblocks:framed_fancy_activator_rail') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 6, + ingredient: { + tag: "forge:rods/gold" + } + }, + { + count: 1, + ingredient: { + tag: "forge:dusts/redstone" + } + } + ], + material: 6144, + result: { + count: 16, + item: "framedblocks:framed_fancy_powered_rail" + } + }).id('framedblocks:framing_saw/framed_fancy_powered_rail') + //#endregion - event.custom({ - type: "framedblocks:frame", - additives: [ - { - count: 6, - ingredient: { - tag: "forge:rods/wrought_iron" - } - }, - { - count: 1, - ingredient: { - item: "minecraft:redstone_torch" - } - } - ], - material: 6144, - result: { - count: 4, - item: "framedblocks:framed_fancy_activator_rail" - } - }).id('framedblocks:framing_saw/framed_fancy_activator_rail') - //#endregion + //#region Framed Fancy Detector Rail Block + event.shaped('4x framedblocks:framed_fancy_detector_rail', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#forge:rods/wrought_iron', + B: '#minecraft:stone_pressure_plates', + C: 'framedblocks:framed_cube', + D: 'minecraft:redstone', + }).id('framedblocks:framed_fancy_detector_rail') - // Framed Raiforcement - event.shaped('32x framedblocks:framed_reinforcement', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:plates/obsidian', - B: '#forge:plates/wrought_iron', - C: '#forge:frames' - }).id('framedblocks:framed_reinforcement') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 6, + ingredient: { + tag: "forge:rods/wrought_iron" + } + }, + { + count: 1, + ingredient: { + tag: "forge:dusts/redstone" + } + }, + { + count: 1, + ingredient: { + tag: "minecraft:stone_pressure_plates" + } + } + ], + material: 6144, + result: { + count: 4, + item: "framedblocks:framed_fancy_detector_rail" + } + }).id('framedblocks:framing_saw/framed_fancy_detector_rail') + //#endregion - // Framed Key - event.shaped('framedblocks:framed_key', [ - 'AAB', - 'CC ' - ], { - A: '#forge:rods/wooden', - B: 'framedblocks:framed_cube', - C: '#forge:nuggets/wrought_iron' - }).id('framedblocks:framed_key') + //#region Framed Fancy Activator Rail Block + event.shaped('4x framedblocks:framed_fancy_activator_rail', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: '#forge:rods/wrought_iron', + B: 'framedblocks:framed_cube', + C: 'minecraft:redstone_torch' + }).id('framedblocks:framed_fancy_activator_rail') - // Framed Cube - event.shaped('4x framedblocks:framed_cube', [ - 'ABA', - 'B B', - 'ABA' - ], { - A: '#minecraft:planks', - B: '#forge:rods/wooden' - }).id('framedblocks:framed_cube') + event.custom({ + type: "framedblocks:frame", + additives: [ + { + count: 6, + ingredient: { + tag: "forge:rods/wrought_iron" + } + }, + { + count: 1, + ingredient: { + item: "minecraft:redstone_torch" + } + } + ], + material: 6144, + result: { + count: 4, + item: "framedblocks:framed_fancy_activator_rail" + } + }).id('framedblocks:framing_saw/framed_fancy_activator_rail') + //#endregion - // Framed Fence - event.shaped('3x framedblocks:framed_fence', [ - 'ABA', - 'ABA', - ], { - A: 'framedblocks:framed_cube', - B: '#forge:rods/wooden' - }).id('framedblocks:framed_fence') + // Framed Raiforcement + event.shaped('32x framedblocks:framed_reinforcement', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/obsidian', + B: '#forge:plates/wrought_iron', + C: '#forge:frames' + }).id('framedblocks:framed_reinforcement') - // Framed Fence Gate - event.shaped('framedblocks:framed_fence_gate', [ - 'ABA', - 'ABA', - ], { - B: 'framedblocks:framed_cube', - A: '#forge:rods/wooden' - }).id('framedblocks:framed_fence_gate') + // Framed Key + event.shaped('framedblocks:framed_key', [ + 'AAB', + 'CC ' + ], { + A: '#forge:rods/wooden', + B: 'framedblocks:framed_cube', + C: '#forge:nuggets/wrought_iron' + }).id('framedblocks:framed_key') - // Framed Ladder - event.shaped('3x framedblocks:framed_ladder', [ - 'A A', - 'ABA', - 'A A' - ], { - A: 'framedblocks:framed_cube', - B: '#forge:rods/wooden' - }).id('framedblocks:framed_ladder') + // Framed Cube + event.shaped('4x framedblocks:framed_cube', [ + 'ABA', + 'B B', + 'ABA' + ], { + A: '#minecraft:planks', + B: '#forge:rods/wooden' + }).id('framedblocks:framed_cube') - // Framing Saw - event.shaped('framedblocks:framing_saw', [ - ' B ', - 'AAA', - ], { - A: 'framedblocks:framed_cube', - B: 'gtceu:wrought_iron_buzz_saw_blade' - }).id('framedblocks:framing_saw') + // Framed Fence + event.shaped('3x framedblocks:framed_fence', [ + 'ABA', + 'ABA', + ], { + A: 'framedblocks:framed_cube', + B: '#forge:rods/wooden' + }).id('framedblocks:framed_fence') - // Powered Framing Saw - event.shaped('framedblocks:powered_framing_saw', [ - 'ABA', - 'CAD', - 'EEE' - ], { - A: '#forge:glass', - B: 'gtceu:wrought_iron_buzz_saw_blade', - C: 'gtceu:lv_electric_motor', - D: 'gtceu:lv_electric_motor', - E: 'framedblocks:framed_cube' - }).id('framedblocks:powered_framing_saw') + // Framed Fence Gate + event.shaped('framedblocks:framed_fence_gate', [ + 'ABA', + 'ABA', + ], { + B: 'framedblocks:framed_cube', + A: '#forge:rods/wooden' + }).id('framedblocks:framed_fence_gate') - // Framed Chest - event.shapeless( - Item.of('framedblocks:framed_chest', 1), - [ - 'gtceu:wood_crate', - 'framedblocks:framed_cube', - ] - ).id('framedblocks:framed_chest') + // Framed Ladder + event.shaped('3x framedblocks:framed_ladder', [ + 'A A', + 'ABA', + 'A A' + ], { + A: 'framedblocks:framed_cube', + B: '#forge:rods/wooden' + }).id('framedblocks:framed_ladder') + + // Framing Saw + event.shaped('framedblocks:framing_saw', [ + ' B ', + 'AAA', + ], { + A: 'framedblocks:framed_cube', + B: 'gtceu:wrought_iron_buzz_saw_blade' + }).id('framedblocks:framing_saw') + + // Powered Framing Saw + event.shaped('framedblocks:powered_framing_saw', [ + 'ABA', + 'CAD', + 'EEE' + ], { + A: '#forge:glass', + B: 'gtceu:wrought_iron_buzz_saw_blade', + C: 'gtceu:lv_electric_motor', + D: 'gtceu:lv_electric_motor', + E: 'framedblocks:framed_cube' + }).id('framedblocks:powered_framing_saw') + + // Framed Chest + event.shapeless( + Item.of('framedblocks:framed_chest', 1), + [ + 'gtceu:wood_crate', + 'framedblocks:framed_cube', + ] + ).id('framedblocks:framed_chest') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { + item: "gtceu:wood_crate" + } + } + ], + material: 6144, + result: { + item: "framedblocks:framed_chest" + } + }).id('framedblocks:framing_saw/framed_chest') + + // Button + event.shapeless( + Item.of('framedblocks:framed_button', 1), + [ + '#minecraft:buttons', + 'framedblocks:framed_cube', + ] + ).id('framedblocks:framed_button') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { + tag: "minecraft:buttons" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_button" + } + }).id('framedblocks:framing_saw/framed_button') + + // Stone button + event.shapeless( + Item.of('framedblocks:framed_stone_button', 1), + [ + '#forge:stone', + 'framedblocks:framed_button', + ] + ).id('framedblocks:framed_stone_button') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { + tag: "forge:stone" + } + } + ], + material: 1536, + result: { + item: "framedblocks:framed_stone_button" + } + }).id('framedblocks:framing_saw/framed_stone_button') - event.custom({ - type: "framedblocks:frame", - additives: [ - { - "count": 1, - "ingredient": { - item: "gtceu:wood_crate" - } - } - ], - material: 6144, - result: { - item: "framedblocks:framed_chest" - } - }).id('framedblocks:framing_saw/framed_chest') } diff --git a/kubejs/server_scripts/ftb_quests/filters.js b/kubejs/server_scripts/ftb_quests/filters.js new file mode 100644 index 000000000..98230bb79 --- /dev/null +++ b/kubejs/server_scripts/ftb_quests/filters.js @@ -0,0 +1,26 @@ +//#region Preservation Filter +FTBFilterSystemEvents.customFilter("HasPreservation", evt => +{ + let stack = evt.getStack() + let data = evt.getData() + let foof = TFC.misc.getFood(stack) + if(foof == null) + { + evt.cancel() + return + } + + let trait = TFC.misc.getFoodTrait(data) + if(trait == null) + { + evt.cancel() + return + } + + if(!foof.hasTrait(trait)) + { + evt.cancel() + } + evt.success() +}) +//#endregion \ No newline at end of file diff --git a/kubejs/server_scripts/grapplinghook/recipes.js b/kubejs/server_scripts/grapplinghook/recipes.js new file mode 100644 index 000000000..aa063c95e --- /dev/null +++ b/kubejs/server_scripts/grapplinghook/recipes.js @@ -0,0 +1,737 @@ + +/* + * NBT Structure of a Grappling Hook: + * + * { + * Damage:0, //The damage of the item, duh + * custom: + * { + * angle:5.0d, //Used for the double hook, defaults to 5, can be increased or decreased using a Screwdriver + * attract:0b, //Wether the magnet upgrade is equiped + * attractradius:3.0d, //Strength of the magnet upgrade, tiered with GT's magnetic metallic ingots + * crc32:2252267022L, //This fucking piece of shit is a Checksum, it needs to be calculated based off the boolean and double params. + * detachonkeyrelease:0b, + * doublehook:0b, //Wether we have a double hook, enabled by adding a black steel pickaxe head + * enderstaff:0b, + * hookgravity:1.0d, //The actual hook's gravity, can be set to 0.5 using a Helium Bucket, or to 0 using a Gravitation Engine Module + * maxlen:200.0d, //The maximum length of the rope, this can be increased with Jute Rope, and decreased using a knife + * motor:0b, //Wether the grappling hook has a motor. + * motoracceleration:0.2d, //The acceleration of the motor, tiered with GT's electric motors + * motordampener:0b, + * motormaxspeed:4.0d, //The max speed of the motor, tiered with GT's electric motors + * motorwhencrouching:0b, + * motorwhennotcrouching:1b, + * oneropepull:0b, + * phaserope:0b, + * playermovementmult:1.0d, + * pullbackwards:1b, + * reelin:1b, + * repel:0b, //Wether the Force Field upgrade is enabled + * repelforce:1.0d, //Strength of the Force Field upgrade, tiered with GT's Field Generators + * rocket:0b, + * rocket_active_time:0.5d, + * rocket_force:1.0d, + * rocket_refuel_ratio:15.0d, + * rocket_vertical_angle:0.0d, + * smartdoublemotor:1b, //Wether we have the smart motor enabled, this is enabled utilizing a basic electronic circuit + * smartmotor:0b,//Wether we have the smart motor enabled, this is enabled utilizing a basic electronic circuit + * sneakingangle:10.0d, //Used for the double hook while sneaking, Is always equal to angle / 2. + * sneakingverticalthrowangle:0.0d, //Vertical throwing angle while sneaking, Is always equal to verticalthrowingangle / 2 + * sticky:0b, //Wether the rope is sticky, enabled using sticky resin + * throwspeed:2.0d, //The speed we use to throw the grappling hook, tiered with GT's pistons + * verticalthrowangle:0.0d //The angle at whicih we throw the hook vertically. + * } + * } + */ + +let $GrappleCustomization = Java.loadClass('com.yyon.grapplinghook.utils.GrappleCustomization'); +/** + * + * @param {Internal.RecipesEventJS} event + */ +function registerGrapplingHookRecipes(event) +{ + const ADDITIVE_UPGRADES_MINMAX = + { + maxLen: { nbt: "maxlen", maxValue: 200, minValue: 20}, + verticalThrowAngle: { nbt: "verticalthrowangle", maxValue: 90, minValue: 0}, + angle: { nbt: "angle", maxValue: 90, minValue: 5} + } + + let motorUpgrades = + [ + { + electricTier: "lv", + motorMaxSpeed: 1, + motorAcceleration: 0.125 + }, + { + electricTier: "mv", + motorMaxSpeed: 1.14, + motorAcceleration: 0.25 + }, + { + electricTier: "hv", + motorMaxSpeed: 1.28, + motorAcceleration: 0.375 + }, + { + electricTier: "ev", + motorMaxSpeed: 1.42, + motorAcceleration: 0.5 + }, + { + electricTier: "iv", + motorMaxSpeed: 1.56, + motorAcceleration: 0.625 + }, + { + electricTier: "luv", + motorMaxSpeed: 1.7, + motorAcceleration: 0.75 + }, + { + electricTier: "zpm", + motorMaxSpeed: 1.84, + motorAcceleration: 0.875 + }, + { + electricTier: "uv", + motorMaxSpeed: 2, + motorAcceleration: 1 + } + ] + + let forcefieldUpgrades =[ + { + electricTier: "lv", + repelForce: 0.625 + }, + { + electricTier: "mv", + repelForce: 1.25 + }, + { + electricTier: "hv", + repelForce: 1.875 + }, + { + electricTier: "ev", + repelForce: 2.5 + }, + { + electricTier: "iv", + repelForce: 3.125 + }, + { + electricTier: "luv", + repelForce: 3.75 + }, + { + electricTier: "zpm", + repelForce: 4.375 + }, + { + electricTier: "uv", + repelForce: 5 + }, + ] + + let magnetUpgrades =[ + { + ingotName: 'magnetic_iron_ingot', + attractionRadius: 1.25 + }, + { + ingotName: 'magnetic_steel_ingot', + attractionRadius: 2.5, + }, + { + ingotName: 'magnetic_neodymium_ingot', + attractionRadius: 3.75, + }, + { + ingotName: 'magnetic_samarium_ingot', + attractionRadius: 5 + } + ] + + let throwUpgrades =[ + { + electricTier: "lv", + throwSpeed: 2.25 + }, + { + electricTier: "mv", + throwSpeed: 2.5 + }, + { + electricTier: "hv", + throwSpeed: 2.75 + }, + { + electricTier: "ev", + throwSpeed: 3 + }, + { + electricTier: "iv", + throwSpeed: 3.25 + }, + { + electricTier: "luv", + throwSpeed: 3.5 + }, + { + electricTier: "zpm", + throwSpeed: 3.75 + }, + { + electricTier: "uv", + throwSpeed: 4 + }, + ] + + /** + * Helper method for creating an upgrade recipe utilizing the GrappleCustomization class. The method itself returns the REcipeBuilder so you can modify it further + * @param {InputItem_[]} upgradeItems The items required to craft this upgrade + * @param {(grappleCustomization: Internal.GrappleCustomization, orig: Internal.ItemStack, result: Internal.ItemStack) => Internal.ItemStack} grappleCustomizationCallback A function that's used to modify the GrapplingHook's NBT data. It must return the actual result of the crafting recipe, which can be result. If null is returned from this function then the result is Air, making it impossible to actually apply the upgrade. + * @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does + * @returns {Special.Recipes.ShapelessKubejs} The Recipe Builder + */ + function shapelessUpgradeRecipe(upgradeItems, grappleCustomizationCallback, localizationToken) + { + let inputs = ['grapplemod:grapplinghook'].concat(upgradeItems); + let recipeBuilder = event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), inputs); + recipeBuilder.modifyResult((grid, result) => + { + let fallbackItem = Item.of('minecraft:air'); + let orig = grid.find(Ingredient.of("grapplemod:grapplinghook")); + + let customization = new $GrappleCustomization(); + customization.loadNBT(orig.nbt.getCompound("custom")); + + result = grappleCustomizationCallback(customization, orig, result); + if(result == null) + { + result = fallbackItem; + return result; + } + + result.nbt.put("custom", customization.writeNBT()); + result.nbt.put("Damage", orig.nbt.getInt("Damage")); + + if(orig.hasCustomHoverName()) + { + result.setHoverName(orig.hoverName); + } + else + { + result.resetHoverName(); + } + return result; + }) + return recipeBuilder; + } + + /** + * Helper method for creating an Shaped Upgrade Recipe utilizing the Grapple Customization class. The method itself returns the RecipeBuilder so you can modify it further. + * @param {InputItem_[]} pattern The Pattern for the shaped recipe. + * @param {{[key in string]: InputItem_}} keyMap The key map, a "grapplemod:grapplinghook" MUST be present + * @param {(grappleCustomization: Internal.GrappleCustomization, orig: Internal.ItemStack, result: Internal.ItemStack) => Internal.ItemStack} grappleCustomizationCallback A function that's used to modify the GrapplingHook's NBT data. It must return the actual result of the crafting recipe, which can be result. If null is returned from this function then the result is Air, making it impossible to actually apply the upgrade. + * @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does + * @returns {Special.Recipes.ShapedKubejs} The Recipe Builder + */ + function shapedUpgradeRecipe(pattern, keyMap, grappleCustomizationCallback, localizationToken) + { + let recipeBuilder = event.recipes.kubejs.shaped(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), pattern, keyMap) + recipeBuilder.modifyResult((grid, result) => + { + let fallbackItem = Item.of('minecraft:air'); + let orig = grid.find(Ingredient.of("grapplemod:grapplinghook")); + + let customization = new $GrappleCustomization(); + customization.loadNBT(orig.nbt.getCompound("custom")); + + result = grappleCustomizationCallback(customization, orig, result); + if(result == null) + { + result = fallbackItem; + return result; + } + + result.nbt.put("custom", customization.writeNBT()); + result.nbt.put("Damage", orig.nbt.getInt("Damage")); + if(orig.hasCustomHoverName()) + { + result.setHoverName(orig.hoverName); + } + else + { + result.resetHoverName(); + } + return result; + }) + return recipeBuilder; + } + + event.remove({mod: 'grapplemod'}) + + event.recipes.kubejs.shapeless('grapplemod:grapplinghook', ['gtceu:wrought_iron_pickaxe_head', 'firmaciv:rope_coil', 'firmaciv:rope_coil', 'firmaciv:rope_coil', 'firmaciv:rope_coil']) + .modifyResult((craftingGrid, result) => + { + let grappleCustomization = new $GrappleCustomization(); + grappleCustomization.setDefaults(); + + grappleCustomization.maxlen = 80; + grappleCustomization.smartmotor = false; + grappleCustomization.smartdoublemotor = false; + result.nbt.putInt("Damage", 0); + result.nbt.put("custom", grappleCustomization.writeNBT()); + return result; + }).id('tfg:grapplemod/shapeless/grapplinghook'); + + //Repair + event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate("tfg.grapplemod.repair")), ['grapplemod:grapplinghook', 'gtceu:wrought_iron_dust']) + .modifyResult((craftingGrid, result) => + { + try + { + let fallbackItem = Item.of("minecraft:air"); + let orig = craftingGrid.find(Ingredient.of('grapplemod:grapplinghook')); + let damage = orig.nbt.getInt("Damage"); + + if(damage <= 0) + { + return fallbackItem; + } + let maxDamage = result.maxDamage; + let restoredDamage = maxDamage / 3; + result.nbt.putInt("Damage", Math.max(0, damage - restoredDamage)); + + let customization = new $GrappleCustomization(); + customization.loadNBT(orig.nbt.getCompound("custom")); + + result.nbt.put("custom", customization.writeNBT()); + + + if(orig.hasCustomHoverName()) + { + result.setHoverName(orig.hoverName); + } + else + { + result.resetHoverName(); + } + return result; + } + catch (exception) + { + console.log(exception); + } + }).id('tfg:grapplemod/shapeless/repair'); + + //Upgrade: Max Length + shapelessUpgradeRecipe(['firmaciv:rope_coil'], (customization, orig, result) => + { + let maxLen = customization.maxlen; + if(maxLen >= ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue) + return null; + + maxLen = Math.min(ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue, maxLen + 20); + customization.maxlen = maxLen; + return result; + }, 'tfg.grapplemod.upgrades.maxlen').id('tfg:grapplemod/upgrades/maxlen'); + shapelessUpgradeRecipe(['#forge:tools/knives'], (customization, orig, result) => + { + let maxLen = customization.maxlen; + if(maxLen <= ADDITIVE_UPGRADES_MINMAX.maxLen.minValue) + { + return null; + } + + maxLen = Math.max(ADDITIVE_UPGRADES_MINMAX.maxLen.minValue, maxLen - 20); + customization.maxlen = maxLen; + return result; + }, 'tfg.grapplemod.downgrades.maxlen').replaceIngredient('grapplemod:grapplinghook', 'firmaciv:rope_coil').id("tfg:grapplemod/downgrades/maxlen_decrease") + + //Upgrade: Motor + motorUpgrades.forEach(motorUpgradeType => + { + //Add motor + shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`], (customization, orig, result) => + { + //If this already has a motor, disallow the recipe + if(customization.motor) + { + return null; + } + + customization.motor = true; + customization.motormaxspeed = motorUpgradeType.motorMaxSpeed; + customization.motoracceleration = motorUpgradeType.motorAcceleration; + return result; + }, `tfg.grapplemod.upgrades.motor.${motorUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/motor/${motorUpgradeType.electricTier}`); + + //Remove Motor + shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`, '#forge:tools/hammers'], (customization, orig, result) => + { + let motorMaxSpeed = motorUpgradeType.motorMaxSpeed; + let motorAcceleration = motorUpgradeType.motorAcceleration; + if(!customization.motor) + { + return null; + } + + if(customization.motormaxspeed != motorMaxSpeed) + { + return null; + } + + if(customization.motoracceleration != motorAcceleration) + { + return null; + } + + customization.motor = false; + customization.motormaxspeed = 0; + customization.motoracceleration = 0; + return result; + }, `tfg.grapplemod.downgrades.motor`) + .replaceIngredient('grapplemod:grapplinghook', `gtceu:${motorUpgradeType.electricTier}_electric_motor`) + .keepIngredient(`gtceu:${motorUpgradeType.electricTier}_electric_motor`) + .id(`tfg:grapplemod/downgrades/motor/${motorUpgradeType.electricTier}`); + }) + + //Enable Smart Motor + shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit'], (customization, orig, result) => + { + if(!customization.motor) + { + return null; + } + + if(customization.smartmotor || customization.smartdoublemotor) + { + return null; + } + + customization.smartdoublemotor = true; + customization.smartmotor = true; + return result; + }, 'tfg.grapplemod.upgrades.smart_motor').id('tfg:grapplemod/upgrades/smart_motor'); + + //Disable Smart Motor + shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit', '#forge:tools/hammers'], (customization, orig, result) => + { + if(!customization.smartmotor || !customization.smartdoublemotor) + { + return null; + } + + customization.smartmotor = false; + customization.smartdoublemotor = false; + return result; + }, 'tfg.grapplemod.downgrades.smart_motor') + .replaceIngredient('grapplemod:grapplinghook', 'gtceu:basic_electronic_circuit') + .keepIngredient('gtceu:basic_electronic_circuit') + .id('tfg:grapplemod/downgrades/smart_motor'); + + //Enable Sticky Rope + shapelessUpgradeRecipe(['gtceu:sticky_resin'], (customization, orig, result) => + { + if(customization.sticky) + { + return null; + } + + customization.sticky = true; + return result; + }, 'tfg.grapplemod.upgrades.sticky') + .id('tfg:grapplemod/upgrades/sticky') + + //Disable Sticky Rope + shapelessUpgradeRecipe(['gtceu:sticky_resin', '#forge:tools/hammers'], (customization, orig, result) => + { + if(!customization.sticky) + { + return null; + } + + customization.sticky = false; + return result; + }, 'tfg.grapplemod.downgrades.sticky') + .replaceIngredient('grapplemod:grapplinghook', 'gtceu:sticky_resin') + .keepIngredient('gtceu:sticky_resin') + .id('tfg:grapplemod/downgrades/sticky') + + //Upgrade: Forcefield + forcefieldUpgrades.forEach(forcefieldUpgradeType => + { + //Add Forcefield + shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`], (customization, orig, result) => + { + if(customization.repel) + { + return null; + } + + customization.repel = true; + customization.repelforce = forcefieldUpgradeType.repelForce; + return result; + }, `tfg.grapplemod.upgrades.forcefield.${forcefieldUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/forcefield/${forcefieldUpgradeType.electricTier}`); + + //Remove Forcefield + shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`, '#forge:tools/hammers'], (customization, orig, result) => + { + let repelForce = forcefieldUpgradeType.repelForce; + if(!customization.repel) + return null; + + if(customization.repelforce != repelForce) + { + return null; + } + + customization.repel = false; + customization.repelforce = 0; + return result; + }, 'tfg.grapplemod.downgrades.forcefield') + .replaceIngredient('grapplemod:grapplinghook', `gtceu:${forcefieldUpgradeType.electricTier}_field_generator`) + .keepIngredient(`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`) + .id(`tfg:grapplemod/downgrades/forcefield/${forcefieldUpgradeType.electricTier}`); + }) + //Upgrade: Magnet + magnetUpgrades.forEach(magnetUpgradeTier => + { + //Add Magnet + shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`], (customization, orig, result) => + { + if(customization.attract) + { + return null; + } + + customization.attract = true; + customization.attractradius = magnetUpgradeTier.attractionRadius; + return result; + }, `tfg.grapplemod.upgrades.magnet.${magnetUpgradeTier.ingotName}`).id(`tfg:grapplemod/upgrades/magnet/${magnetUpgradeTier.ingotName}`); + + //Remove Magnet + shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`, '#forge:tools/hammers'], (customization, orig, result) => + { + let attractionRadius = magnetUpgradeTier.attractionRadius; + if(!customization.attract) + { + return null; + } + + if(customization.attractradius != attractionRadius) + { + return null; + } + + customization.attract = false; + customization.attractradius = attractionRadius; + return result; + }, 'tfg.grapplemod.downgrades.magnet') + .replaceIngredient('grapplemod:grapplinghook', `gtceu:${magnetUpgradeTier.ingotName}`) + .keepIngredient(`gtceu:${magnetUpgradeTier.ingotName}`) + .id(`tfg:grapplemod/downgrades/magnet/${magnetUpgradeTier.ingotName}`); + }) + + //Set gravity to 0.5 + shapelessUpgradeRecipe(['gtceu:helium_bucket'], (customization, orig, result) => + { + if(customization.hookgravity != 1) + { + return null; + } + + customization.hookgravity = 0.5; + return result; + }, `tfg.grapplemod.upgrades.gravity.0.5`).id('tfg:grapplemod/upgrades/gravity/0.5'); + //Set gravity to 1, from 0.5 + shapelessUpgradeRecipe(['minecraft:bucket', '#forge:tools/hammers'], (customization, orig, result) => + { + if(customization.hookgravity != 0.5) + { + return null; + } + customization.hookgravity = 1; + return result; + }, 'tfg.grapplemod.downgrades.gravity.0.5') + .replaceIngredient('minecraft:bucket', 'gtceu:helium_bucket') + .id('tfg:grapplemod/downgrades/gravity/0.5'); + + //Set gravity to 0 + shapelessUpgradeRecipe(['gtceu:gravitation_engine_unit'], (customization, orig, result) => + { + if(customization.hookgravity != 1) + { + return null; + } + + customization.hookgravity = 0; + return result; + }, 'tfg.grapplemod.upgrades.gravity.0').id('tfg:grapplemod/upgrades/gravity/0'); + //Set gravity to 1, from 0 + shapelessUpgradeRecipe(['gtceu:tungsten_block', '#forge:tools/hammers'], (customization, orig, result) => + { + if(customization.hookgravity != 0) + { + return null; + } + + customization.hookgravity = 1; + return result; + }, 'tfg.grapplemod.downgrades.gravity.0') + .replaceIngredient('grapplemod:grapplinghook', 'gtceu:gravitation_engine_unit') + .keepIngredient('gtceu:tungsten_block') + .id('tfg:grapplemod/downgrades/gravity/0') + + //Upgrade: Throw Speed + throwUpgrades.forEach(throwUpgradeType => + { + //Add Throwspeed + shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`], (customization, orig, result) => + { + if(customization.throwspeed != 2) + { + return null; + } + + customization.throwspeed = throwUpgradeType.throwSpeed; + return result; + }, `tfg.grapplemod.upgrades.throwspeed.${throwUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/throwspeed/${throwUpgradeType.electricTier}`); + + //Remove Throwspeed + shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`, '#forge:tools/hammers'], (customization, orig, result) => + { + let throwSpeed = throwUpgradeType.throwSpeed; + + if(customization.throwspeed != throwSpeed) + { + return null; + } + + customization.throwspeed = 2; + return result; + }, 'tfg.grapplemod.downgrades.throwspeed') + .replaceIngredient('grapplemod:grapplinghook', `gtceu:${throwUpgradeType.electricTier}_electric_piston`) + .keepIngredient(`gtceu:${throwUpgradeType.electricTier}_electric_piston`) + .id(`tfg:grapplemod/downgrades/throwspeed/${throwUpgradeType.electricTier}`); + + }) + //Add Double Hook + shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head'], (customization, orig, result) => + { + if(customization.doublehook) + { + return null; + } + + customization.doublehook = true; + customization.angle = 5; + customization.sneakingangle = 2.5; + return result; + }, 'tfg.grapplemod.upgrades.doublehook').id('tfg:grapplemod/upgrades/doublehook') + + //Remove Double Hook + shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head', '#forge:tools/hammers'], (customization, orig, result) => + { + if(!customization.doublehook) + { + return null; + } + + customization.doublehook = false; + customization.angle = 5; + customization.sneakingangle = 2.5; + return result; + }, 'tfg.grapplemod.downgrades.doublehook') + .replaceIngredient('grapplemod:grapplinghook', 'gtceu:black_steel_pickaxe_head') + .keepIngredient('gtceu:black_steel_pickaxe_head') + .id('tfg:grapplemod/downgrades/doublehook') + + // Increase Vertical Throw Angle + shapedUpgradeRecipe([ + 'A', + 'B' + ],{ + A: '#forge:tools/wrenches', + B: 'grapplemod:grapplinghook' + }, (customization, orig, result) => + { + if(customization.verticalthrowangle >= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue) + { + return null; + } + + customization.verticalthrowangle = Math.min(ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue, customization.verticalthrowangle + 5); + customization.sneakingverticalthrowangle = customization.verticalthrowangle / 2; + return result; + }, 'tfg.grapplemod.upgrades.vertical_throwing_angle').id('tfg:grapplemod/upgrades/vertical_throwing_angle'); + //Decrease Vertical Throw Angle + shapedUpgradeRecipe([ + 'A', + 'B' + ],{ + A: 'grapplemod:grapplinghook', + B: '#forge:tools/wrenches', + }, (customization, orig, result) => + { + if(customization.verticalthrowangle <= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue) + { + return null; + } + + customization.verticalthrowangle = Math.max(ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue, customization.verticalthrowangle - 5); + customization.sneakingverticalthrowangle = customization.verticalthrowangle / 2; + return result; + }, 'tfg.grapplemod.downgrades.vertical_throwing_angle').id('tfg:grapplemod/downgrades/vertical_throwing_angle') + + // Increase Horizontal Throw Angle + shapedUpgradeRecipe([ + 'AB', + ],{ + A: 'grapplemod:grapplinghook', + B: '#forge:tools/screwdrivers' + }, (customization, orig, result) => + { + if(!customization.doublehook) + { + return null; + } + + if(customization.angle >= ADDITIVE_UPGRADES_MINMAX.angle.maxValue) + { + return null; + } + + customization.angle = Math.min(ADDITIVE_UPGRADES_MINMAX.angle.maxValue, customization.angle + 5); + customization.sneakingangle = customization.angle / 2; + return result; + }, 'tfg.grapplemod.upgrades.angle').kjsMirror(false).id('tfg:grapplemod/upgrades/angle'); + //Decrease Horizontal Throw Angle + shapedUpgradeRecipe([ + 'AB', + ],{ + A: '#forge:tools/screwdrivers', + B: 'grapplemod:grapplinghook', + }, (customization, orig, result) => + { + if(!customization.doublehook) + { + return null; + } + + if(customization.angle <= ADDITIVE_UPGRADES_MINMAX.angle.minValue) + { + return null; + } + + customization.angle = Math.max(ADDITIVE_UPGRADES_MINMAX.angle.minValue, customization.angle - 5); + customization.sneakingangle = customization.angle / 2; + return result; + }, 'tfg.grapplemod.downgrades.angle').kjsMirror(false).id('tfg:grapplemod/downgrades/angle') +} \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js new file mode 100644 index 000000000..dd8769393 --- /dev/null +++ b/kubejs/server_scripts/greate/recipes.js @@ -0,0 +1,411 @@ +// priority: 0 + +function registerGreateRecipes(event) { + + removeGreateRecipes(event); + registerGreateRecyclingRecipes(event); + + event.replaceInput({ input: 'create:cogwheel'}, 'create:cogwheel', '#tfg:small_cogwheels') + event.replaceInput({ input: 'create:large_cogwheel'}, 'create:large_cogwheel', '#tfg:large_cogwheels') + event.replaceInput({ input: 'create:shaft'}, 'create:shaft', '#tfg:shafts') + + // #region Shafts + + event.shaped('4x greate:andesite_alloy_shaft', [ + 'A ', + ' B' + ], { + A: '#forge:tools/saws', + B: '#forge:plates/black_bronze' + }).id('greate:shaped/andesite_alloy_shaft_black_bronze') + + event.shaped('6x greate:andesite_alloy_shaft', [ + 'A ', + ' B' + ], { + A: '#forge:tools/saws', + B: '#forge:plates/wrought_iron' + }).id('greate:shaped/andesite_alloy_shaft') + + event.shaped('4x greate:andesite_alloy_shaft', [ + 'A ', + ' B' + ], { + A: '#forge:tools/saws', + B: '#forge:plates/bronze' + }).id('greate:shaped/andesite_alloy_shaft_bronze') + + event.shaped('4x greate:andesite_alloy_shaft', [ + 'A ', + ' B' + ], { + A: '#forge:tools/saws', + B: '#forge:plates/bismuth_bronze' + }).id('greate:shaped/andesite_alloy_shaft_bismuth_bronze') + + generateCutterRecipe(event, '#forge:plates/wrought_iron', '6x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft') + generateCutterRecipe(event, '#forge:plates/steel', '6x greate:steel_shaft', 100, GTValues.VA[GTValues.ULV], 'steel_shaft') + generateCutterRecipe(event, '#forge:plates/aluminium', '6x greate:aluminium_shaft', 100, GTValues.VA[GTValues.LV], 'aluminium_shaft') + generateCutterRecipe(event, '#forge:plates/stainless_steel', '6x greate:stainless_steel_shaft', 100, GTValues.VA[GTValues.MV], 'stainless_steel_shaft') + generateCutterRecipe(event, '#forge:plates/titanium', '6x greate:titanium_shaft', 100, GTValues.VA[GTValues.HV], 'titanium_shaft') + + // #endregion + + // #region Cogs + + event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood', '#forge:tools/hammers']) + .id('greate:shapeless/andesite_alloy_cogwheel') + event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:gears/wood', '#forge:tools/hammers']) + .id('greate:shapeless/large_andesite_alloy_cogwheel'); + + // TODO: recycling recipes for these? + event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron', '#forge:tools/wrenches']) + .id('greate:shapeless/steel_cogwheel') + event.shapeless('greate:large_steel_cogwheel', ['greate:steel_shaft', '#forge:gears/wrought_iron', '#forge:tools/wrenches']) + .id('greate:shapeless/large_steel_cogwheel'); + + event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:tools/wrenches']) + .id('greate:shapeless/aluminium_cogwheel') + event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:gears/steel', '#forge:tools/wrenches']) + .id('greate:shapeless/large_aluminium_cogwheel'); + + event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium', '#forge:tools/wrenches']) + .id('greate:shapeless/stainless_steel_cogwheel') + event.shapeless('greate:large_stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:gears/aluminium', '#forge:tools/wrenches']) + .id('greate:shapeless/large_stainless_steel_cogwheel'); + + event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel', '#forge:tools/wrenches']) + .id('greate:shapeless/titanium_cogwheel') + event.shapeless('greate:large_titanium_cogwheel', ['greate:titanium_shaft', '#forge:gears/stainless_steel', '#forge:tools/wrenches']) + .id('greate:shapeless/large_titanium_cogwheel'); + + // #endregion + + // #region Millstones + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('greate:andesite_alloy_millstone', [ + ' B ', + 'DCE', + ' A ' + ], { + A: 'tfc:quern', + B: 'tfc:handstone', + C: '#forge:gears/bronze', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('greate:shaped/andesite_alloy_millstone') + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('greate:andesite_alloy_millstone', [ + ' B ', + 'DCE', + ' A ' + ], { + A: 'tfc:quern', + B: 'tfc:handstone', + C: '#forge:gears/bismuth_bronze', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('greate:shaped/andesite_alloy_millstone2') + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('greate:andesite_alloy_millstone', [ + ' B ', + 'DCE', + ' A ' + ], { + A: 'tfc:quern', + B: 'tfc:handstone', + C: '#forge:gears/black_bronze', + D: '#forge:tools/hammers', + E: '#tfc:chisels' + }) + ).id('greate:shaped/andesite_alloy_millstone3') + + event.shaped('greate:steel_millstone', [ + 'FBF', + 'DCE', + 'AAA' + ], { + A: '#forge:smooth_stone', + B: 'gtceu:treated_wood_slab', + C: '#forge:gears/steel', + D: '#forge:tools/hammers', + E: '#forge:tools/wrenches', + F: '#forge:dusts/diamond' + }).id('greate:shaped/steel_millstone') + + // #endregion + + // #region Crushing wheels + + event.recipes.createMechanicalCrafting('2x greate:steel_crushing_wheel', [ + ' AAA ', + 'AABAA', + 'ABCBA', + 'AABAA', + ' AAA ' + ], { + A: '#forge:plates/tin_alloy', + B: '#forge:storage_blocks/wrought_iron', + C: 'greate:steel_shaft', + }).id('greate:mechanical_crafting/steel_crushing_wheel') + + event.recipes.createMechanicalCrafting('2x greate:aluminium_crushing_wheel', [ + ' AAA ', + 'AABAA', + 'ABCBA', + 'AABAA', + ' AAA ' + ], { + A: '#forge:plates/vanadium_steel', + B: '#forge:storage_blocks/steel', + C: 'greate:aluminium_shaft', + }).id('greate:mechanical_crafting/aluminium_crushing_wheel') + + event.recipes.createMechanicalCrafting('2x greate:stainless_steel_crushing_wheel', [ + ' AAA ', + 'AABAA', + 'ABCBA', + 'AABAA', + ' AAA ' + ], { + A: '#forge:plates/red_steel', + B: '#forge:storage_blocks/aluminium', + C: 'greate:stainless_steel_shaft', + }).id('greate:mechanical_crafting/stainless_steel_crushing_wheel') + + event.recipes.createMechanicalCrafting('2x greate:titanium_crushing_wheel', [ + ' AAA ', + 'AABAA', + 'ABCBA', + 'AABAA', + ' AAA ' + ], { + A: '#forge:plates/ultimet', + B: '#forge:storage_blocks/stainless_steel', + C: 'greate:titanium_shaft', + }).id('greate:mechanical_crafting/titanium_crushing_wheel') + + // #endregion + + // #region Encased Fan + + event.shaped('greate:steel_encased_fan', [ + ' A ', + 'BCB', + 'DEF' + ], { + A: 'greate:steel_shaft', + B: '#forge:small_gears/wrought_iron', + C: 'create:andesite_casing', + D: '#forge:tools/wrenches', + E: 'gtceu:steel_rotor', + F: '#forge:tools/hammers' + }).id('greate:shaped/steel_encased_fan') + + // The other fans are fine as-is + + // #endregion + + // #region Mechanical saw + + event.shaped('greate:andesite_alloy_mechanical_saw', [ + 'ABA', + 'CDC', + 'EF ' + ], { + A: '#forge:screws/wrought_iron', + B: 'gtceu:wrought_iron_buzz_saw_blade', + C: 'greate:andesite_alloy_cogwheel', + D: 'create:andesite_casing', + E: '#forge:tools/wrenches', + F: 'greate:andesite_alloy_shaft' + }).id('greate:shaped/andesite_alloy_mechanical_saw') + + event.shaped('greate:steel_mechanical_saw', [ + 'ABA', + 'CDC', + 'FE ' + ], { + A: '#gtceu:circuits/ulv', + B: 'gtceu:cobalt_brass_buzz_saw_blade', + C: 'greate:steel_cogwheel', + D: 'gtceu:ulv_machine_casing', + E: 'greate:steel_shaft', + F: '#forge:tools/wrenches' + }).id('greate:shaped/steel_mechanical_saw') + + event.shaped('greate:aluminium_mechanical_saw', [ + 'ABA', + 'CDC', + 'FE ' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:vanadium_steel_buzz_saw_blade', + C: 'gtceu:mv_electric_motor', + D: 'gtceu:mv_machine_casing', + E: 'greate:aluminium_shaft', + F: '#forge:tools/wrenches' + }).id('greate:shaped/aluminium_mechanical_saw') + + event.shaped('greate:stainless_steel_mechanical_saw', [ + 'ABA', + 'CDC', + 'FE ' + ], { + A: '#gtceu:circuits/hv', + B: 'gtceu:red_steel_buzz_saw_blade', + C: 'gtceu:hv_electric_motor', + D: 'gtceu:hv_machine_casing', + E: 'greate:stainless_steel_shaft', + F: '#forge:tools/wrenches' + }).id('greate:shaped/stainless_steel_mechanical_saw') + + event.shaped('greate:titanium_mechanical_saw', [ + 'ABA', + 'CDC', + 'FE ' + ], { + A: '#gtceu:circuits/ev', + B: 'gtceu:ultimet_buzz_saw_blade', + C: 'gtceu:ev_electric_motor', + D: 'gtceu:ev_machine_casing', + E: 'greate:titanium_shaft', + F: '#forge:tools/wrenches' + }).id('greate:shaped/titanium_mechanical_saw') + + // #endregion + + // #region Mechanical Pump + + event.shaped('greate:steel_mechanical_pump', [ + ' AB', + 'CDE', + ' AB' + ], { + A: '#forge:wax', + B: '#forge:screws/steel', + C: '#forge:tools/wrenches', + D: 'create:fluid_pipe', + E: 'greate:steel_cogwheel' + }).id('greate:shaped/steel_mechanical_pump') + + // #endregion + + // #region Belt Connector + + event.shaped('greate:rubber_belt_connector', [ + 'AAA', + 'AAA', + 'BDC' + ], { + A: '#forge:leather', + B: '#forge:tools/knives', + C: '#tfc:sewing_needles', + D: '#forge:string' + }).id('greate:shaped/rubber_belt_connector_from_leather') + + event.shaped('greate:polyethylene_belt_connector', [ + 'AAA', + 'AAA', + 'B C' + ], { + A: '#forge:plates/styrene_butadiene_rubber', + B: '#forge:tools/files', + C: '#forge:tools/hammers', + }).id('greate:shaped/polyethylene_belt_connector') + + // #endregion + + // #region Mixer + + event.shaped('greate:steel_mechanical_mixer', [ + 'ABA', + 'DCD', + 'FEG' + ], { + A: '#gtceu:circuits/ulv', + B: 'greate:steel_shaft', + C: 'gtceu:ulv_machine_hull', + D: '#forge:plates/black_steel', + E: 'gtceu:steel_whisk', + F: '#forge:tools/wrenches', + G: '#forge:tools/hammers' + }).id('greate:shaped/steel_mechanical_mixer') + + // #endregion + + // #region Whisks + + event.shaped('gtceu:steel_whisk', [ + 'ABC', + 'D D', + 'D D' + ], { + A: '#forge:tools/hammers', + B: '#forge:rings/steel', + C: '#forge:tools/wrenches', + D: '#forge:rods/long/steel' + }).id('gtceu:shaped/steel_whisk') + + event.shaped('gtceu:aluminium_whisk', [ + 'ABC', + 'D D', + 'D D' + ], { + A: '#forge:tools/hammers', + B: '#forge:rings/aluminium', + C: '#forge:tools/wrenches', + D: '#forge:rods/long/aluminium' + }).id('gtceu:shaped/aluminium_whisk') + + event.shaped('gtceu:stainless_steel_whisk', [ + 'ABC', + 'D D', + 'D D' + ], { + A: '#forge:tools/hammers', + B: '#forge:rings/stainless_steel', + C: '#forge:tools/wrenches', + D: '#forge:rods/long/stainless_steel' + }).id('gtceu:shaped/stainless_steel_whisk') + + event.shaped('gtceu:titanium_whisk', [ + 'ABC', + 'D D', + 'D D' + ], { + A: '#forge:tools/hammers', + B: '#forge:rings/titanium', + C: '#forge:tools/wrenches', + D: '#forge:rods/long/titanium' + }).id('gtceu:shaped/titanium_whisk') + + // #endregion + + // #region Cables + // TODO: Remove this when we update greate + + event.forEachRecipe([{ type: 'gtceu:wire_coating' }], recipe => { + let r = JSON.parse(recipe.json) + + let newRecipe = event.recipes.gtceu.assembler(recipe.getId()) + + let itemIns = []; + r.inputs.item.forEach(i => { + itemIns.push(`${i.content.count}x #${i.content.ingredient.tag}`); + }) + + newRecipe.itemInputs(itemIns); + newRecipe.inputFluids(Fluid.of(`${r.inputs.fluid[0].content.value[0].tag.replace(/forge/g, 'gtceu')}`, r.inputs.fluid[0].content.amount)) + newRecipe.itemOutputs(r.outputs.item[0].content.ingredient.item); + newRecipe.EUt(r.tickInputs.eu[0].content) + newRecipe.duration(r.duration); + }) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js new file mode 100644 index 000000000..40bdededf --- /dev/null +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -0,0 +1,569 @@ +// priority: 0 + +function registerGreateRecyclingRecipes(event) { + + // #region Shafts + + // No andesite alloy shafts because those can be crafted from 4 different materials + + event.recipes.gtceu.macerator('steel_shaft') + .itemInputs('greate:steel_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 1)) + .duration(GTMaterials.Steel.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('steel_shaft') + .itemInputs('greate:steel_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 1)) + .duration(GTMaterials.Steel.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('aluminium_shaft') + .itemInputs('greate:aluminium_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1)) + .duration(GTMaterials.Aluminium.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('aluminium_shaft') + .itemInputs('greate:aluminium_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 1)) + .duration(GTMaterials.Aluminium.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('stainless_steel_shaft') + .itemInputs('greate:stainless_steel_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 1)) + .duration(GTMaterials.StainlessSteel.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('stainless_steel_shaft') + .itemInputs('greate:stainless_steel_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 1)) + .duration(GTMaterials.StainlessSteel.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('titanium_shaft') + .itemInputs('greate:titanium_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 1)) + .duration(GTMaterials.Titanium.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('titanium_shaft') + .itemInputs('greate:titanium_shaft') + .itemOutputs(ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Titanium, 1)) + .duration(GTMaterials.Titanium.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Cogs + + event.recipes.tfc.extra_products_shapeless_crafting('greate:andesite_alloy_shaft', + event.shapeless('#forge:small_gears/wood', ['greate:andesite_alloy_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:andesite_alloy_shaft', + event.shapeless('#forge:gears/wood', ['greate:large_andesite_alloy_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:steel_shaft', + event.shapeless('#forge:small_gears/wrought_iron', ['greate:steel_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:steel_shaft', + event.shapeless('#forge:gears/wrought_iron', ['greate:large_steel_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:aluminium_shaft', + event.shapeless('#forge:small_gears/steel', ['greate:aluminium_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:aluminium_shaft', + event.shapeless('#forge:gears/steel', ['greate:large_aluminium_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:stainless_steel_shaft', + event.shapeless('#forge:small_gears/aluminium', ['greate:stainless_steel_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:stainless_steel_shaft', + event.shapeless('#forge:gears/aluminium', ['greate:large_stainless_steel_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:titanium_shaft', + event.shapeless('#forge:small_gears/stainless_steel', ['greate:titanium_cogwheel'])) + + event.recipes.tfc.extra_products_shapeless_crafting('greate:titanium_shaft', + event.shapeless('#forge:gears/stainless_steel', ['greate:large_titanium_cogwheel'])) + + // #endregion + + // #region Millstones + + event.recipes.gtceu.macerator('greate:steel_millstone') + .itemInputs('greate:steel_millstone') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4), + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.TreatedWood, 2)) + .duration(GTMaterials.Steel.getMass() * 4) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_millstone') + .itemInputs('greate:steel_millstone') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)) + .duration(GTMaterials.Steel.getMass() * 4) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Crushing Wheels + + event.recipes.gtceu.macerator('greate:steel_crushing_wheel') + .itemInputs('greate:steel_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 18), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.TinAlloy, 8), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 1)) + .duration(GTMaterials.TinAlloy.getMass() * 26) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_crushing_wheel') + .itemInputs('greate:steel_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 18), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.TinAlloy, 8), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 1)) + .duration(GTMaterials.TinAlloy.getMass() * 26) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:aluminium_crushing_wheel') + .itemInputs('greate:aluminium_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 18), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.VanadiumSteel, 8), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1)) + .duration(GTMaterials.VanadiumSteel.getMass() * 26) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:aluminium_crushing_wheel') + .itemInputs('greate:aluminium_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 18), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.VanadiumSteel, 8), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 1)) + .duration(GTMaterials.VanadiumSteel.getMass() * 26) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:stainless_steel_crushing_wheel') + .itemInputs('greate:stainless_steel_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 18), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 8), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 1)) + .duration(GTMaterials.RedSteel.getMass() * 26) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:stainless_steel_crushing_wheel') + .itemInputs('greate:stainless_steel_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 18), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 8), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 1)) + .duration(GTMaterials.RedSteel.getMass() * 26) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:titanium_crushing_wheel') + .itemInputs('greate:titanium_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 18), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 8), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 1)) + .duration(GTMaterials.Ultimet.getMass() * 26) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:titanium_crushing_wheel') + .itemInputs('greate:titanium_crushing_wheel') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 18), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 8), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Titanium, 1)) + .duration(GTMaterials.Ultimet.getMass() * 26) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Encased Fan + + event.recipes.gtceu.macerator('greate:steel_encased_fan') + .itemInputs('greate:steel_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 5), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 2)) + .duration(GTMaterials.Steel.getMass() * 7) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_encased_fan') + .itemInputs('greate:steel_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 5), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 2)) + .duration(GTMaterials.Steel.getMass() * 7) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:aluminium_encased_fan') + .itemInputs('greate:aluminium_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12)) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:aluminium_encased_fan') + .itemInputs('greate:aluminium_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12)) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:stainless_steel_encased_fan') + .itemInputs('greate:stainless_steel_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 12)) + .duration(GTMaterials.StainlessSteel.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:stainless_steel_encased_fan') + .itemInputs('greate:stainless_steel_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 12)) + .duration(GTMaterials.StainlessSteel.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:titanium_encased_fan') + .itemInputs('greate:titanium_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 12)) + .duration(GTMaterials.Titanium.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:titanium_encased_fan') + .itemInputs('greate:titanium_encased_fan') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 12)) + .duration(GTMaterials.Titanium.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Gearbox + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:andesite_alloy_shaft', + event.shapeless('create:andesite_casing', ['greate:andesite_alloy_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:steel_shaft', + event.shapeless('create:andesite_casing', ['greate:steel_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:aluminium_shaft', + event.shapeless('create:andesite_casing', ['greate:aluminium_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:stainless_steel_shaft', + event.shapeless('create:andesite_casing', ['greate:stainless_steel_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft', + event.shapeless('create:andesite_casing', ['greate:titanium_gearbox', '#forge:tools/hammers'])) + + // #endregion + + // #region Mechanical Saw + + event.recipes.gtceu.macerator('greate:andesite_alloy_mechanical_saw') + .itemInputs('greate:andesite_alloy_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 7), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Wood, 1)) + .duration(GTMaterials.WroughtIron.getMass() * 7) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:andesite_alloy_mechanical_saw') + .itemInputs('greate:andesite_alloy_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 7), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ash, 1)) + .duration(GTMaterials.WroughtIron.getMass() * 7) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:steel_mechanical_saw') + .itemInputs('greate:steel_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.CobaltBrass, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 4)) + .duration(GTMaterials.CobaltBrass.getMass() * 16) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_mechanical_saw') + .itemInputs('greate:steel_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.CobaltBrass, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.AnnealedCopper, 4)) + .duration(GTMaterials.CobaltBrass.getMass() * 16) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:aluminium_mechanical_saw') + .itemInputs('greate:aluminium_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 10), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.VanadiumSteel, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2)) + .duration(GTMaterials.VanadiumSteel.getMass() * 22) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_saw') + .itemInputs('greate:aluminium_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 10), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.VanadiumSteel, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.AnnealedCopper, 2)) + .duration(GTMaterials.VanadiumSteel.getMass() * 22) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_saw') + .itemInputs('greate:stainless_steel_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 4)) + .duration(GTMaterials.RedSteel.getMass() * 22) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_saw') + .itemInputs('greate:stainless_steel_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 4)) + .duration(GTMaterials.RedSteel.getMass() * 22) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:titanium_mechanical_saw') + .itemInputs('greate:titanium_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 10), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Kanthal, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4)) + .duration(GTMaterials.Ultimet.getMass() * 22) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_saw') + .itemInputs('greate:titanium_mechanical_saw') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 10), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Kanthal, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)) + .duration(GTMaterials.Ultimet.getMass() * 22) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Mechanical Pump + + event.recipes.gtceu.macerator('greate:steel_mechanical_pump') + .itemInputs('greate:steel_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Steel, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_mechanical_pump') + .itemInputs('greate:steel_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 1), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:aluminium_mechanical_pump') + .itemInputs('greate:aluminium_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_pump') + .itemInputs('greate:aluminium_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_pump') + .itemInputs('greate:stainless_steel_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_pump') + .itemInputs('greate:stainless_steel_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 1), + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:titanium_mechanical_pump') + .itemInputs('greate:titanium_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_pump') + .itemInputs('greate:titanium_mechanical_pump') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Titanium, 2)) + .duration(GTMaterials.Copper.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion + + // #region Belts + + event.recipes.gtceu.macerator('greate:rubber_belt_connector') + .itemInputs('greate:rubber_belt_connector') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 6)) + .duration(GTMaterials.Rubber.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator('greate:silicone_rubber_belt_connector') + .itemInputs('greate:silicone_rubber_belt_connector') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 6)) + .duration(GTMaterials.SiliconeRubber.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator('greate:polyethylene_belt_connector') + .itemInputs('greate:polyethylene_belt_connector') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StyreneButadieneRubber, 6)) + .duration(GTMaterials.StyreneButadieneRubber.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + // #region + + // #region Mechanical Mixer + + event.recipes.gtceu.macerator('greate:steel_mechanical_mixer') + .itemInputs('greate:steel_mechanical_mixer') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4)) + .duration(GTMaterials.WroughtIron.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:steel_mechanical_mixer') + .itemInputs('greate:steel_mechanical_mixer') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)) + .duration(GTMaterials.WroughtIron.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:aluminium_mechanical_mixer') + .itemInputs('greate:aluminium_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12)) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:aluminium_mechanical_mixer') + .itemInputs('greate:aluminium_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12)) + .duration(GTMaterials.Aluminium.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:stainless_steel_mechanical_mixer') + .itemInputs('greate:stainless_steel_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 12)) + .duration(GTMaterials.StainlessSteel.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:stainless_steel_mechanical_mixer') + .itemInputs('greate:stainless_steel_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 12)) + .duration(GTMaterials.StainlessSteel.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('greate:titanium_mechanical_mixer') + .itemInputs('greate:titanium_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 12)) + .duration(GTMaterials.Titanium.getMass() * 12) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('greate:titanium_mechanical_mixer') + .itemInputs('greate:titanium_mechanical_mixer') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 12)) + .duration(GTMaterials.Titanium.getMass() * 12) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js new file mode 100644 index 000000000..bd60e3c7b --- /dev/null +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -0,0 +1,23 @@ +// priority: 0 + +function removeGreateRecipes(event) { + + global.GREATE_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + event.remove({ mod: 'greate', input: 'create:andesite_alloy' }); + + event.remove({ id: 'greate:shapeless/large_andesite_alloy_cogwheel_from_little' }) + event.remove({ id: 'greate:shapeless/large_steel_cogwheel_from_little' }) + event.remove({ id: 'greate:shapeless/large_aluminium_cogwheel_from_little' }) + event.remove({ id: 'greate:shapeless/large_stainless_steel_cogwheel_from_little' }) + event.remove({ id: 'greate:shapeless/large_titanium_cogwheel_from_little' }) + + event.remove({ id: 'greate:splashing/dough' }) + + event.remove({ mod: 'greate', type: 'create:deploying' }); + event.remove({ mod: 'greate', type: 'create:sequenced_assembly' }); + event.remove({ mod: 'greate', type: 'gtceu:assembler' }); +} \ No newline at end of file diff --git a/kubejs/server_scripts/greate/tags.js b/kubejs/server_scripts/greate/tags.js new file mode 100644 index 000000000..c4c955391 --- /dev/null +++ b/kubejs/server_scripts/greate/tags.js @@ -0,0 +1,48 @@ +// priority: 0 + +function registerGreateItemTags(event) { + + global.GREATE_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + event.add('tfg:small_cogwheels', 'greate:andesite_alloy_cogwheel') + event.add('tfg:small_cogwheels', 'greate:steel_cogwheel') + event.add('tfg:small_cogwheels', 'greate:aluminium_cogwheel') + event.add('tfg:small_cogwheels', 'greate:stainless_steel_cogwheel') + event.add('tfg:small_cogwheels', 'greate:titanium_cogwheel') + + event.add('tfg:large_cogwheels', 'greate:large_andesite_alloy_cogwheel') + event.add('tfg:large_cogwheels', 'greate:large_steel_cogwheel') + event.add('tfg:large_cogwheels', 'greate:large_aluminium_cogwheel') + event.add('tfg:large_cogwheels', 'greate:large_stainless_steel_cogwheel') + event.add('tfg:large_cogwheels', 'greate:large_titanium_cogwheel') + + event.add('tfg:shafts', 'greate:andesite_alloy_shaft') + event.add('tfg:shafts', 'greate:steel_shaft') + event.add('tfg:shafts', 'greate:aluminium_shaft') + event.add('tfg:shafts', 'greate:stainless_steel_shaft') + event.add('tfg:shafts', 'greate:titanium_shaft') +} + + +function registerGreateBlockTags(event) { + + global.GREATE_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + +} + + + +function registerGreateFluidTags(event) { + + global.GREATE_DISABLED_FLUIDS.forEach(fluid => { + event.removeAllTagsFrom(fluid) + event.add('c:hidden_from_recipe_viewers', fluid) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index e7f04f58f..b79dd5c15 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -1,55 +1,177 @@ -// priority: 0 +// priority: 10 + +const STONE_TYPES_TO_COBBLE = { + gabbro: 'tfc:rock/cobble/gabbro', + shale: 'tfc:rock/cobble/shale', + claystone: 'tfc:rock/cobble/claystone', + limestone: 'tfc:rock/cobble/limestone', + conglomerate: 'tfc:rock/cobble/conglomerate', + dolomite: 'tfc:rock/cobble/dolomite', + chert: 'tfc:rock/cobble/chert', + chalk: 'tfc:rock/cobble/chalk', + rhyolite: 'tfc:rock/cobble/rhyolite', + dacite: 'tfc:rock/cobble/dacite', + quartzite: 'tfc:rock/cobble/quartzite', + slate: 'tfc:rock/cobble/slate', + phyllite: 'tfc:rock/cobble/phyllite', + schist: 'tfc:rock/cobble/schist', + gneiss: 'tfc:rock/cobble/gneiss', + marble: 'tfc:rock/cobble/marble', + basalt: 'tfc:rock/cobble/basalt', + diorite: 'tfc:rock/cobble/diorite', + andesite: 'tfc:rock/cobble/andesite', + granite: 'tfc:rock/cobble/granite', + deepslate: 'minecraft:cobbled_deepslate', + pyroxenite: 'minecraft:blackstone', + dripstone: 'minecraft:dripstone_block', +} const registerGTCEULoots = (event) => { - - global.TFC_STONE_TYPES.forEach(stoneType => { - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.ORE)) { - - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) - let stoneTypeDust = null - if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) + // Have to define these here because normal loot table jsons don't support checking for hammers + event.addBlockLootModifier('minecraft:deepslate') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('minecraft:cobbled_deepslate') - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) + event.addBlockLootModifier('minecraft:blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/black') - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) + event.addBlockLootModifier('minecraft:dripstone_block') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/brown') - let blockName = `gtceu:${stoneType}_${material.getName()}_ore` + event.addBlockLootModifier('tfg:rock/hardened_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/black') - if (!richRawOre.isEmpty() && !normalRawOre.isEmpty() && !poorRawOre.isEmpty()) { - - event.addBlockLootModifier(blockName) - .removeLoot(Ingredient.all) - .addWeightedLoot([ - richRawOre.withChance(0.2), - normalRawOre.withChance(0.6), - poorRawOre.withChance(0.2) - ]); - } - - if (!stoneTypeDust.isEmpty()) { - event.addBlockLootModifier(blockName) - .addLoot( - LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25)) - ) - } + event.addBlockLootModifier('tfg:rock/hardened_deepslate') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/black') - if (!crushedOre.isEmpty()) { - event.addBlockLootModifier(blockName) - .matchMainHand('#forge:tools/hammers') - .removeLoot(Ingredient.all) - .addWeightedLoot([ - crushedOre.withChance(0.8), - crushedOre.withCount(2).withChance(0.2) - ]); - } + event.addBlockLootModifier('tfg:rock/hardened_dripstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/brown') - - } - }) - }) + event.addBlockLootModifier('minecraft:gilded_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addSequenceLoot( + LootEntry.of('tfc:sand/black'), + LootEntry.of('tfc:powder/native_gold') + ) + event.addBlockLootModifier('beneath:crackrack') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('tfc:sand/pink') + + // Crush raw rock into cobble + global.ORE_BEARING_STONES.forEach(stoneType => { + event.addBlockLootModifier(`tfc:rock/raw/${stoneType}`) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); + }) + + if (TFGHelpers.isMaterialRegistrationFinished) { + registerGTCEUMaterialLoots(event); + } + else { + console.log("!!!!!!!! MATERIALS NOT DONE YET !!!!!!!!!") + } } + +function registerGTCEUMaterialLoots(event) { + + // Go through all materials + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + + if (material.hasProperty(PropertyKey.ORE)) { + + // Indicator buds + if (material.hasProperty(PropertyKey.GEM)) { + let normalDrop = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) + let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1) + + let bud = `gtceu:${material.getName()}_bud_indicator`; + + event.addBlockLootModifier(bud) + .matchMainHand("tfc:gem_saw") + .addLoot(sawDrop); + + event.addBlockLootModifier(bud) + .not(n => n.matchMainHand("tfc:gem_saw")) + .addLoot(normalDrop); + } + + let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) + let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) + let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) + + // I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS + let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; + if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron) + rawOreBlock = "minecraft" + rawOreBlock; + else + rawOreBlock = "gtceu" + rawOreBlock; + + event.addBlockLootModifier(rawOreBlock) + .removeLoot(ItemFilter.ALWAYS_TRUE) + .or((or) => { + or.matchMainHand('#minecraft:pickaxes') + .matchMainHand('#forge:tools/hammers') + .matchMainHand('#forge:tools/mining_hammers') + }) + .addWeightedLoot([4, 6], + [ + richRawOre.withChance(0.2), + normalRawOre.withChance(0.6), + poorRawOre.withChance(0.2) + ]); + + // Stone ores + global.ORE_BEARING_STONES.forEach(stoneType => { + + let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) + + // Material doesn't work here because of reasons + if (stoneTypeMaterial == null) { + if (stoneType == "pyroxenite") + stoneTypeMaterial = GTMaterials.Blackstone; + else if (stoneType == "deepslate") + stoneTypeMaterial = GTMaterials.Deepslate; + } + + let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) + + // break with pickaxe + event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) + .removeLoot(ItemFilter.ALWAYS_TRUE) + .or((or) => { + or.matchMainHand('#minecraft:pickaxes') + .matchMainHand('#forge:tools/mining_hammers') + }) + .addWeightedLoot([ + richRawOre.withChance(0.2), + normalRawOre.withChance(0.6), + poorRawOre.withChance(0.2) + ]) + .addLoot( + LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25)) + ) + + // break with hammer + event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) + .matchMainHand('#forge:tools/hammers') + .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); + }) + } + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index a15f7eba7..024b8dba2 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,1929 +1,1322 @@ // priority: 0 +/** + * + * @param {Internal.RecipesEventJS} event + */ const registerGTCEURecipes = (event) => { - //#region Выход: Удобрение - // В обычном миксере - event.recipes.gtceu.mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #tfg:wood_dusts', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - // В create миксере - event.recipes.gtceu.create_mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #tfg:wood_dusts', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - .rpm(96) + registerGTCEUMetalRecipes(event) - //#endregion + removeGTCEURecipes(event) - //#region Выход: Кварцевый песок + //#region Выход: Удобрение + // В обычном миксере + event.recipes.gtceu.mixer('fertilizer') + .itemInputs( + '#tfc:dirt', + '2x #tfg:wood_dusts', + '4x #forge:sand' + ) + .circuit(1) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x gtceu:fertilizer') + .duration(300) + .EUt(30) - event.shaped('gtceu:quartz_sand_dust', [ - 'A', - 'B' - ], { - A: '#forge:sand', - B: '#forge:tools/mortars' - }).id('gtceu:shaped/quartz_sand') - - event.recipes.gtceu.macerator('quartz_sand_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('gtceu:quartz_sand_dust') - .duration(30) - .EUt(2) - - //#endregion - - event.recipes.gtceu.macerator('flux') - .itemInputs('#tfc:fluxstone') - .itemOutputs('2x tfc:powder/flux') - .duration(30) - .EUt(2) - - event.recipes.gtceu.forge_hammer('flux') - .itemInputs('#tfc:fluxstone') - .itemOutputs('2x tfc:powder/flux') - .duration(30) - .EUt(2) - - //#region Выход: Диоксид силикона - - event.recipes.gtceu.electrolyzer('sand_electrolysis') - .itemInputs('8x #forge:sand') - .itemOutputs('gtceu:silicon_dioxide_dust') - .duration(500) - .EUt(25) - - //#endregion - - //#region Выход: Соленая пыль + Вода - - // Декрафт в центрифуге - event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:salt_dust') - .outputFluids(Fluid.of('minecraft:water', 1000)) - .duration(51) - .EUt(30) - - // Декрафт в электролайзере - event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') - .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) - .duration(720) - .EUt(30) - - //#endregion - - //#region Выход: Крошечная кучка камня - - event.remove({ id: 'gtceu:macerator/macerate_stone_button' }) - - //#endregion - - //#region Выход: Маленькая кучка камня - - event.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_granite' }) - event.remove({ id: 'gtceu:macerator/macerate_diorite' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_andesite' }) - - //#endregion - - //#region Выход: Кучка камня - - event.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) - event.remove({ id: 'gtceu:macerator/gravel_to_flint' }) - event.remove({ id: 'gtceu:macerator/macerate_furnace' }) - - //#endregion - - //#region Выход: Каменный стержень - - // Из сырого камня - event.recipes.gtceu.lathe('stone_rod_from_stone') - .itemInputs('#tfc:rock/raw') - .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') - .duration(15) - .EUt(2) - - // Из булыжника - event.recipes.gtceu.lathe('stone_rod_from_cobblestone') - .itemInputs('#forge:cobblestone') - .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') - .duration(15) - .EUt(2) - - //#endregion - - //#region Выход: Сырая резиновая пыль - - // Из бревна капока - event.recipes.gtceu.extractor('raw_rubber_from_log') - .itemInputs('#tfc:kapok_logs') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - // Из саженца капока - event.recipes.gtceu.extractor('raw_rubber_from_sapling') - .itemInputs('tfc:wood/sapling/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - // Из листвы капока - event.recipes.gtceu.extractor('raw_rubber_from_leaves') - .itemInputs('16x tfc:wood/leaves/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Пропитанные доски - - event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) - - event.recipes.tfc.barrel_sealed(4000) - .outputItem('gtceu:treated_wood_planks') - .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) - .id('tfg:barrel/treated_wood_planks') - - //#endregion - - //#region Выход: Капля резины - - // Из латекса - event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) - .itemOutput('gtceu:sticky_resin') - .id('tfg:pot/sticky_resin') - - // Из бревна капока - event.recipes.gtceu.centrifuge('rubber_log_separation') - .itemInputs('#tfc:kapok_logs') - .chancedOutput('gtceu:sticky_resin', 5000, 1200) - .chancedOutput('gtceu:plant_ball', 3750, 900) - .chancedOutput('gtceu:carbon_dust', 2500, 600) - .chancedOutput('gtceu:wood_dust', 2500, 700) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(200) - .EUt(20) - - //#endregion - - //#region Выход: Растительный шарик - - // 8x Ванильная растительность -> Plant Ball (Compressor) - event.remove({id: 'gtceu:compressor/plant_ball_from_wheat'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_warped_stem'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_crimson_stem'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_tube_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_sugar_cane'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_red_mushroom'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_potato'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_nether_wart'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_horn_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_fire_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_carrot'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_cactus'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_bubble_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_brown_mushroom'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_brain_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_beetroot'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_moss'}) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') - .itemInputs('8x #tfc:seeds') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_food') - .itemInputs('8x #tfc:foods') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_plants') - .itemInputs('8x #tfc:plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_corals') - .itemInputs('8x #tfc:corals') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Биомасса - - // Ванильная растительность -> Биомасса (Brewery) - event.remove({id: 'gtceu:brewery/biomass_from_sugar_cane'}) - event.remove({id: 'gtceu:brewery/biomass_from_red_mushroom'}) - event.remove({id: 'gtceu:brewery/biomass_from_potato'}) - event.remove({id: 'gtceu:brewery/biomass_from_carrot'}) - event.remove({id: 'gtceu:brewery/biomass_from_cactus'}) - event.remove({id: 'gtceu:brewery/biomass_from_brown_mushroom'}) - event.remove({id: 'gtceu:brewery/biomass_from_beetroot'}) - - event.recipes.gtceu.brewery('biomass_from_tfc_seeds') - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_food') - .itemInputs('#tfc:foods') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_plants') - .itemInputs('#tfc:plants') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_corals') - .itemInputs('#tfc:corals') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - //#endregion - - //#region Выход: Рыбье масло - - event.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) - - event.recipes.gtceu.extractor(`tfg/fish_oil`) - .itemInputs('#minecraft:fishes') - .outputFluids(Fluid.of('gtceu:fish_oil', 40)) - .duration(16) - .EUt(4) - - //#endregion - - //#region Выход: Семянное масло - - event.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) - - event.recipes.gtceu.extractor(`tfg/seed_oil`) - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:seed_oil', 16)) - .duration(32) - .EUt(2) - - //#endregion - - //#region Выход: Цемент - - generateMixerRecipe( - event, - ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'], - Fluid.of('minecraft:water', 1000), - [], - null, - Fluid.of('gtceu:concrete', 1152), - 40, - 16, - 64, - 'concrete_from_marble' - ) - - generateMixerRecipe( - event, - ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], - Fluid.of('minecraft:water', 500), - [], - null, - Fluid.of('gtceu:concrete', 576), - 20, - 16, - 64, - 'concrete_from_clay' - ) - - generateMixerRecipe( - event, - ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], - Fluid.of('minecraft:water', 1000), - [], - null, - Fluid.of('gtceu:concrete', 1152), - 40, - 16, - 64, - 'concrete_from_calcite' - ) - - //#endregion - - //#region Выход: Бурильная жидкость - - generateMixerRecipe( - event, - ['2x #tfg:stone_dusts'], - [Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)], - [], - null, - Fluid.of('gtceu:drilling_fluid', 5000), - 40, - 16, - 64, - 'drilling_fluid' - ) - - //#endregion - - //#region Выход: Крошечная кучка дерева - - event.remove({ id: 'gtceu:macerator/macerate_warped_button' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_button' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_button' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) - - //#endregion - - //#region Выход: Маленькая кучка дерева - - event.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) - - //#endregion - - //#region Выход: Деревянная пыль - - event.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_door'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) - event.remove({id: 'gtceu:macerator/macerate_oak_planks'}) - event.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_oak_fence'}) - event.remove({id: 'gtceu:macerator/macerate_oak_door'}) - event.remove({id: 'gtceu:macerator/macerate_oak_boat'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_door'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) - event.remove({id: 'gtceu:macerator/macerate_crafting_table'}) - event.remove({id: 'gtceu:macerator/macerate_chest'}) - event.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_door'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) - event.remove({id: 'gtceu:macerator/macerate_bookshelf'}) - event.remove({id: 'gtceu:macerator/macerate_birch_planks'}) - event.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_birch_fence'}) - event.remove({id: 'gtceu:macerator/macerate_birch_door'}) - event.remove({id: 'gtceu:macerator/macerate_birch_boat'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_door'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) - event.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_door'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) - event.remove({id: 'gtceu:macerator/macerate_warped_door'}) - event.remove({id: 'gtceu:macerator/macerate_warped_fence'}) - event.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_warped_planks'}) - - //#endregion - - //#region Выход: Бумажная пыль - - event.remove({ id: 'gtceu:shaped/paper_dust' }) - - //#endregion - - //#region Выход: Метан - - event.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) - event.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) - - //#endregion - - //#region Выход: Маленькая кучка мяса - - event.remove({ id: 'gtceu:macerator/macerate_steak' }) - event.remove({ id: 'gtceu:macerator/macerate_rabbit' }) - event.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) - - //#endregion - - //#region Выход: Пыль мяса - - event.remove({ id: 'gtceu:macerator/macerate_mutton' }) - event.remove({ id: 'gtceu:macerator/macerate_chicken' }) - - event.recipes.gtceu.macerator('macerate_meat_to_dust') - .itemInputs('#tfc:foods/meats') - .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') - .duration(100) - .EUt(2) - - //#endregion - - //#region Выход: Пшеничная пыль - - event.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) - event.remove({ id: 'gtceu:macerator/macerate_wheat' }) - event.remove({ id: 'gtceu:macerator/macerate_hay_block' }) - - //#endregion - - //#region Выход: Пыль какао-бобов - - event.recipes.gtceu.assembler('macerate_cocoa') - .itemInputs('firmalife:food/cocoa_beans') - .itemOutputs('gtceu:cocoa_dust') - .duration(400) - .EUt(2) - - //#endregion - - //#region Выход: Слиток кованного железа - - event.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) - event.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) - event.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) - event.remove({ id: 'gtceu:arc_furnace/arc_compass' }) - - //#endregion - - //#region Выход: Кованные самородки - - event.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) - - //#endregion - - //#region Выход: Железная пыль - - event.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) - event.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) - event.remove({ id: 'gtceu:macerator/macerate_bucket' }) - event.remove({ id: 'gtceu:macerator/macerate_compass' }) - - //#endregion - - //#region Выход: Крошечная железная пыль - - event.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) - - //#endregion - - //#region Выход: Крошечная пыль золы - - event.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) - - //#endregion - - //#region Выход: Пыль незерака - - event.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) - - //#endregion - - //#region Выход: Пыль базальта - - event.remove({ id: 'gtceu:macerator/macerate_basalt' }) - - //#endregion - - //#region Выход: Filter Casing - - event.shaped('gtceu:filter_casing', [ - 'AAA', - 'BBB', - 'CDE' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:item_filter', - C: 'gtceu:mv_electric_motor', - D: 'gtceu:steel_frame', - E: '#forge:rotors/steel' - }).id('gtceu:shaped/filter_casing') - - //#endregion - - //#region Выход: Assembly Line Grating - - event.shaped('2x gtceu:assembly_line_grating', [ - 'ABA', - 'ACA', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: '#forge:rotors/steel', - C: 'gtceu:steel_frame', - D: 'gtceu:mv_electric_motor' - }).id('gtceu:shaped/casing_grate_casing') - - //#endregion - - //#region Gas Collectors - - event.shaped('gtceu:lv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:lv_electric_pump', - D: '#gtceu:circuits/lv', - E: 'gtceu:lv_machine_hull' - }).id('gtceu:shaped/lv_gas_collector') - - event.shaped('gtceu:mv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:mv_electric_pump', - D: '#gtceu:circuits/mv', - E: 'gtceu:mv_machine_hull' - }).id('gtceu:shaped/mv_gas_collector') - - event.shaped('gtceu:hv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:hv_electric_pump', - D: '#gtceu:circuits/hv', - E: 'gtceu:hv_machine_hull' - }).id('gtceu:shaped/hv_gas_collector') - - event.shaped('gtceu:ev_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:ev_electric_pump', - D: '#gtceu:circuits/ev', - E: 'gtceu:ev_machine_hull' - }).id('gtceu:shaped/ev_gas_collector') - - event.shaped('gtceu:iv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:iv_electric_pump', - D: '#gtceu:circuits/iv', - E: 'gtceu:iv_machine_hull' - }).id('gtceu:shaped/iv_gas_collector') - - event.shaped('gtceu:luv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:luv_electric_pump', - D: '#gtceu:circuits/luv', - E: 'gtceu:luv_machine_hull' - }).id('gtceu:shaped/luv_gas_collector') - - event.shaped('gtceu:zpm_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:zpm_electric_pump', - D: '#gtceu:circuits/zpm', - E: 'gtceu:zpm_machine_hull' - }).id('gtceu:shaped/zpm_gas_collector') - - event.shaped('gtceu:uv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:uv_electric_pump', - D: '#gtceu:circuits/uv', - E: 'gtceu:uv_machine_hull' - }).id('gtceu:shaped/uv_gas_collector') - - //#endregion - - //#region Forge Hammers - - event.shaped('gtceu:lv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:tin_single_cable', - B: 'gtceu:lv_electric_piston', - C: '#gtceu:circuits/lv', - D: 'gtceu:lv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/lv_forge_hammer') - - event.shaped('gtceu:mv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:copper_single_cable', - B: 'gtceu:mv_electric_piston', - C: '#gtceu:circuits/mv', - D: 'gtceu:mv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/mv_forge_hammer') - - event.shaped('gtceu:hv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:gold_single_cable', - B: 'gtceu:hv_electric_piston', - C: '#gtceu:circuits/hv', - D: 'gtceu:hv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/hv_forge_hammer') - - event.shaped('gtceu:ev_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:aluminium_single_cable', - B: 'gtceu:ev_electric_piston', - C: '#gtceu:circuits/ev', - D: 'gtceu:ev_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/ev_forge_hammer') - - event.shaped('gtceu:iv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:platinum_single_cable', - B: 'gtceu:iv_electric_piston', - C: '#gtceu:circuits/iv', - D: 'gtceu:iv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/iv_forge_hammer') - - event.shaped('gtceu:luv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:niobium_titanium_single_cable', - B: 'gtceu:luv_electric_piston', - C: '#gtceu:circuits/luv', - D: 'gtceu:luv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/luv_forge_hammer') - - event.shaped('gtceu:zpm_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:vanadium_gallium_single_cable', - B: 'gtceu:zpm_electric_piston', - C: '#gtceu:circuits/zpm', - D: 'gtceu:zpm_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/zpm_forge_hammer') - - event.shaped('gtceu:uv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:yttrium_barium_cuprate_single_cable', - B: 'gtceu:uv_electric_piston', - C: '#gtceu:circuits/uv', - D: 'gtceu:uv_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/uv_forge_hammer') - - //#endregion - - //#region CokeOven - - // Coke Oven - event.shaped('gtceu:coke_oven', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/wrenches' - }).id('gtceu:shaped/coke_oven') - - // Coke Oven Hatch - event.shaped('gtceu:coke_oven_hatch', [ - 'AB' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#tfc:barrels' - }).id('gtceu:shaped/coke_oven_hatch') - - //#endregion - - //#region Выход: Слиток камня - - event.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) - - //#endregion - - //#region Выход: Бронзовые машины (Плюс их декрафты) - - event.remove({ id: 'gtceu:shaped/bronze_hull' }) - event.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' }) - event.remove({ id: 'gtceu:macerator/macerate_bronze_machine_casing' }) - - event.remove({ id: 'gtceu:shaped/steam_extractor_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_extractor' }) - - event.remove({ id: 'gtceu:shaped/steam_macerator_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_macerator' }) - - event.remove({ id: 'gtceu:shaped/steam_compressor_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_compressor' }) - - event.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_forge_hammer' }) - - event.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_furnace' }) - - event.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_alloy_smelter' }) - - event.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_rock_crusher' }) - - event.remove({ id: 'gtceu:shaped/steam_miner' }) - event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner' }) - event.remove({ id: 'gtceu:macerator/macerate_steam_miner' }) - - // Low Pressure Steam Solid Boiler - event.shaped('gtceu:lp_steam_solid_boiler', [ - 'AAA', - 'ABA', - 'ACA' - ], { - A: '#forge:plates/bronze', - B: '#forge:tools/wrenches', - C: 'gtceu:bronze_brick_casing' - }).id('gtceu:shaped/steam_boiler_coal_bronze') - - //#endregion - - //#region Выход: Стальные машины - - // Экстрактор - event.shaped('gtceu:hp_steam_extractor', [ - 'BEB', - 'CAC', - 'DBD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - E: '#forge:glass_panes' - }).id('gtceu:shaped/steam_extractor_steel') - - // Дробитель - event.shaped('gtceu:hp_steam_macerator', [ - 'CCC', - 'BAB', - 'DDD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_macerator_steel') - - // Компрессор - event.shaped('gtceu:hp_steam_compressor', [ - 'BCB', - 'DAD', - 'BBB' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_compressor_steel') - - // Молот - event.shaped('gtceu:hp_steam_forge_hammer', [ - 'DDD', - 'BAB', - 'CCC' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_hammer_steel') - - // Печь - event.shaped('gtceu:hp_steam_furnace', [ - 'BCB', - 'DAD', - 'BCB' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_furnace_steel') - - // Сплавщик - event.shaped('gtceu:hp_steam_alloy_smelter', [ - 'DCD', - 'DAD', - 'DBD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_alloy_smelter_steel') - - // Блоко-ломатель - event.shaped('gtceu:hp_steam_rock_crusher', [ - 'DCD', - 'BAB', - 'DDD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_rock_breaker_steel') - - //#endregion - - //#region Выход: некоторые рецепты пылей - - event.remove({id: 'gtceu:shapeless/dust_brass'}) - event.remove({id: 'gtceu:shapeless/glass_dust_flint'}) - event.remove({id: 'gtceu:shapeless/dust_bronze'}) - event.remove({id: 'gtceu:shapeless/potin_dust'}) - - //#endregion - - //#region Вырезка из резины - - // TODO: Не работает из-за магического бага - // event.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) - // .ingredient('gtceu:rubber_plate') - - //#endregion - - //#region Стеклодувка - - // Glass Tube - event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) - .id('tfg:gtceu/glassworking/glass_tube') - - //#endregion - - // Удаление рецептов связанных с Primitive Blast Furnace - event.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) - event.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) - - // Удаление рецепта беск. воды кавера - event.remove('gtceu:assembler/cover_infinite_water') - - // Удаление рецептов помпы - event.remove('gtceu:shaped/pump_deck') - event.remove('gtceu:shaped/pump_hatch') - event.remove('gtceu:shaped/primitive_pump') - - // Удаление рецептов связанных с Barrel - event.remove({ id: 'gtceu:shaped/wooden_barrel' }) - event.remove({ id: 'gtceu:assembler/wood_barrel' }) - event.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' }) - event.remove({ id: 'gtceu:macerator/macerate_wood_drum' }) - - // Удаление рецептов связанных с FireBricks - event.remove({id: 'gtceu:shaped/casing_primitive_bricks' }) - event.remove({id: 'gtceu:macerator/macerate_firebricks' }) - event.remove({id: 'gtceu:extractor/extract_primitive_bricks' }) - - // Удаление рецептов связанных с FireBrick - event.remove({ id: 'gtceu:smelting/fireclay_brick' }) - event.remove({ id: 'gtceu:macerator/macerate_firebrick' }) - - // TODO: Удалить после фикса GTCEu - event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) - - // Пыль звезды незера - event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') - .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') - .circuit(10) - .itemOutputs('gtceu:nether_star_dust') - .inputFluids(Fluid.of('gtceu:nether_air', 1000)) - .duration(700) - .EUt(2720) - - // Creosote-Treated Wood Planks -> Treated Wood Pulp - event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') - .itemInputs('gtceu:treated_wood_planks') - .itemOutputs('gtceu:treated_wood_dust') - .duration(120) - .EUt(4) - - // Empty Wooden Form - event.shaped('gtceu:empty_wooden_form', [ - ' AA', - 'BAA' - ], { - A: '#minecraft:planks', - B: '#forge:tools/saws' - }).id('gtceu:shaped/plank_to_wooden_shape') - - // Деревянная шестерня - event.shaped('gtceu:wood_gear', [ - ' A ', - 'ABA', - ' A ' - ], { - A: '#tfc:can_be_lit_on_torch', - B: '#forge:tools/wrenches' - }).id('gtceu:shaped/gear_wood') - - // Контроллер теплицы - event.shaped('gtceu:greenhouse', [ - 'ABA', - 'CDC', - 'BCB' - ], { - A: '#gtceu:circuits/mv', - B: 'gtceu:copper_single_cable', - C: '#gtceu:circuits/mv', - D: 'gtceu:solid_machine_casing' - }).id('tfg:shaped/greenhouse') - - // Контроллер электрического генератора - event.shaped('gtceu:alternator', [ - 'ABA', - 'CDC', - 'EBE' - ], { - A: '#gtceu:resistors', - B: '#gtceu:circuits/lv', - C: 'gtceu:lv_voltage_coil', - D: 'gtceu:solid_machine_casing', - E: 'gtceu:copper_single_cable' - }).id('tfg:shaped/alternator') - - // Compressed Coke Clay - event.shaped('gtceu:compressed_coke_clay', [ - 'AAA', - 'BCB', - 'BBB' - ], { - A: 'minecraft:clay_ball', - B: '#minecraft:sand', - C: 'gtceu:brick_wooden_form' - }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') - - // Compressed Coke Clay -> Coke Oven Brick - event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) - .resultItem('gtceu:coke_oven_brick') - .id('tfg:heating/coke_oven_bricks') - - // TFC FireBrick -> FireBrick dust - event.recipes.gtceu.macerator('macerate_firebrick') - .itemInputs('tfc:ceramic/fire_brick') - .itemOutputs('gtceu:fireclay_dust') - .duration(15) - .EUt(2) - - // Steel Steam Boiler - event.shaped('gtceu:hp_steam_solid_boiler', [ - 'AAA', - 'ACA', - 'BDB' - ], { - A: '#forge:plates/steel', - B: 'minecraft:bricks', - C: '#forge:tools/wrenches', - D: 'tfc:blast_furnace' - }).id('gtceu:shaped/steam_boiler_coal_steel') - - // Multi-Smelter - event.shaped('gtceu:multi_smelter', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:hp_steam_furnace', - B: '#gtceu:circuits/hv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:copper_single_cable' - }).id('gtceu:shaped/multi_furnace') - - // Electric Blast Furnace - event.shaped('gtceu:electric_blast_furnace', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:hp_steam_furnace', - B: '#gtceu:circuits/lv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:tin_single_cable' - }).id('gtceu:shaped/electric_blast_furnace') - - // Клей из ТФК клея - event.recipes.gtceu.centrifuge('glue_from_tfc_glue') - .itemInputs('tfc:glue') - .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(400) - .EUt(5) - - // Исправление рецепта пыли серебра стерлинга - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', 1, [], 500, 24, 64, 'sterling_silver') - - // Исправление рецепта пыли розовой бронзы - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', 3, [], 500, 24, 64, 'rose_gold') - - //#region Рецепт ULV микросхемы - - event.remove({ id: 'gtceu:shaped/vacuum_tube' }) - - event.recipes.createSequencedAssembly([ - 'gtceu:vacuum_tube', - ], '#forge:plates/wrought_iron', [ - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), - ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(2).id('tfg:gtceu/sequenced_assembly/vacuum_tube') - - //#endregion - - //#region Рецепт LV микросхемы - - event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) - - event.recipes.createSequencedAssembly([ - 'gtceu:basic_electronic_circuit', - ], 'gtceu:resin_printed_circuit_board', [ - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:red_alloy_single_cable']), - ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(2).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit') - - //#endregion - - //#region Рецепты электрического генератора - - event.recipes.gtceu.alternator('lv_alternator') - .inputStress(8192) - .circuit(1) - .rpm(256) - .duration(2) - .outputEU(128) - - event.recipes.gtceu.alternator('mv_alternator') - .inputStress(32768) - .circuit(2) - .rpm(256) - .duration(2) - .outputEU(512) - - event.recipes.gtceu.alternator('hv_alternator') - .inputStress(131072) - .circuit(3) - .rpm(256) - .duration(2) - .outputEU(2048) - - //#endregion - - //#region Выход: Фикс выработки пара на ведре лавы - - //event.remove({ id: 'minecraft:large_boiler/lava_bucket' }) - //event.recipes.gtceu.large_boiler('lava_bucket') - // .itemInputs('minecraft:lava_bucket') - // .duration(25) - - //#endregion - - //#region Long Distance Pipelines - - event.remove({ id: 'gtceu:assembler/long_distance_item_pipe' }) - event.recipes.gtceu.assembler('long_distance_item_pipe') - .itemInputs( - '1x gtceu:tin_large_item_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_item_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - - event.remove({ id: 'gtceu:assembler/long_distance_fluid_pipe' }) - event.recipes.gtceu.assembler('long_distance_fluid_pipe') - .itemInputs( - '1x gtceu:bronze_large_fluid_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_fluid_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - - //#endregion - - //#region LV casings and hulls - - event.replaceInput('gtceu:shaped/casing_lv', '#forge:plates/red_steel', '#forge:plates/steel') - event.replaceInput('gtceu:shaped/casing_lv', '#forge:plates/blue_steel', '#forge:plates/steel') - event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel') - - // Replace red steel outputs with 8x steel, delete blue steel outputs. - event.replaceOutput( - [/gtceu:arc_furnace\/arc_lv_.*/, 'gtceu:arc_furnace/arc_maintenance_hatch'], - '#forge:ingots/red_steel', '8x #forge:ingots/steel') - - event.replaceOutput( - [/gtceu:arc_furnace\/arc_lv_.*/, 'gtceu:arc_furnace/arc_maintenance_hatch'], - '#forge:ingots/blue_steel', '') - - event.replaceOutput( - [/gtceu:macerator\/macerate_lv_.*/, 'gtceu:macerator/macerate_maintenance_hatch'], - '#forge:dusts/red_steel', '8x #forge:dusts/steel') - - event.replaceOutput( - [/gtceu:macerator\/macerate_lv_.*/, 'gtceu:macerator/macerate_maintenance_hatch'], - '#forge:dusts/blue_steel', '') - - event.replaceOutput( - ['gtceu:arc_furnace/arc_configurable_maintenance_hatch', 'gtceu:arc_furnace/arc_auto_maintenance_hatch'], - ['#forge:ingots/blue_steel', '#forge:ingots/red_steel'], '8x #forge:ingots/steel') - //#endregion - + + //#region Выход: Кварцевый песок + + event.shaped('gtceu:quartz_sand_dust', [ + 'A', + 'B' + ], { + A: '#forge:sand', + B: '#forge:tools/mortars' + }).id('gtceu:shaped/quartz_sand') + + event.recipes.gtceu.macerator('quartz_sand_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('gtceu:quartz_sand_dust') + .duration(30) + .EUt(2) + + //#endregion + + event.recipes.gtceu.macerator('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) + + event.recipes.gtceu.forge_hammer('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) + + //#region Выход: Диоксид силикона + + event.recipes.gtceu.electrolyzer('sand_electrolysis') + .itemInputs('8x #forge:sand') + .itemOutputs('gtceu:silicon_dioxide_dust') + .duration(500) + .EUt(25) + + //#endregion + + //#region Выход: Соленая пыль + Вода + + // Декрафт в центрифуге + event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:salt_dust') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(51) + .EUt(30) + + // Декрафт в электролайзере + event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') + .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) + .duration(720) + .EUt(30) + + //#endregion + + //#region Выход: Каменный стержень + + // Из сырого камня + event.recipes.gtceu.lathe('stone_rod_from_stone') + .itemInputs('#tfc:rock/raw') + .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') + .duration(15) + .EUt(2) + + // Из булыжника + event.recipes.gtceu.lathe('stone_rod_from_cobblestone') + .itemInputs('#forge:cobblestone') + .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') + .duration(15) + .EUt(2) + + //#endregion + + //#region Выход: Пропитанные доски + + event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) + + event.recipes.tfc.barrel_sealed(4000) + .outputItem('gtceu:treated_wood_planks') + .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) + .id('tfg:barrel/treated_wood_planks') + + //#endregion + + //#region Выход: Капля резины + + // Из латекса + event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin_from_latex') + + event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin_from_conifer_pitch') + + //#region Выход: Растительный шарик + + // 8x Ванильная растительность -> Plant Ball (Compressor) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') + .itemInputs('8x #tfc:seeds') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_food') + .itemInputs('8x #tfc:foods') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_plants') + .itemInputs('8x #tfc:plants') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_corals') + .itemInputs('8x #tfc:corals') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + //#endregion + + //#region Выход: Биомасса + + // Ванильная растительность -> Биомасса (Brewery) + + event.recipes.gtceu.brewery('biomass_from_tfc_seeds') + .itemInputs('#tfc:seeds') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(128) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_food') + .itemInputs('#tfc:foods') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(128) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_plants') + .itemInputs('#tfc:plants') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(128) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_corals') + .itemInputs('#tfc:corals') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(128) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_spider_eyes') + .itemInputs('minecraft:spider_eye') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(128) + .EUt(3) + + //#endregion + + //#region Выход: Рыбье масло + + event.recipes.gtceu.extractor(`tfg/fish_oil`) + .itemInputs('#minecraft:fishes') + .outputFluids(Fluid.of('gtceu:fish_oil', 40)) + .duration(16) + .EUt(4) + + //#endregion + + //#region Выход: Семянное масло + + event.recipes.gtceu.extractor(`tfg/seed_oil`) + .itemInputs('#tfc:seeds') + .outputFluids(Fluid.of('gtceu:seed_oil', 16)) + .duration(32) + .EUt(2) + + //#endregion + + //#region Выход: Цемент + + generateMixerRecipe( + event, + ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'], + Fluid.of('minecraft:water', 1000), + [], + null, + Fluid.of('gtceu:concrete', 1152), + 40, + 16, + 64, + 'concrete_from_marble' + ) + + generateMixerRecipe( + event, + ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], + Fluid.of('minecraft:water', 500), + [], + null, + Fluid.of('gtceu:concrete', 576), + 20, + 16, + 64, + 'concrete_from_clay' + ) + + generateMixerRecipe( + event, + ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], + Fluid.of('minecraft:water', 1000), + [], + null, + Fluid.of('gtceu:concrete', 1152), + 40, + 16, + 64, + 'concrete_from_calcite' + ) + + //#endregion + + //#region Выход: Бурильная жидкость + + generateMixerRecipe( + event, + ['2x #tfg:stone_dusts'], + [Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)], + [], + null, + Fluid.of('gtceu:drilling_fluid', 5000), + 40, + 16, + 64, + 'drilling_fluid' + ) + + //#endregion + + //#region Выход: Пыль мяса + + event.recipes.gtceu.macerator('macerate_meat_to_dust') + .itemInputs('#tfc:foods/meats') + .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') + .duration(100) + .EUt(2) + + //#endregion + + //#region Выход: Пыль какао-бобов + + event.recipes.gtceu.assembler('macerate_cocoa') + .itemInputs('firmalife:food/cocoa_beans') + .itemOutputs('gtceu:cocoa_dust') + .duration(400) + .EUt(2) + + //#endregion + + //#region Выход: Filter Casing + + event.shaped('gtceu:filter_casing', [ + 'AAA', + 'BBB', + 'CDE' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:item_filter', + C: 'gtceu:mv_electric_motor', + D: 'gtceu:steel_frame', + E: '#forge:rotors/steel' + }).id('gtceu:shaped/filter_casing') + + //#endregion + + //#region Выход: Assembly Line Grating + + event.shaped('2x gtceu:assembly_line_grating', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: '#forge:rotors/steel', + C: 'gtceu:steel_frame', + D: 'gtceu:mv_electric_motor' + }).id('gtceu:shaped/casing_grate_casing') + + //#endregion + + //#region Gas Collectors + + event.shaped('gtceu:lv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:lv_electric_pump', + D: '#gtceu:circuits/lv', + E: 'gtceu:lv_machine_hull' + }).id('gtceu:shaped/lv_gas_collector') + + event.shaped('gtceu:mv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:mv_electric_pump', + D: '#gtceu:circuits/mv', + E: 'gtceu:mv_machine_hull' + }).id('gtceu:shaped/mv_gas_collector') + + event.shaped('gtceu:hv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:hv_electric_pump', + D: '#gtceu:circuits/hv', + E: 'gtceu:hv_machine_hull' + }).id('gtceu:shaped/hv_gas_collector') + + event.shaped('gtceu:ev_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:ev_electric_pump', + D: '#gtceu:circuits/ev', + E: 'gtceu:ev_machine_hull' + }).id('gtceu:shaped/ev_gas_collector') + + event.shaped('gtceu:iv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:iv_electric_pump', + D: '#gtceu:circuits/iv', + E: 'gtceu:iv_machine_hull' + }).id('gtceu:shaped/iv_gas_collector') + + event.shaped('gtceu:luv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:luv_electric_pump', + D: '#gtceu:circuits/luv', + E: 'gtceu:luv_machine_hull' + }).id('gtceu:shaped/luv_gas_collector') + + event.shaped('gtceu:zpm_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:zpm_electric_pump', + D: '#gtceu:circuits/zpm', + E: 'gtceu:zpm_machine_hull' + }).id('gtceu:shaped/zpm_gas_collector') + + event.shaped('gtceu:uv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:uv_electric_pump', + D: '#gtceu:circuits/uv', + E: 'gtceu:uv_machine_hull' + }).id('gtceu:shaped/uv_gas_collector') + + //#endregion + + //#region Forge Hammers + + event.shaped('gtceu:lv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:tin_single_cable', + B: 'gtceu:lv_electric_piston', + C: '#gtceu:circuits/lv', + D: 'gtceu:lv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/lv_forge_hammer') + + event.shaped('gtceu:mv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:copper_single_cable', + B: 'gtceu:mv_electric_piston', + C: '#gtceu:circuits/mv', + D: 'gtceu:mv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/mv_forge_hammer') + + event.shaped('gtceu:hv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:gold_single_cable', + B: 'gtceu:hv_electric_piston', + C: '#gtceu:circuits/hv', + D: 'gtceu:hv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/hv_forge_hammer') + + event.shaped('gtceu:ev_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:aluminium_single_cable', + B: 'gtceu:ev_electric_piston', + C: '#gtceu:circuits/ev', + D: 'gtceu:ev_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/ev_forge_hammer') + + event.shaped('gtceu:iv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:platinum_single_cable', + B: 'gtceu:iv_electric_piston', + C: '#gtceu:circuits/iv', + D: 'gtceu:iv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/iv_forge_hammer') + + event.shaped('gtceu:luv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:niobium_titanium_single_cable', + B: 'gtceu:luv_electric_piston', + C: '#gtceu:circuits/luv', + D: 'gtceu:luv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/luv_forge_hammer') + + event.shaped('gtceu:zpm_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:vanadium_gallium_single_cable', + B: 'gtceu:zpm_electric_piston', + C: '#gtceu:circuits/zpm', + D: 'gtceu:zpm_machine_hull', + E: '#tfc:red_or_blue_anvil', + }).id('gtceu:shaped/zpm_forge_hammer') + + event.shaped('gtceu:uv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:yttrium_barium_cuprate_single_cable', + B: 'gtceu:uv_electric_piston', + C: '#gtceu:circuits/uv', + D: 'gtceu:uv_machine_hull', + E: '#tfc:red_or_blue_anvil', + }).id('gtceu:shaped/uv_forge_hammer') + + //#endregion + + //#region CokeOven + + // Coke Oven + event.shaped('gtceu:coke_oven', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#forge:plates/wrought_iron', + C: '#forge:tools/wrenches' + }).id('gtceu:shaped/coke_oven') + + // Coke Oven Hatch + event.recipes.tfc.no_remainder_shaped_crafting( + event.shaped('gtceu:coke_oven_hatch', [ + 'AB' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#tfc:barrels' + }) + ).id('gtceu:shaped/coke_oven_hatch') + + //#endregion + + // High Pressure Steam Miner + event.replaceInput({ id: 'gtceu:shaped/steam_miner_steel' }, + 'gtceu:lp_steam_miner', 'gtceu:steel_brick_casing') + + //#region Выход: Стальные машины + + // HP Steam Boilers + event.shaped('gtceu:hp_steam_solid_boiler', [ + 'AEA', + 'ADA', + 'BCB' + ], { + A: '#forge:plates/steel', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: 'gtceu:steel_brick_casing', + D: 'tfc:crucible', + E: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_boiler_coal_steel') + + event.shaped('gtceu:hp_steam_liquid_boiler', [ + 'AEA', + 'ADA', + 'BCB' + ], { + A: '#forge:plates/steel', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: 'gtceu:steel_brick_casing', + D: '#forge:glass', + E: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_boiler_lava_steel') + + event.shaped('gtceu:hp_steam_solar_boiler', [ + 'AAA', + 'BCB', + 'EDE' + ], { + A: '#forge:glass_panes', + B: '#forge:double_plates/silver', + C: '#forge:rods/black_steel', + D: 'gtceu:steel_brick_casing', + E: 'gtceu:tin_alloy_small_fluid_pipe', + }).id('gtceu:shaped/steam_boiler_solar_steel') + + // Экстрактор + event.shaped('gtceu:hp_steam_extractor', [ + 'BEB', + 'CAC', + 'DFD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: '#forge:glass_panes', + F: '#forge:rings/black_steel' + }).id('gtceu:shaped/steam_extractor_steel') + + // Дробитель + event.shaped('gtceu:hp_steam_macerator', [ + 'BFB', + 'CAC', + 'DED' + ], { + A: 'gtceu:steel_brick_casing', + B: '#forge:small_gears/wrought_iron', + C: '#forge:plates/steel', + D: '#forge:rods/black_steel', + E: 'gtceu:tin_alloy_small_fluid_pipe', + F: '#forge:raw_materials/diamond' + }).id('gtceu:shaped/steam_macerator_steel') + + // Компрессор + event.shaped('gtceu:hp_steam_compressor', [ + 'BCB', + 'EAE', + 'DFD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: 'minecraft:piston', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_compressor_steel') + + // Молот + event.shaped('gtceu:hp_steam_forge_hammer', [ + 'DFD', + 'BEB', + 'CAC' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: '#forge:ingots/black_steel', + F: 'minecraft:piston' + }).id('gtceu:shaped/steam_hammer_steel') + + // Печь + event.shaped('gtceu:hp_steam_furnace', [ + 'BCB', + 'DAD', + 'FFF' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_furnace_steel') + + // Сплавщик + event.shaped('gtceu:hp_steam_alloy_smelter', [ + 'FCF', + 'DAD', + 'CBC' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_alloy_smelter_steel') + + // Блоко-ломатель + event.shaped('gtceu:hp_steam_rock_crusher', [ + 'ECE', + 'BAB', + 'DDD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:drill_heads', + D: '#forge:rods/wrought_iron', + E: '#forge:screws/wrought_iron' + }).id('gtceu:shaped/steam_rock_breaker_steel') + + // Miner + event.shaped('gtceu:hp_steam_miner', [ + 'EFE', + 'BAB', + 'DCD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:drill_heads', + D: '#forge:rods/steel', + E: '#forge:plates/wrought_iron', + F: '#gtceu:circuits/ulv' + }).id('gtceu:shaped/steam_miner_steel') + + //#endregion + + //#region Стеклодувка + + // Glass Tube + event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) + .id('tfg:gtceu/glassworking/glass_tube') + + //#endregion + + // Пыль звезды незера + event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') + .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') + .circuit(10) + .itemOutputs('gtceu:nether_star_dust') + .inputFluids(Fluid.of('gtceu:nether_air', 1000)) + .duration(700) + .EUt(2720) + + // Creosote-Treated Wood Planks -> Treated Wood Pulp + event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') + .itemInputs('gtceu:treated_wood_planks') + .itemOutputs('gtceu:treated_wood_dust') + .duration(120) + .EUt(4) + + // Empty Wooden Form + event.shaped('gtceu:empty_wooden_form', [ + ' AA', + 'BAA' + ], { + A: '#minecraft:planks', + B: '#forge:tools/saws' + }).id('gtceu:shaped/plank_to_wooden_shape') + + // Деревянная шестерня + event.shaped('gtceu:small_wood_gear', [ + 'AB ', + 'BCB', + ' B ' + ], { + A: '#forge:tools/saws', + B: '#forge:rods/wooden', + C: 'tfc:glue' + }).id('gtceu:shaped/small_gear_wood') + + event.shaped('gtceu:wood_gear', [ + 'AB ', + 'BCB', + ' B ' + ], { + A: '#forge:tools/saws', + B: '#minecraft:planks', + C: 'tfc:glue' + }).id('gtceu:shaped/gear_wood') + + // Контроллер теплицы + event.shaped('gtceu:greenhouse', [ + 'ABA', + 'CDC', + 'BCB' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:copper_single_cable', + C: '#gtceu:circuits/mv', + D: 'gtceu:solid_machine_casing' + }).id('tfg:shaped/greenhouse') + + // Compressed Coke Clay + event.shaped('gtceu:compressed_coke_clay', [ + 'AAA', + 'BCB', + 'BBB' + ], { + A: 'minecraft:clay_ball', + B: '#minecraft:sand', + C: 'gtceu:brick_wooden_form' + }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') + + // Compressed Coke Clay -> Coke Oven Brick + event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) + .resultItem('gtceu:coke_oven_brick') + .id('tfg:heating/coke_oven_bricks') + + // TFC FireBrick -> FireBrick dust + event.recipes.gtceu.macerator('macerate_firebrick') + .itemInputs('tfc:ceramic/fire_brick') + .itemOutputs('gtceu:fireclay_dust') + .duration(15) + .EUt(2) + + // Multi-Smelter + event.shaped('gtceu:multi_smelter', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:hp_steam_furnace', + B: '#gtceu:circuits/hv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:copper_single_cable' + }).id('gtceu:shaped/multi_furnace') + + // Electric Blast Furnace + event.shaped('gtceu:electric_blast_furnace', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:hp_steam_furnace', + B: '#gtceu:circuits/lv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:tin_single_cable' + }).id('gtceu:shaped/electric_blast_furnace') + + // Клей из ТФК клея + event.recipes.gtceu.centrifuge('glue_from_tfc_glue') + .itemInputs('tfc:glue') + .outputFluids(Fluid.of('gtceu:glue', 50)) + .duration(400) + .EUt(5) + + // Исправление рецепта пыли серебра стерлинга + generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', 1, [], 500, 7, 64, 'sterling_silver') + + // Исправление рецепта пыли розовой бронзы + generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', 3, [], 500, 7, 64, 'rose_gold') + + //#region Рецепт ULV микросхемы + + event.remove({ id: 'gtceu:shaped/vacuum_tube' }) + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_plain' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy_annealed' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + + event.recipes.createSequencedAssembly([ + 'gtceu:vacuum_tube', + ], 'gtceu:resin_circuit_board', [ + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), + event.custom({ type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'tfg:unfinished_vacuum_tube' }], results: [{ item: 'tfg:unfinished_vacuum_tube' }], processingTime: 80 }) + ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(1).id('tfg:gtceu/sequenced_assembly/vacuum_tube') + + //#endregion + + //#region Рецепт LV микросхемы + + event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) + + event.recipes.createSequencedAssembly([ + 'gtceu:basic_electronic_circuit', + ], 'gtceu:resin_printed_circuit_board', [ + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'create:electron_tube']), + event.recipes.createFilling('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', Fluid.of('gtceu:glue', 50)]), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), + ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit') + + //#endregion + + //#region Long Distance Pipelines + + event.remove({ id: 'gtceu:assembler/long_distance_item_pipe' }) + event.recipes.gtceu.assembler('long_distance_item_pipe') + .itemInputs( + '1x gtceu:tin_large_item_pipe', + '4x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) + .itemOutputs('32x gtceu:long_distance_item_pipeline') + .circuit(2) + .duration(300) + .EUt(24) + + event.remove({ id: 'gtceu:assembler/long_distance_fluid_pipe' }) + event.recipes.gtceu.assembler('long_distance_fluid_pipe') + .itemInputs( + '1x gtceu:bronze_large_fluid_pipe', + '4x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) + .itemOutputs('32x gtceu:long_distance_fluid_pipeline') + .circuit(2) + .duration(300) + .EUt(24) + + //#endregion + + //#region LV hull + + event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel') + + //#endregion + //#region make colored steel a bit easier to compensate - + event.recipes.gtceu.arc_furnace('tfg:black_steel_dust_to_ingot') .itemInputs('gtceu:black_steel_dust') - .itemOutputs('gtceu:black_steel_ingot') + .itemOutputs('tfc:metal/ingot/black_steel') .inputFluids(Fluid.of('gtceu:oxygen', 72)) .duration(500) .EUt(24) - + event.recipes.gtceu.arc_furnace('tfg:red_steel_dust_to_ingot') .itemInputs('gtceu:red_steel_dust') - .itemOutputs('gtceu:red_steel_ingot') + .itemOutputs('tfc:metal/ingot/red_steel') .inputFluids(Fluid.of('gtceu:oxygen', 72)) .duration(700) .EUt(32) - + event.recipes.gtceu.arc_furnace('tfg:blue_steel_dust_to_ingot') .itemInputs('gtceu:blue_steel_dust') - .itemOutputs('gtceu:blue_steel_ingot') + .itemOutputs('tfc:metal/ingot/blue_steel') .inputFluids(Fluid.of('gtceu:oxygen', 72)) .duration(700) .EUt(32) - + //#endregion - + //#region add regular furnace recipes for other tfc alloys - - event.remove({id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze_gas' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_black_bronze' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_black_bronze_gas' }) - event.remove({id: 'gtceu:vacuum_freezer/cool_hot_black_bronze_ingot' }) - event.remove({id: 'gtceu:vacuum_freezer/black_bronze' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_sterling_silver' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_sterling_silver_gas' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_rose_gold' }) - event.remove({id: 'gtceu:electric_blast_furnace/blast_rose_gold_gas' }) - - event.recipes.gtceu.electric_furnace('tfg:bismuth_bronze_dust_to_ingot') - .itemInputs('gtceu:bismuth_bronze_dust') - .itemOutputs('gtceu:bismuth_bronze_ingot') - .duration(200) - .EUt(16) - - event.recipes.gtceu.electric_furnace('tfg:black_bronze_dust_to_ingot') - .itemInputs('gtceu:black_bronze_dust') - .itemOutputs('gtceu:black_bronze_ingot') - .duration(200) - .EUt(16) - - event.recipes.gtceu.electric_furnace('tfg:sterling_silver_dust_to_ingot') - .itemInputs('gtceu:sterling_silver_dust') - .itemOutputs('gtceu:sterling_silver_ingot') - .duration(300) - .EUt(20) - - event.recipes.gtceu.electric_furnace('tfg:rose_gold_dust_to_ingot') - .itemInputs('gtceu:rose_gold_dust') - .itemOutputs('gtceu:rose_gold_ingot') - .duration(300) - .EUt(20) - + + event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze_gas' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze_gas' }) + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_black_bronze_ingot' }) + event.remove({ id: 'gtceu:vacuum_freezer/black_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver_gas' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold_gas' }) + + event.smelting('gtceu:bismuth_bronze_ingot', 'gtceu:bismuth_bronze_dust') + event.smelting('gtceu:black_bronze_ingot', 'gtceu:black_bronze_dust') + event.smelting('gtceu:sterling_silver_ingot', 'gtceu:sterling_silver_dust') + event.smelting('gtceu:rose_gold_ingot', 'gtceu:rose_gold_dust') + //#endregion - - // Add circuit to assembler recipe for redstone lamp. - // Avoids conflict with AE2 smart cables. - event.remove({ id: 'gtceu:assembler/redstone_lamp' }) - event.recipes.gtceu.assembler('redstone_lamp') - .itemInputs('4x #forge:dusts/redstone', '4x #forge:dusts/glowstone') - .itemOutputs('1x minecraft:redstone_lamp') - .circuit(1) - .duration(100) - .EUt(1) - //#region Рецепты, которые итерируются по всем материалам + // Add circuit to assembler recipe for redstone lamp. + // Avoids conflict with AE2 smart cables. + event.remove({ id: 'gtceu:assembler/redstone_lamp' }) + event.recipes.gtceu.assembler('redstone_lamp') + .itemInputs('4x #forge:dusts/redstone', '4x #forge:dusts/glowstone') + .itemOutputs('1x minecraft:redstone_lamp') + .circuit(1) + .duration(100) + .EUt(1) - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - //#region Рецепты инструментов - - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - global.GTCEU_ANVIL_TOOL_TYPES.forEach(toolType => { - let toolStack = ToolHelper.get(toolType, material) + // Clear NBT on tanks with shapeless crafts. + const TANK_NAMES = [ + "lv_super", + "mv_super", + "hv_super", + "ev_super", + "iv_quantum", + "luv_quantum", + "zpm_quantum", + "uv_quantum", + "uhv_quantum", + ] - event.recipes.tfc.advanced_shaped_crafting(TFC.itemStackProvider.of(toolStack).copyForgingBonus(), [ - 'A', - 'B' - ], { - A: `gtceu:${material.getName()}_${toolType.name}_head`, - B: '#forge:rods/wooden' - }, 0, 0).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - - }) - } - - //#endregion + TANK_NAMES.forEach(prefix => { + // Craft super tanks to remove their NBT data. + event.shapeless(`gtceu:${prefix}_tank`, [`gtceu:${prefix}_tank`]) + // Craft super chests to remove their NBT data. + event.shapeless(`gtceu:${prefix}_chest`, [`gtceu:${prefix}_chest`]) + }) - if (material.hasProperty(PropertyKey.ORE)) - { - let poorRawStack = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - let normalRawStack = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let richRawStack = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - - let crushedOreStack = ChemicalHelper.get(TagPrefix.crushed, material, 1) - let purifiedOreStack = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - let impureDustStack = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - let pureDustStack = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - let dustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - - // Бедная сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing(crushedOreStack.withChance(0.75), poorRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) - - // Нормальная сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing([crushedOreStack, crushedOreStack.withChance(0.2)], normalRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) - - // Богатая сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing([crushedOreStack, crushedOreStack, crushedOreStack.withChance(0.2)], richRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) - - // Грязная пыль -> Пыль (90%) - event.recipes.createSplashing(dustStack.withChance(0.9), impureDustStack) - .id(`tfg:splashing/${material.getName()}_dust_from_impure`) - - // Очищенная пыль -> Пыль (90%) - event.recipes.createSplashing(dustStack.withChance(0.9), pureDustStack) - .id(`tfg:splashing/${material.getName()}_dust_from_pure`) - - // Дробленная руда -> Очищенная руда (90%) - event.recipes.createSplashing(purifiedOreStack.withChance(0.9), crushedOreStack) - .id(`tfg:splashing/${material.getName()}_purified_ore`) - - // Грязная пыль -> Пыль - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - impureDustStack.toJson() - ], - result: dustStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`) - - // Очищенная пыль -> Пыль - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - pureDustStack.toJson() - ], - result: dustStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`) - - // Дробленная руда -> Очищенная руда - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - crushedOreStack.toJson() - ], - result: purifiedOreStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) - } - - let ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - if (material.hasFlag(MaterialFlags.GENERATE_PLATE) && material != GTMaterials.Wood && material != GTMaterials.TreatedWood && !material.hasProperty(PropertyKey.POLYMER)) - { - let plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) - let blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) - let smallDustStack = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - - - let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (material.hasProperty(PropertyKey.INGOT)) - { - if (!plateStack.isEmpty()) { - event.recipes.createSequencedAssembly([plateStack.withChance(4), smallDustStack], ingotStack,[ - event.recipes.createPressing(ingotStack, ingotStack) - ]) - .transitionalItem(ingotStack) - .loops(1) - .id(`tfg:pressing/${material.getName()}_plate`); - - if (!blockStack.isEmpty()) { - // 9х Слиток -> Блок - event.recipes.createCompacting(blockStack, ingotStack.withCount(matAmount)) - .heated() - .id(`tfg:compacting/${material.getName()}_block`) - } - } - - - } - else - { - if (!blockStack.isEmpty()) { - // Блок из гемов -> 9 Пластин - event.recipes.createCutting(Item.of(plateStack.withCount(matAmount)).withChance(0.65), `#forge:storage_blocks/${material.getName()}`) - .id(`tfg:cutting/${material.getName()}_plate`) - } - - } - } - - // Прокатка стержней - if (material.hasFlag(MaterialFlags.GENERATE_ROD) && material != GTMaterials.Wood) - { - let rodStack = ChemicalHelper.get(TagPrefix.rod, material, 2) - - if (!ingotStack.isEmpty() && !rodStack.isEmpty()) { - - event.custom({ - type: "createaddition:rolling", - input: ingotStack.toJson(), - result: rodStack.toJson() - }).id(`tfg:rolling/${material.getName()}_rod`) - - } - - - } - - - let gemStack = ChemicalHelper.get(TagPrefix.gem, material, 1) - let dustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (!dustStack.isEmpty()) { - - if (!ingotStack.isEmpty()) { - event.recipes.createCrushing(dustStack, ingotStack) - .processingTime(250) - .id(`tfg:crushing/${material.getName()}_dust`) - } - - if (!gemStack.isEmpty()) { - event.recipes.createMilling(dustStack, gemStack) - .processingTime(200) - .id(`tfg:milling/${material.getName()}_dust`) - } - - } - - }); - - //#endregion - - - // Clear NBT on tanks with shapeless crafts. - const TANK_NAMES = [ - "lv_super", - "mv_super", - "hv_super", - "ev_super", - "iv_quantum", - "luv_quantum", - "zpm_quantum", - "uv_quantum", - "uhv_quantum", - ] - - TANK_NAMES.forEach(prefix => { - // Craft super tanks to remove their NBT data. - event.shapeless(`gtceu:${prefix}_tank`, [`gtceu:${prefix}_tank`]) - // Craft super chests to remove their NBT data. - event.shapeless(`gtceu:${prefix}_chest`, [`gtceu:${prefix}_chest`]) - }) - // red alloy, because crucible always makes 4+1=5 - - event.remove({id: 'gtceu:mixer/red_alloy' }) + + event.remove({ id: 'gtceu:mixer/red_alloy' }) event.recipes.gtceu.mixer('tfg:red_alloy_mixer') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_dust') .circuit(2) .duration(100) .EUt(7) - - event.remove({id: 'gtceu:centrifuge/red_alloy_separation' }) + + event.remove({ id: 'gtceu:centrifuge/red_alloy_separation' }) event.recipes.gtceu.centrifuge('tfg:red_alloy_separation') .itemInputs('5x gtceu:red_alloy_dust') .itemOutputs('1x gtceu:copper_dust', '4x minecraft:redstone') .duration(900) .EUt(30) - - event.remove({id: 'gtceu:alloy_smelter/copper_dust_and_redstone_dust_into_red_alloy' }) + + event.remove({ id: 'gtceu:alloy_smelter/copper_dust_and_redstone_dust_into_red_alloy' }) event.recipes.gtceu.alloy_smelter('tfg:copper_dust_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - - event.remove({id: 'gtceu:alloy_smelter/annealed_copper_dust_and_redstone_dust_into_red_alloy' }) + + event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_dust_and_redstone_dust_into_red_alloy' }) event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_dust_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:annealed_copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - - event.remove({id: 'gtceu:alloy_smelter/copper_ingot_and_redstone_dust_into_red_alloy' }) + + event.remove({ id: 'gtceu:alloy_smelter/copper_ingot_and_redstone_dust_into_red_alloy' }) event.recipes.gtceu.alloy_smelter('tfg:copper_ingot_and_redstone_dust_into_red_alloy') .itemInputs('1x minecraft:copper_ingot', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - - event.remove({id: 'gtceu:alloy_smelter/annealed_copper_ingot_and_redstone_dust_into_red_alloy' }) + + event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_ingot_and_redstone_dust_into_red_alloy' }) event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_ingot_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:annealed_copper_ingot', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - + // steam machines - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_forge_hammer' }) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_forge_hammer' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_forge_hammer') .itemInputs('1x gtceu:hp_steam_forge_hammer') .itemOutputs('8x gtceu:wrought_iron_ingot', '3x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_forge_hammer' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_forge_hammer' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_forge_hammer') .itemInputs('1x gtceu:hp_steam_forge_hammer') .itemOutputs('8x gtceu:iron_dust', '3x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_extractor' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_extractor' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_extractor') .itemInputs('1x gtceu:hp_steam_extractor') .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '3x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_extractor' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_extractor' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_extractor') .itemInputs('1x gtceu:hp_steam_extractor') .itemOutputs('7x gtceu:iron_dust', '2x gtceu:steel_dust', '3x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_macerator' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_macerator' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_macerator') .itemInputs('1x gtceu:hp_steam_macerator') .itemOutputs('8x gtceu:wrought_iron_ingot', '3x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_macerator' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_macerator' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_macerator') .itemInputs('1x gtceu:hp_steam_macerator') .itemOutputs('8x gtceu:iron_dust', '3x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_compressor' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_compressor' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_compressor') .itemInputs('1x gtceu:hp_steam_compressor') .itemOutputs('7x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '5x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_compressor' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_compressor' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_compressor') .itemInputs('1x gtceu:hp_steam_compressor') .itemOutputs('7x gtceu:iron_dust', '1x gtceu:steel_dust', '5x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_furnace' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_furnace' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_furnace') .itemInputs('1x gtceu:hp_steam_furnace') .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '4x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_furnace' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_furnace' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_furnace') .itemInputs('1x gtceu:hp_steam_furnace') .itemOutputs('7x gtceu:iron_dust', '2x gtceu:steel_dust', '4x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_alloy_smelter' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_alloy_smelter' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_alloy_smelter') .itemInputs('1x gtceu:hp_steam_alloy_smelter') .itemOutputs('11x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '1x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_alloy_smelter' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_alloy_smelter' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_alloy_smelter') .itemInputs('1x gtceu:hp_steam_alloy_smelter') .itemOutputs('11x gtceu:iron_dust', '1x gtceu:steel_dust', '1x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - - event.remove({id: 'gtceu:arc_furnace/arc_hp_steam_rock_crusher' }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_rock_crusher' }) event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_rock_crusher') .itemInputs('1x gtceu:hp_steam_rock_crusher') .itemOutputs('10x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') .duration(3310) .EUt(30) - - event.remove({id: 'gtceu:macerator/macerate_hp_steam_rock_crusher' }) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_rock_crusher' }) event.recipes.gtceu.macerator('tfg:macerate_hp_steam_rock_crusher') .itemInputs('1x gtceu:hp_steam_rock_crusher') .itemOutputs('10x gtceu:iron_dust', '1x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') .duration(3254) .EUt(8) - + .category(GTRecipeCategories.MACERATOR_RECYCLING) + //#endregion - //#region Quantum mainframe stack fix. - // - // Quantum Mainframes need 48x annealed copper wire but - // the stacking limit is 32 so instead allow 24x 2x. - // - // Frustratingly event.replaceInput doesn't allow for - // changing item counts, only types. - event.remove(/gtceu:circuit_assembler\/quantum_mainframe_zpm.*/) - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '48x gtceu:smd_capacitor', - '24x gtceu:smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) + //#region Quantum mainframe stack fix. + // + // Quantum Mainframes need 48x annealed copper wire but + // the stacking limit is 32 so instead allow 24x 2x. + // + // Frustratingly event.replaceInput doesn't allow for + // changing item counts, only types. + event.remove(/gtceu:circuit_assembler\/quantum_mainframe_zpm.*/) + event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm') + .itemInputs( + '2x gtceu:hssg_frame', + '2x gtceu:quantum_processor_computer', + '48x gtceu:smd_capacitor', + '24x gtceu:smd_inductor', + '24x gtceu:ram_chip', + '24x gtceu:annealed_copper_double_wire') + .inputFluids(Fluid.of('gtceu:tin', 576)) + .itemOutputs('gtceu:quantum_processor_mainframe') + .duration(800) + .EUt(7680) - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_soldering_alloy') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '48x gtceu:smd_capacitor', - '24x gtceu:smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) + event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_soldering_alloy') + .itemInputs( + '2x gtceu:hssg_frame', + '2x gtceu:quantum_processor_computer', + '48x gtceu:smd_capacitor', + '24x gtceu:smd_inductor', + '24x gtceu:ram_chip', + '24x gtceu:annealed_copper_double_wire') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .itemOutputs('gtceu:quantum_processor_mainframe') + .duration(800) + .EUt(7680) - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '12x gtceu:advanced_smd_capacitor', - '6x gtceu:advanced_smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) + event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd') + .itemInputs( + '2x gtceu:hssg_frame', + '2x gtceu:quantum_processor_computer', + '12x gtceu:advanced_smd_capacitor', + '6x gtceu:advanced_smd_inductor', + '24x gtceu:ram_chip', + '24x gtceu:annealed_copper_double_wire') + .inputFluids(Fluid.of('gtceu:tin', 576)) + .itemOutputs('gtceu:quantum_processor_mainframe') + .duration(800) + .EUt(7680) - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd_soldering_alloy') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '12x gtceu:advanced_smd_capacitor', - '6x gtceu:advanced_smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) - //#endregion + event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd_soldering_alloy') + .itemInputs( + '2x gtceu:hssg_frame', + '2x gtceu:quantum_processor_computer', + '12x gtceu:advanced_smd_capacitor', + '6x gtceu:advanced_smd_inductor', + '24x gtceu:ram_chip', + '24x gtceu:annealed_copper_double_wire') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .itemOutputs('gtceu:quantum_processor_mainframe') + .duration(800) + .EUt(7680) + //#endregion - // #region fix mixer recipes for colored steel - - event.replaceInput({id: 'gtceu:mixer/red_steel'}, 'gtceu:sterling_silver_dust', 'gtceu:rose_gold_dust') - event.replaceInput({id: 'gtceu:create_mixer/red_steel'}, 'gtceu:sterling_silver_dust', 'gtceu:rose_gold_dust') - event.replaceInput({id: 'gtceu:mixer/red_steel'}, 'gtceu:bismuth_bronze_dust', 'gtceu:brass_dust') - event.replaceInput({id: 'gtceu:create_mixer/red_steel'}, 'gtceu:bismuth_bronze_dust', 'gtceu:brass_dust') - event.replaceInput({id: 'gtceu:mixer/blue_steel'}, 'gtceu:rose_gold_dust', 'gtceu:sterling_silver_dust') - event.replaceInput({id: 'gtceu:create_mixer/blue_steel'}, 'gtceu:rose_gold_dust', 'gtceu:sterling_silver_dust') - event.replaceInput({id: 'gtceu:mixer/blue_steel'}, 'gtceu:brass_dust', 'gtceu:bismuth_bronze_dust') - event.replaceInput({id: 'gtceu:create_mixer/blue_steel'}, 'gtceu:brass_dust', 'gtceu:bismuth_bronze_dust') - - // #endregion - - // #region fix centrifuge recipes for colored steel - - event.replaceOutput({id: 'gtceu:centrifuge/decomposition_centrifuging__red_steel'}, 'gtceu:sterling_silver_dust', 'gtceu:rose_gold_dust') - event.replaceOutput({id: 'gtceu:centrifuge/decomposition_centrifuging__red_steel'}, 'gtceu:bismuth_bronze_dust', 'gtceu:brass_dust') - event.replaceOutput({id: 'gtceu:centrifuge/decomposition_centrifuging__blue_steel'}, 'gtceu:rose_gold_dust', 'gtceu:sterling_silver_dust') - event.replaceOutput({id: 'gtceu:centrifuge/decomposition_centrifuging__blue_steel'}, 'gtceu:brass_dust', 'gtceu:bismuth_bronze_dust') - - // #endregion // #region Move MV superconductor to early HV instead of post-vac freezer - - event.remove({id: 'gtceu:shaped/hv_chemical_bath' }) + + event.remove({ id: 'gtceu:shaped/hv_chemical_bath' }) event.shaped('gtceu:hv_chemical_bath', [ - 'ABC', - 'DEA', - 'FGF' - ], { - A: 'gtceu:hv_conveyor_module', - B: 'gtceu:tempered_glass', - C: 'gtceu:gold_single_cable', - D: 'gtceu:hv_electric_pump', + 'ABC', + 'DEA', + 'FGF' + ], { + A: 'gtceu:hv_conveyor_module', + B: 'gtceu:tempered_glass', + C: 'gtceu:gold_single_cable', + D: 'gtceu:hv_electric_pump', // swap one of the tempered glass for a PE pipe to ensure they've finished the plastic part of MV - E: 'gtceu:polyethylene_normal_fluid_pipe', + E: 'gtceu:polyethylene_normal_fluid_pipe', F: '#gtceu:circuits/hv', G: 'gtceu:hv_machine_hull' - }).id('tfg:shaped/hv_chemical_bath') - + }).id('tfg:shaped/hv_chemical_bath') + event.recipes.gtceu.chemical_bath('tfg:magnesium_diboride_cool_down_distilled_water') .itemInputs('gtceu:hot_magnesium_diboride_ingot') - .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) .itemOutputs('gtceu:magnesium_diboride_ingot') .duration(250) .EUt(480) - + event.recipes.gtceu.chemical_bath('tfg:magnesium_diboride_cool_down') .itemInputs('gtceu:hot_magnesium_diboride_ingot') - .inputFluids(Fluid.of('minecraft:water', 100)) + .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('gtceu:magnesium_diboride_ingot') .duration(400) .EUt(480) - + // #endregion - - // #region Add all glass colors to macerator/hammer - event.remove({id: "gtceu:macerator/macerate_glass"}); - event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass") - .itemInputs( - "#forge:glass" - ) - .itemOutputs("gtceu:glass_dust") - .duration(20) - .EUt(2); - event.remove({id: "gtceu:macerator/macerate_glass_pane"}); - event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane") - .itemInputs( - "#forge:glass_panes" - ) - .itemOutputs("3x gtceu:tiny_glass_dust") - .duration(6) - .EUt(2) + // #region Add all glass colors to macerator/hammer + event.remove({ id: "gtceu:macerator/macerate_glass" }); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass") + .itemInputs( + "#forge:glass" + ) + .itemOutputs("gtceu:glass_dust") + .duration(20) + .EUt(2); - event.replaceInput({id: "gtceu:shaped/glass_dust_hammer"}, - "minecraft:glass", - "#forge:glass" - ); - // #endregion + event.remove({ id: "gtceu:macerator/macerate_glass_pane" }); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane") + .itemInputs( + "#forge:glass_panes" + ) + .itemOutputs("3x gtceu:tiny_glass_dust") + .duration(6) + .EUt(2) - // #region Rich coal processing - event.recipes.gtceu.coke_oven("tfg:rich_coal_to_coke") - .itemInputs('gtceu:rich_raw_coal') - .itemOutputs('4x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 2000)) - .duration(3240) + event.replaceInput({ id: "gtceu:shaped/glass_dust_hammer" }, + "minecraft:glass", + "#forge:glass" + ); + // #endregion - event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar") - .itemInputs('3x gtceu:rich_raw_coal') - .chancedOutput('gtceu:dark_ash_dust', 5000, 0) - .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) - .duration(288) - .EUt(96) - .circuit(8) + // #region Rich coal processing - event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_coke_creosote") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(576) - .EUt(64) - .circuit(1) + event.recipes.gtceu.coke_oven("tfg:poor_coal_to_coke") + .itemInputs('2x gtceu:poor_raw_coal') + .itemOutputs('1x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 500)) + .duration(900) - event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coal_gas") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:steam')) - .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) - .duration(288) - .EUt(96) - .circuit(22) + event.recipes.gtceu.coke_oven("tfg:coal_to_coke") + .itemInputs('gtceu:raw_coal') + .itemOutputs('2x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 1000)) + .duration(900) - event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coke_creosote_nitrogen") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:nitrogen')) - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(288) - .EUt(96) - .circuit(2) - // #endregion + event.recipes.gtceu.coke_oven("tfg:rich_coal_to_coke") + .itemInputs('gtceu:rich_raw_coal') + .itemOutputs('4x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 2000)) + .duration(900) - // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace + event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar") + .itemInputs('3x gtceu:rich_raw_coal') + .chancedOutput('gtceu:dark_ash_dust', 5000, 0) + .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) + .duration(288) + .EUt(96) + .circuit(8) - const SIGN_METALS = [ + event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_coke_creosote") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(576) + .EUt(64) + .circuit(1) + + event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coal_gas") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:steam')) + .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) + .duration(288) + .EUt(96) + .circuit(22) + + event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coke_creosote_nitrogen") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:nitrogen')) + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(288) + .EUt(96) + .circuit(2) + // #endregion + + // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace + + const SIGN_METALS = [ "copper", "bronze", "black_bronze", @@ -1934,26 +1327,226 @@ const registerGTCEURecipes = (event) => { "red_steel", "blue_steel" ]; - - SIGN_METALS.forEach(metal => { - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(`gtceu:tiny_${metal}_dust`, 3750, 0) - .duration(108) - .EUt(8) - event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal}/${wood}`) - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) - .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(`gtceu:${metal}_nugget`, 3750, 0) - .inputFluids(Fluid.of('gtceu:oxygen', 12)) - .duration(12) - .EUt(30) - }) - }) - // #endregion + SIGN_METALS.forEach(metal => { + global.TFC_WOOD_TYPES.forEach(wood => { + event.remove(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(`gtceu:tiny_${metal}_dust`, 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal}/${wood}`) + event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(`gtceu:${metal}_nugget`, 3750, 0) + .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + }) + }) + // #endregion + + //#region Voiding covers + + event.replaceInput({ id: 'gtceu:shaped/cover_fluid_voiding' }, + 'minecraft:ender_pearl', 'ae2:ender_dust'); + + event.replaceInput({ id: 'gtceu:assembler/cover_fluid_voiding' }, + 'minecraft:ender_pearl', 'ae2:ender_dust'); + + event.replaceInput({ id: 'gtceu:shaped/cover_item_voiding' }, + 'minecraft:ender_pearl', 'ae2:ender_dust'); + + event.replaceInput({ id: 'gtceu:assembler/cover_item_voiding' }, + 'minecraft:ender_pearl', 'ae2:ender_dust'); + + //#endregion + + // #region Treated Wood + + event.shaped('2x gtceu:treated_wood_door', [ + 'AA ', + 'AA ', + 'AA ' + ], { + A: 'gtceu:treated_wood_plate' + }).id('tfg:shaped/treated_door') + + event.shaped('3x gtceu:treated_wood_trapdoor', [ + 'AAA', + 'AAA', + ' ' + ], { + A: 'gtceu:treated_wood_plate' + }).id('tfg:shaped/treated_trapdoor') + + // #endregion + + // #region Primitive protection + + event.recipes.tfc.barrel_sealed(2000) + .outputItem('tfg:prepared_leather_gloves') + .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) + .id('tfg:sealed_barrel/prepared_leather_gloves') + + event.recipes.firmalife.vat() + .inputs('tfc:powder/wood_ash', Fluid.of('tfg:latex', 100)) + .outputFluid(Fluid.of('tfg:vulcanized_latex', 100)) + .length(300) + .temperature(300) + .id('tfg:vat/vulcanized_latex') + + event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 100), 1200, 300) + .fluidOutput(Fluid.of('tfg:vulcanized_latex', 100)) + .id('tfg:pot/vulcanized_latex') + + event.recipes.firmalife.vat() + .outputItem('tfg:latex_soaked_gloves') + .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) + .length(300) + .temperature(200) + .id('tfg:vat/latex_soaked_gloves') + + event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') + .id('tfg:oven/rubber_gloves') + + event.remove({ id: 'gtceu:shaped/rubber_gloves' }) + + event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') + .itemInputs('2x #forge:plates/rubber') + .notConsumable('create:brass_hand') + .itemOutputs('gtceu:rubber_gloves') + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) + + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('gtceu:face_mask', [ + 'ACA', + 'ABA', + ' D ' + ], { + A: '#forge:string', + B: '#forge:cloth', + C: 'minecraft:paper', + D: '#tfc:sewing_needles' + }) + ).id('gtceu:shaped/face_mask') + + event.recipes.gtceu.assembler('assemble_face_mask') + .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') + .itemOutputs('gtceu:face_mask') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + .circuit(7) + + // #endregion + + event.replaceInput({ id: 'gtceu:shaped/nightvision_goggles' }, 'gtceu:glass_lens', 'tfc:lens') + event.replaceInput({ id: 'gtceu:shaped/nightvision_goggles' }, 'gtceu:lv_sodium_battery', '#gtceu:batteries/lv') + + event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'minecraft:iron_bars', '#tfg:metal_bars') + event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'gtceu:wood_plate', '#tfc:lumber') + + event.replaceInput({ mod: 'gtceu' }, 'minecraft:sugar', '#tfg:sugars') + event.replaceInput({ mod: 'gtceu' }, 'minecraft:string', '#forge:string') + + event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue') + .inputFluids(Fluid.of('gtceu:glue', 50)) + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('tfc:glue') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + + event.recipes.createSequencedAssembly([ + 'gtceu:ulv_voltage_coil', + ], 'gtceu:magnetic_iron_rod', [ + event.recipes.createDeploying('gtceu:magnetic_iron_rod', ['gtceu:magnetic_iron_rod', '#forge:fine_wires/lead']) + ]).transitionalItem('gtceu:magnetic_iron_rod').loops(32).id('tfg:sequenced_assembly/ulv_voltage_coil') + + //#endregion + + //#region Steam Bloomery + + event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') + .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') + .itemOutputs('tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) + + event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coalcoke') + .itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel') + .itemOutputs('2x tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty == null) + return; + + if (tfcProperty.getOutputMaterial() == GTMaterials.Iron) { + event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') + .itemOutputs('tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) + + event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 2), '#tfc:blast_furnace_fuel') + .itemOutputs('2x tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) + } + }) + + //#endregion + + event.shaped('4x minecraft:ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/wooden' + }).id('gtceu:shaped/ladder') + + + // TODO: Greate again... + event.shapeless('gtceu:red_alloy_single_cable', ['gtceu:red_alloy_single_wire', '#forge:plates/rubber']) + .id('tfg:shapeless/red_alloy_single_cable') + + event.shapeless('gtceu:tin_single_cable', ['gtceu:tin_single_wire', '#forge:plates/rubber']) + .id('tfg:shapeless/tin_single_cable') + event.shapeless('gtceu:tin_double_cable', ['gtceu:tin_double_wire', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/tin_double_cable') + event.shapeless('gtceu:tin_quadruple_cable', ['gtceu:tin_quadruple_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/tin_quadruple_cable') + event.shapeless('gtceu:tin_octal_cable', ['gtceu:tin_octal_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/tin_octal_cable') + + event.shapeless('gtceu:cobalt_single_cable', ['gtceu:cobalt_single_wire', '#forge:plates/rubber']) + .id('tfg:shapeless/cobalt_single_cable') + event.shapeless('gtceu:cobalt_double_cable', ['gtceu:cobalt_double_wire', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/cobalt_double_cable') + event.shapeless('gtceu:cobalt_quadruple_cable', ['gtceu:cobalt_quadruple_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/cobalt_quadruple_cable') + event.shapeless('gtceu:cobalt_octal_cable', ['gtceu:cobalt_octal_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/cobalt_octal_cable') + + event.shapeless('gtceu:nickel_single_cable', ['gtceu:nickel_single_wire', '#forge:plates/rubber']) + .id('tfg:shapeless/nickel_single_cable') + event.shapeless('gtceu:nickel_double_cable', ['gtceu:nickel_double_wire', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/nickel_double_cable') + event.shapeless('gtceu:nickel_quadruple_cable', ['gtceu:nickel_quadruple_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/nickel_quadruple_cable') + event.shapeless('gtceu:nickel_octal_cable', ['gtceu:nickel_octal_wire', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber', '#forge:plates/rubber']) + .id('tfg:shapeless/nickel_octal_cable') } diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js new file mode 100644 index 000000000..1b06f8800 --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -0,0 +1,714 @@ +// priority: 0 + +function registerGTCEUMetalRecipes(event) { + + const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) return + + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + event.shapeless(toolItem, [ + '#forge:rods/wooden', + toolHeadItem + ]).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + else { + event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + + processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) + } + + const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return + + if (material.hasProperty(PropertyKey.INGOT)) { + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(ingotItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .notConsumable(extruderMold) + .itemOutputs(toolHeadItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + + if (headTagPrefix.materialAmount() / GTValues.M == 1) { + event.custom({ + type: 'vintageimprovements:curving', + ingredients: [ingotItem], + itemAsHead: extruderMold, + results: [toolHeadItem], + processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + } + else { + event.custom({ + type: 'vintageimprovements:curving', + // have to do [item, item] instead of [item x2] + ingredients: [ingotItem, ingotItem], + itemAsHead: extruderMold, + results: [toolHeadItem], + processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + } + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(toolHeadItem) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(toolHeadItem) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + if (GTMaterials.Stone != material) { + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(toolHeadItem) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + } + + } else if (material.hasProperty(PropertyKey.GEM)) { + + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + if (gemItem.isEmpty()) return + + event.recipes.gtceu.laser_engraver(`tfg:engrave_${material.getName()}_gem_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(gemItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) + .circuit(cirucitMeta) + .itemOutputs(toolHeadItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(toolHeadItem) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + } + // else: ignore :3 + } + + const processToolMortar = (toolType, material) => { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) return + + const usableTagPrefix = material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot; + const usableItem = ChemicalHelper.get(usableTagPrefix, material, 1) + + if (usableItem.isEmpty()) return + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(toolItem, [ + 'CA ', + ' B ' + ], { + A: usableItem, + B: '#tfc:rock/raw', + C: '#tfc:chisels' + }) + ).id(`gtceu:shaped/mortar_${material.getName()}`) + } + + const processIngot = (tagPrefix, material) => { + const ingotStack = ChemicalHelper.get(tagPrefix, material, 1) + + if (material.hasFlag(MaterialFlags.GENERATE_PLATE) + && material != GTMaterials.Wood + && material != GTMaterials.TreatedWood + && !material.hasProperty(PropertyKey.POLYMER)) + { + const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) + const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) + + let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; + + if (!plateStack.isEmpty()) { + + event.custom({ + type: "createaddition:rolling", + input: ingotStack, + result: plateStack, + //processingTime: material.getMass() // TODO - controlled by a global config argh + }).id(`tfg:rolling/${material.getName()}_plate`) + + if (!blockStack.isEmpty() && GTMaterials.Stone != material) { + + // 9х Слиток -> Блок + event.recipes.createCompacting(blockStack, ingotStack.withCount(matAmount)) + .heated() + .id(`tfg:compacting/${material.getName()}_block`) + } + } + else { + if (!blockStack.isEmpty()) { + + // Блок из гемов -> 9 Пластин + event.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack) + .id(`tfg:cutting/${material.getName()}_plate`) + } + } + } + } + + const processPlate = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:shaped/plate_${material.getName()}` }) + } + + const processPlateDouble = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` }) + } + + const processBlock = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` }) + } + + const processFoil = (tagPrefix, material) => { + + const foilItem = ChemicalHelper.get(tagPrefix, material, 4) + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + + if (plateItem != null && foilItem != null) { + event.custom({ + type: "createaddition:rolling", + input: plateItem, + result: foilItem, + // TODO - processing time is controlled by a global config instead of setting it per-recipe... + //processingTime: material.getMass() + }).id(`tfg:rolling/${material.getName()}_foil`) + } + } + + const processRodLong = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` }) + } + + const processIngotDouble = (tagPrefix, material) => { + if (!material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) return; + + const doubleIngotStack = ChemicalHelper.get(tagPrefix, material, 1); + + if (material.hasProperty(PropertyKey.FLUID)) { + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_double_ingot`) + .itemInputs(doubleIngotStack) + .outputFluids(Fluid.of(material.getFluid(), 288)) + .duration(material.getMass()) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (material.hasProperty(PropertyKey.DUST)) { + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_double_ingot`) + .itemInputs(doubleIngotStack) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2)) + .duration(material.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + } + + const twoIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 2); + + event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_double_ingot`) + .itemInputs(doubleIngotStack) + .itemOutputs(twoIngotStack) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.bender(`tfg:bend_${material.getName()}_double_ingot`) + .itemInputs(twoIngotStack) + .itemOutputs(doubleIngotStack) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(3) + } + + const processSmallOre = (tagPrefix, material) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return; + + const smallOre = ChemicalHelper.get(tagPrefix, material, 1); + const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_ore`) + .itemInputs(smallOre) + .itemOutputs(smallDust) + .duration(material.getMass()) + .category(GTRecipeCategories.ORE_CRUSHING) + .EUt(GTValues.VA[GTValues.ULV]) + } + + const processSmallNativeOre = (tagPrefix, material) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return; + + const smallNativeOre = ChemicalHelper.get(tagPrefix, material, 1); + const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_native_ore`) + .itemInputs(smallNativeOre) + .itemOutputs(smallDust) + .duration(material.getMass()) + .category(GTRecipeCategories.ORE_CRUSHING) + .EUt(GTValues.VA[GTValues.ULV]) + } + + const processPoorRawOre = (tagPrefix, material) => { + const poorOreItem = ChemicalHelper.get(tagPrefix, material, 2) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + + if (poorOreItem != null && crushedOreItem != null) { + event.recipes.tfc.quern(crushedOreItem, poorOreItem) + .id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`) + } + } + + const processNormalRawOre = (tagPrefix, material) => { + const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + + if (normalOreItem != null && crushedOreItem != null) { + event.recipes.tfc.quern(crushedOreItem, normalOreItem) + .id(`tfg:quern/${material.getName()}_crushed_ore_from_normal_raw_ore`) + } + } + + const processRichRawOre = (tagPrefix, material) => { + const richOreItem = ChemicalHelper.get(tagPrefix, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 2) + + if (richOreItem != null && crushedOreItem != null) { + event.recipes.tfc.quern(crushedOreItem, richOreItem) + .id(`tfg:quern/${material.getName()}_crushed_ore_from_rich_raw_ore`) + } + } + + const processCrushedOre = (tagPrefix, material) => { + const crushedOreItem = ChemicalHelper.get(tagPrefix, material, 1) + const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) + + if (crushedOreItem != null && pureOreItem != null) { + + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + event.recipes.greate.splashing([pureOreItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) + .id(`tfg:splashing/${material.getName()}_purified_ore`) + + // Дробленная руда -> Очищенная руда + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + crushedOreItem.toJson() + ], + result: pureOreItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) + } + } + + const processImpureDust = (tagPrefix, material) => { + const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1) + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + + if (impureDustItem != null && dustItem != null) { + + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + event.recipes.greate.splashing([dustItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], impureDustItem) + .id(`tfg:splashing/${material.getName()}_dust_from_impure`) + + // Грязная пыль -> Пыль + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + impureDustItem.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`) + } + } + + const processPureDust = (tagPrefix, material) => { + const pureDust = ChemicalHelper.get(tagPrefix, material, 1) + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + + if (pureDust != null && dustItem != null) { + + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + event.recipes.greate.splashing([dustItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], pureDust) + .id(`tfg:splashing/${material.getName()}_dust_from_pure`) + + // Очищенная пыль -> Пыль + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + pureDust.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`) + } + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const toolProperty = material.getProperty(PropertyKey.TOOL) + const ingotProperty = material.getProperty(PropertyKey.INGOT) + const oreProperty = material.getProperty(PropertyKey.ORE) + const gemProperty = material.getProperty(PropertyKey.GEM) + + const anvilStack = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1) + const finishedLampStack = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1) + const trapdoorStack = ChemicalHelper.get(TFGTagPrefix.trapdoor, material, 1) + const chainStack = ChemicalHelper.get(TFGTagPrefix.chain, material, 1) + const bellStack = ChemicalHelper.get(TFGTagPrefix.bell, material, 1) + const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4) + + if (toolProperty != null) { + makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 1, material) + makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 2, material) + makeToolRecipe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 3, material) + makeToolRecipe(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 4, material) + makeToolRecipe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 5, material) + makeToolRecipe(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 6, material) + makeToolRecipe(GTToolType.FILE, TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', 7, material) + makeToolRecipe(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 8, material) + makeToolRecipe(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', 9, material) + makeToolRecipe(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', 10, material) + makeToolRecipe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 11, material) + makeToolRecipe(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 12, material) + makeToolRecipe(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', 13, material) + + processToolMortar(GTToolType.MORTAR, material) + + processToolHead(TFGTagPrefix.toolHeadPropick, 'tfg:propick_head_extruder_mold', 14, material) + processToolHead(TFGTagPrefix.toolHeadJavelin, 'tfg:javelin_head_extruder_mold', 15, material) + processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', 16, material) + processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', 17, material) + processToolHead(TFGTagPrefix.toolHeadMattock, 'tfg:mattock_head_extruder_mold', 18, material) + } + + if (ingotProperty != null) { + processIngot(TagPrefix.ingot, material) + processPlate(TagPrefix.plate, material) + processPlateDouble(TagPrefix.plateDouble, material) + processBlock(TagPrefix.block, material) + processFoil(TagPrefix.foil, material) + processRodLong(TagPrefix.rodLong, material) + processIngotDouble(TFGTagPrefix.ingotDouble, material) + } + + if (oreProperty != null) { + processSmallOre(TFGTagPrefix.oreSmall, material) + processSmallNativeOre(TFGTagPrefix.oreSmallNative, material) + processPoorRawOre(TFGTagPrefix.poorRawOre, material) + processNormalRawOre(TagPrefix.rawOre, material) + processRichRawOre(TFGTagPrefix.richRawOre, material) + + processCrushedOre(TagPrefix.crushed, material) + processImpureDust(TagPrefix.dustImpure, material) + processPureDust(TagPrefix.dustPure, material) + + if (gemProperty != null) { + let gem = ChemicalHelper.get(TagPrefix.gem, material, 1); + let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) + let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + `gtceu:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels'])) + .id(`shapeless/${material.getName()}_bud_indicator`) + + event.shaped(smallDust, + [ 'A', 'B' ], + { A: chipped, B: '#forge:tools/mortars'}) + .id(`shapeless/mortar_chipped_${material.getName()}`) + } + } + + if (anvilStack != null) { + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_anvil`) + .itemInputs(anvilStack) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 14)) + .duration(material.getMass() * 32) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_anvil`) + .itemInputs(anvilStack) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) + .duration(material.getMass() * 32) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_anvil`) + .itemInputs(anvilStack) + .outputFluids(Fluid.of(material.getFluid(), 14 * 144)) + .duration(material.getMass() * 32) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_anvil`) + .itemInputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) + .notConsumable('gtceu:anvil_casting_mold') + .itemOutputs(anvilStack) + .duration(material.getMass() * 32) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_anvil`) + .inputFluids(Fluid.of(material.getFluid(), 14 * 144)) + .notConsumable('gtceu:anvil_casting_mold') + .itemOutputs(anvilStack) + .duration(material.getMass() * 32) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (finishedLampStack != null) { + const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) + const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const glassDustStack = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Glass, 4) + const unfinishedLampStack = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_lamp`) + .itemInputs(finishedLampStack) + .itemOutputs([materialDustStack, glassDustStack]) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_lamp`) + .itemInputs(finishedLampStack) + .itemOutputs([materialIngotStack, glassDustStack]) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp`) + .itemInputs("tfc:lamp_glass", unfinishedLampStack) + .itemOutputs(finishedLampStack) + .duration(material.getMass() * 7) + .circuit(12) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp_from_liquid`) + .itemInputs(unfinishedLampStack) + .inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 576)) + .itemOutputs(finishedLampStack) + .duration(material.getMass() * 7) + .circuit(13) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_unfinished_lamp`) + .itemInputs(unfinishedLampStack) + .itemOutputs(materialDustStack) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_unfinished_lamp`) + .itemInputs(unfinishedLampStack) + .itemOutputs([materialIngotStack, glassDustStack]) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_unfinished_lamp`) + .itemInputs(unfinishedLampStack) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_unfinished_lamp`) + .itemInputs(materialIngotStack) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(unfinishedLampStack) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_unfinished_lamp`) + .inputFluids(Fluid.of(material.getFluid(), 144)) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(unfinishedLampStack) + .duration(material.getMass() * 8) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (trapdoorStack != null) { + const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) + const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_trapdoor`) + .itemInputs(trapdoorStack) + .itemOutputs(materialDustStack) + .duration(material.getMass() * 7) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_trapdoor`) + .itemInputs(trapdoorStack) + .itemOutputs(materialIngotStack) + .duration(material.getMass() * 7) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_trapdoor`) + .itemInputs(trapdoorStack) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 7) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_trapdoor`) + .itemInputs(materialIngotStack) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorStack) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_trapdoor`) + .inputFluids(Fluid.of(material.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorStack) + .duration(material.getMass() * 7) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (chainStack != null) { + const chain2Stack = ChemicalHelper.get(TFGTagPrefix.chain, material, 2) + + const materialDustTinyStack = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) + const materialNuggetStack = ChemicalHelper.get(TagPrefix.nugget, material, 1) + const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_chain`) + .itemInputs(chain2Stack) + .itemOutputs(materialDustTinyStack) + .duration(material.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_chain`) + .itemInputs(chain2Stack) + .itemOutputs(materialNuggetStack) + .duration(material.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_chain`) + .itemInputs(chainStack) + .outputFluids(Fluid.of(material.getFluid(), 9)) + .duration(material.getMass() * 3) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_chain`) + .itemInputs(materialIngotStack) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(ChemicalHelper.get(TFGTagPrefix.chain, material, 16)) + .duration(material.getMass() * 3) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_chain`) + .inputFluids(Fluid.of(material.getFluid(), 9)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainStack) + .duration(material.getMass() * 3) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (bellStack != null) { + const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) + const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) + + event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_bell`) + .itemInputs(bellStack) + .itemOutputs(materialDustStack) + .duration(material.getMass() * 5) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_bell`) + .itemInputs(bellStack) + .itemOutputs(materialIngotStack) + .duration(material.getMass() * 5) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_bell`) + .itemInputs(bellStack) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 5) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_bell`) + .itemInputs(materialIngotStack) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellStack) + .duration(material.getMass() * 5) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_bell`) + .inputFluids(Fluid.of(material.getFluid(), 144)) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellStack) + .duration(material.getMass() * 5) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (barsStack != null) { + event.stonecutting(barsStack, ChemicalHelper.get(TagPrefix.ingot, material, 1)) + .id(`${material.getName()}_ingot_to_bars`) + } + + // Indicators + if (oreProperty != null) { + event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator`}, + 'minecraft:gravel', '#tfc:rock/gravel') + } + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js new file mode 100644 index 000000000..da3844ec4 --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -0,0 +1,587 @@ +// priority: 0 + +function removeGTCEURecipes(event) { + + global.GTCEU_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + //#region Выход: Крошечная кучка камня + + event.remove({ id: 'gtceu:macerator/macerate_stone_button' }) + + //#endregion + + //#region Выход: Маленькая кучка камня + + event.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_granite' }) + event.remove({ id: 'gtceu:macerator/macerate_diorite' }) + event.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_andesite' }) + + //#endregion + + //#region Выход: Кучка камня + + event.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) + event.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) + event.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) + event.remove({ id: 'gtceu:macerator/gravel_to_flint' }) + event.remove({ id: 'gtceu:macerator/macerate_furnace' }) + + //#endregion + + //#region Deepslate + + event.remove({ id: 'gtceu:shaped/deepslate_hammer' }) + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_stair_saw' }) + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_slab_saw' }) + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_wall_saw' }) + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_cobbled_deepslate_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_cobbled_deepslate_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_polished_hammer' }) + event.remove({ id: 'gtceu:forming_press/form_cobbled_deepslate_slab_into_pillar' }) + + event.remove({ id: 'gtceu:shaped/polished_deepslate_stair_saw' }) + event.remove({ id: 'gtceu:shaped/polished_deepslate_slab_saw' }) + event.remove({ id: 'gtceu:shaped/polished_deepslate_wall_saw' }) + event.remove({ id: 'gtceu:shaped/polished_deepslate_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_deepslate_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_polished_deepslate_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:shaped/deepslate_bricks_hammer' }) + event.remove({ id: 'gtceu:shaped/deepslate_bricks_stair_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_bricks_slab_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_bricks_wall_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_bricks_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_bricks_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_bricks_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:shaped/deepslate_tile_hammer' }) + event.remove({ id: 'gtceu:shaped/deepslate_tile_stair_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_tile_slab_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_tile_wall_saw' }) + event.remove({ id: 'gtceu:shaped/deepslate_tile_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_deepslate_tile_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_deepslate_tile_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:macerator/macerate_deepslate' }) + event.remove({ id: 'gtceu:rock_breaker/deepslate' }) + + // #endregion + + // #region Blackstone + + event.remove({ id: 'gtceu:shaped/blackstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/blackstone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/blackstone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/blackstone_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_blackstone_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_blackstone_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:shaped/polished_blackstone_hammer' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:shaped/polished_blackstone_polished_hammer' }) + event.remove({ id: 'gtceu:forming_press/form_polished_blackstone_slab_into_pillar' }) + + event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_hammer' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_stair_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_slab_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_wall_saw' }) + event.remove({ id: 'gtceu:shaped/polished_blackstone_brick_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_stair' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_polished' }) + event.remove({ id: 'gtceu:assembler/assemble_polished_blackstone_brick_into_wall' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab_water' }) + event.remove({ id: 'gtceu:cutter/cut_polished_blackstone_brick_into_slab_distilled_water' }) + + event.remove({ id: 'gtceu:rock_breaker/blackstone' }) + + // #endregion + + // #region basalt + + event.remove({ id: 'gtceu:shaped/basalt_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_basalt_into_polished' }) + + // #endregion + + // #region Plant Ball + + event.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_warped_stem' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_crimson_stem' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_tube_coral' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_sugar_cane' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_potato' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_nether_wart' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_horn_coral' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_fire_coral' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_carrot' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_cactus' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_bubble_coral' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_brain_coral' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_beetroot' }) + event.remove({ id: 'gtceu:compressor/plant_ball_from_moss' }) + + // #endregion + + // #region Biomass + + event.remove({ id: 'gtceu:brewery/biomass_from_sugar_cane' }) + event.remove({ id: 'gtceu:brewery/biomass_from_potato' }) + event.remove({ id: 'gtceu:brewery/biomass_from_carrot' }) + event.remove({ id: 'gtceu:brewery/biomass_from_cactus' }) + event.remove({ id: 'gtceu:brewery/biomass_from_beetroot' }) + + // #endregion + + // #region Fish Oil + + event.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) + event.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) + event.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) + event.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) + + // #endregion + + // #region Wrought Iron Nugget + + event.remove({ output: 'gtceu:wrought_iron_nugget', type: 'minecraft:smelting' }) + + // #endregion + + // #region Seed Oil + + event.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' }) + event.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) + event.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) + event.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) + + // #endregion + + //#region Выход: Крошечная кучка дерева + + event.remove({ id: 'gtceu:macerator/macerate_warped_button' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_button' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_button' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) + + //#endregion + + //#region Выход: Маленькая кучка дерева + + event.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) + + //#endregion + + //#region Выход: Деревянная пыль + + event.remove({ id: 'gtceu:macerator/macerate_trapped_chest' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_door' }) + event.remove({ id: 'gtceu:macerator/macerate_spruce_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_door' }) + event.remove({ id: 'gtceu:macerator/macerate_oak_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_door' }) + event.remove({ id: 'gtceu:macerator/macerate_mangrove_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_door' }) + event.remove({ id: 'gtceu:macerator/macerate_jungle_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_door' }) + event.remove({ id: 'gtceu:macerator/macerate_dark_oak_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_crafting_table' }) + event.remove({ id: 'gtceu:macerator/macerate_chest' }) + event.remove({ id: 'gtceu:macerator/macerate_chest_minecart' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_door' }) + event.remove({ id: 'gtceu:macerator/macerate_cherry_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_bookshelf' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_door' }) + event.remove({ id: 'gtceu:macerator/macerate_birch_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_door' }) + event.remove({ id: 'gtceu:macerator/macerate_acacia_boat' }) + event.remove({ id: 'gtceu:macerator/macerate_bamboo_raft' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_door' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_crimson_planks' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_door' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_fence' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_fence_gate' }) + event.remove({ id: 'gtceu:macerator/macerate_warped_planks' }) + + //#endregion + + //#region Выход: Бумажная пыль + + event.remove({ id: 'gtceu:shaped/paper_dust' }) + + //#endregion + + + //#region Выход: Маленькая кучка мяса + + event.remove({ id: 'gtceu:macerator/macerate_steak' }) + event.remove({ id: 'gtceu:macerator/macerate_rabbit' }) + event.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) + + //#endregion + + // #region Meat + + event.remove({ id: 'gtceu:macerator/macerate_mutton' }) + event.remove({ id: 'gtceu:macerator/macerate_chicken' }) + + // #endregion + + //#region Выход: Пшеничная пыль + + event.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) + event.remove({ id: 'gtceu:macerator/macerate_wheat' }) + event.remove({ id: 'gtceu:macerator/macerate_hay_block' }) + + //#endregion + + //#region Выход: Слиток кованного железа + + event.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) + event.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) + event.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) + event.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) + event.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) + event.remove({ id: 'gtceu:arc_furnace/arc_compass' }) + + //#endregion + + //#region Выход: Кованные самородки + + event.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) + + //#endregion + + //#region Выход: Железная пыль + + event.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + event.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) + event.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) + event.remove({ id: 'gtceu:macerator/macerate_anvil' }) + event.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) + event.remove({ id: 'gtceu:macerator/macerate_bucket' }) + event.remove({ id: 'gtceu:macerator/macerate_compass' }) + + //#endregion + + //#region Выход: Крошечная железная пыль + + event.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) + + //#endregion + + //#region Выход: Крошечная пыль золы + + event.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) + + //#endregion + + //#region Выход: Пыль незерака + + event.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) + event.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) + + //#endregion + + //#region Выход: Пыль базальта + + event.remove({ id: 'gtceu:macerator/macerate_basalt' }) + + //#endregion + + //#region Выход: Слиток камня + + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) + + //#endregion + + //#region Выход: Бронзовые машины (Плюс их декрафты) + + event.remove({ id: 'gtceu:shaped/bronze_hull' }) + event.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' }) + event.remove({ id: 'gtceu:macerator/macerate_bronze_machine_casing' }) + + event.remove({ id: 'gtceu:shaped/steam_extractor_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_extractor' }) + + event.remove({ id: 'gtceu:shaped/steam_macerator_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_macerator' }) + + event.remove({ id: 'gtceu:shaped/steam_compressor_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_compressor' }) + + event.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_forge_hammer' }) + + event.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_furnace' }) + + event.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_alloy_smelter' }) + + event.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' }) + event.remove({ id: 'gtceu:macerator/macerate_lp_steam_rock_crusher' }) + + event.remove({ id: 'gtceu:shaped/steam_miner_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_bronze' }) + event.remove({ id: 'gtceu:macerator/macerate_steam_miner_bronze' }) + + event.remove({ id: 'gtceu:shaped/steam_miner_bronze' }) + event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_bronze' }) + event.remove({ id: 'gtceu:macerator/macerate_steam_miner_bronze' }) + + + event.remove({ id: 'gtceu:shaped/steam_miner_steel' }) + event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner_steel' }) + event.remove({ id: 'gtceu:macerator/macerate_steam_miner_steel' }) + + // #endregion + + + //#region Выход: некоторые рецепты пылей + + event.remove({ id: 'gtceu:shapeless/dust_brass' }) + event.remove({ id: 'gtceu:shapeless/glass_dust_flint' }) + event.remove({ id: 'gtceu:shapeless/dust_bronze' }) + event.remove({ id: 'gtceu:shapeless/potin_dust' }) + + //#endregion + + // Удаление рецептов связанных с Primitive Blast Furnace + event.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) + event.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) + + // Удаление рецепта беск. воды кавера + event.remove('gtceu:assembler/cover_infinite_water') + + // Удаление рецептов помпы + event.remove('gtceu:shaped/pump_deck') + event.remove('gtceu:shaped/pump_hatch') + event.remove('gtceu:shaped/primitive_pump') + + // Удаление рецептов связанных с Barrel + event.remove({ id: 'gtceu:shaped/wooden_barrel' }) + event.remove({ id: 'gtceu:assembler/wood_barrel' }) + event.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' }) + event.remove({ id: 'gtceu:macerator/macerate_wood_drum' }) + + // Удаление рецептов связанных с FireBricks + event.remove({ id: 'gtceu:shaped/casing_primitive_bricks' }) + event.remove({ id: 'gtceu:macerator/macerate_firebricks' }) + event.remove({ id: 'gtceu:extractor/extract_primitive_bricks' }) + + // Удаление рецептов связанных с FireBrick + event.remove({ id: 'gtceu:smelting/fireclay_brick' }) + event.remove({ id: 'gtceu:macerator/macerate_firebrick' }) + + // Clay from mud + event.remove({ id: 'gtceu:compressor/mud_to_clay' }) + + // Rubber extraction + event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) + event.remove({ id: 'gtceu:extractor/raw_rubber_from_resin' }) + event.remove({ id: 'gtceu:extractor/raw_rubber_from_slime' }) + + // Mortar + event.remove({ id: 'gtceu:shaped/gem_to_dust_coal_chipped_gem' }) + event.remove({ id: 'gtceu:shaped/gem_to_dust_coke_chipped_gem' }) + event.remove({ id: 'gtceu:shaped/sandstone_polished_hammer' }) + event.remove({ id: 'gtceu:shaped/stone_brick_polished_hammer' }) + event.remove({ id: 'gtceu:shaped/purpur_polished_hammer' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_polished_hammer' }) + event.remove({ id: 'gtceu:shaped/nether_bricks_polished_hammer' }) + + event.remove({ id: 'gtceu:shaped_fluid_container/brick_from_water' }) + + // Gears + event.remove({ id: 'gtceu:extruder/extrude_wood_ingot_to_small_gear' }) + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_wood_ingot_to_small_gear' }) + + // Misc vanilla stuff + event.remove({ id: 'gtceu:shaped/observer' }) + event.remove({ id: 'gtceu:shaped/observer_certus' }) + event.remove({ id: 'gtceu:shaped/observer_quartzite' }) + event.remove({ id: 'gtceu:shaped/piston_iron' }) + event.remove({ id: 'gtceu:shaped/comparator' }) + event.remove({ id: 'gtceu:shaped/repeater' }) + event.remove({ id: 'gtceu:shaped/crossbow' }) + event.remove({ id: 'gtceu:shaped/spyglass' }) + event.remove({ id: 'gtceu:shaped/lead' }) + event.remove({ id: 'gtceu:shaped/target' }) + event.remove({ id: 'gtceu:shaped/lectern' }) + event.remove({ id: 'gtceu:shaped/item_frame' }) + event.remove({ id: 'gtceu:shaped/clock' }) + event.remove({ id: 'gtceu:shaped/loom' }) + event.remove({ id: 'gtceu:shaped/scaffolding' }) + event.remove({ id: 'gtceu:shaped/bow' }) + event.remove({ id: 'gtceu:shaped/leather_horse_armor' }) + event.remove({ id: 'gtceu:shaped/bowl' }) + event.remove({ id: 'gtceu:shaped/flower_pot' }) + event.remove({ id: 'gtceu:shaped/jack_o_lantern' }) + event.remove({ id: 'gtceu:shaped/armor_stand' }) + event.remove({ id: 'gtceu:shaped/white_bed' }) + event.remove({ id: 'gtceu:shaped/light_gray_bed' }) + event.remove({ id: 'gtceu:shaped/gray_bed' }) + event.remove({ id: 'gtceu:shaped/black_bed' }) + event.remove({ id: 'gtceu:shaped/brown_bed' }) + event.remove({ id: 'gtceu:shaped/red_bed' }) + event.remove({ id: 'gtceu:shaped/orange_bed' }) + event.remove({ id: 'gtceu:shaped/yellow_bed' }) + event.remove({ id: 'gtceu:shaped/lime_bed' }) + event.remove({ id: 'gtceu:shaped/green_bed' }) + event.remove({ id: 'gtceu:shaped/cyan_bed' }) + event.remove({ id: 'gtceu:shaped/light_blue_bed' }) + event.remove({ id: 'gtceu:shaped/blue_bed' }) + event.remove({ id: 'gtceu:shaped/purple_bed' }) + event.remove({ id: 'gtceu:shaped/magenta_bed' }) + event.remove({ id: 'gtceu:shaped/pink_bed' }) + event.remove({ id: 'gtceu:shaped/flour_to_dough' }) + event.remove({ id: 'gtceu:shaped/grindstone' }) + event.remove({ id: 'gtceu:shaped/treated_trapdoor_iron' }) + event.remove({ id: 'gtceu:shaped/treated_trapdoor_steel' }) + event.remove({ id: 'gtceu:shaped/treated_door' }) + event.remove({ id: 'gtceu:shaped/barrel' }) + event.remove({ id: 'gtceu:shaped/book' }) + event.remove({ id: 'gtceu:shaped/bucket_of_concrete' }) + event.remove({ id: 'gtceu:shaped_fluid_container/treated_wood_planks' }) + + event.remove({ id: 'gtceu:assembler/bell' }) + event.remove({ id: 'gtceu:assembler/armor_stand' }) + event.remove({ id: 'gtceu:assembler/piston_stainless_steel' }) + event.remove({ id: 'gtceu:assembler/treated_trapdoor_iron' }) + event.remove({ id: 'gtceu:assembler/treated_trapdoor_steel' }) + event.remove({ id: 'gtceu:assembler/treated_door' }) + event.remove({ id: 'gtceu:assembler/barrel' }) + +} diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index b40435892..f15a867fa 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -1,57 +1,115 @@ // priority: 0 const registerGTCEUItemTags = (event) => { - - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) - global.GTCEU_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + // Удаление тегов у отключенных предметов + global.GTCEU_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) - global.GTCEU_ARMORS.forEach(item => { - event.add('minecraft:trimmable_armor', item) - }) + global.GTCEU_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) - // Добавление тега EMI для скрытия всех руд - event.add('c:hidden_from_recipe_viewers', '#forge:ores') + global.GTCEU_ARMORS.forEach(item => { + event.add('minecraft:trimmable_armor', item) + }) - //#region Пыли стоунтайпов в один тэг - event.add('tfg:stone_dusts', 'tfg:gabbro_dust') - event.add('tfg:stone_dusts', 'tfg:shale_dust') - event.add('tfg:stone_dusts', 'tfg:claystone_dust') - event.add('tfg:stone_dusts', 'tfg:limestone_dust') - event.add('tfg:stone_dusts', 'tfg:conglomerate_dust') - event.add('tfg:stone_dusts', 'tfg:dolomite_dust') - event.add('tfg:stone_dusts', 'tfg:chert_dust') - event.add('tfg:stone_dusts', 'tfg:chalk_dust') - event.add('tfg:stone_dusts', 'tfg:rhyolite_dust') - event.add('tfg:stone_dusts', 'tfg:dacite_dust') - event.add('tfg:stone_dusts', 'gtceu:quartzite_dust') - event.add('tfg:stone_dusts', 'tfg:slate_dust') - event.add('tfg:stone_dusts', 'tfg:phyllite_dust') - event.add('tfg:stone_dusts', 'tfg:schist_dust') - event.add('tfg:stone_dusts', 'tfg:gneiss_dust') - event.add('tfg:stone_dusts', 'gtceu:marble_dust') - event.add('tfg:stone_dusts', 'gtceu:basalt_dust') - event.add('tfg:stone_dusts', 'gtceu:diorite_dust') - event.add('tfg:stone_dusts', 'gtceu:andesite_dust') - event.add('tfg:stone_dusts', 'gtceu:granite_dust') + // Добавление тега EMI для скрытия всех руд + event.add('c:hidden_from_recipe_viewers', '#forge:ores') - event.add('tfg:stone_dusts', 'gtceu:stone_dust') + //#region Пыли стоунтайпов в один тэг + event.add('tfg:stone_dusts', 'tfg:gabbro_dust') + event.add('tfg:stone_dusts', 'tfg:shale_dust') + event.add('tfg:stone_dusts', 'tfg:claystone_dust') + event.add('tfg:stone_dusts', 'tfg:limestone_dust') + event.add('tfg:stone_dusts', 'tfg:conglomerate_dust') + event.add('tfg:stone_dusts', 'tfg:dolomite_dust') + event.add('tfg:stone_dusts', 'tfg:chert_dust') + event.add('tfg:stone_dusts', 'tfg:chalk_dust') + event.add('tfg:stone_dusts', 'tfg:rhyolite_dust') + event.add('tfg:stone_dusts', 'tfg:dacite_dust') + event.add('tfg:stone_dusts', 'gtceu:quartzite_dust') + event.add('tfg:stone_dusts', 'tfg:slate_dust') + event.add('tfg:stone_dusts', 'tfg:phyllite_dust') + event.add('tfg:stone_dusts', 'tfg:schist_dust') + event.add('tfg:stone_dusts', 'tfg:gneiss_dust') + event.add('tfg:stone_dusts', 'gtceu:marble_dust') + event.add('tfg:stone_dusts', 'gtceu:basalt_dust') + event.add('tfg:stone_dusts', 'gtceu:diorite_dust') + event.add('tfg:stone_dusts', 'gtceu:andesite_dust') + event.add('tfg:stone_dusts', 'gtceu:granite_dust') + event.add('tfg:stone_dusts', 'gtceu:deepslate_dust') + event.add('tfg:stone_dusts', 'gtceu:blackstone_dust') + event.add('tfg:stone_dusts', 'tfg:dripstone_dust') + + event.add('tfg:stone_dusts', 'gtceu:stone_dust') + //#endregion event.remove('minecraft:planks', 'gtceu:treated_wood_planks') + + event.add('tfg:sugars', 'minecraft:sugar') + event.add('tfg:sugars', 'afc:birch_sugar') + event.add('tfg:sugars', 'afc:maple_sugar') - //#endregion + global.MINECRAFT_DYE_NAMES.forEach(dyeName => + { + event.remove('ae2:p2p_attunements/fluid_p2p_tunnel', `gtceu:${dyeName}_dye_bucket`) + }) } const registerGTCEUBlockTags = (event) => { - - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + + // Удаление тегов у отключенных предметов + global.GTCEU_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) + + // TODO: Ores all broke for some reason? This is a workaround for now + event.add('minecraft:mineable/pickaxe', '#forge:ores') + event.add('minecraft:needs_iron_tool', '#forge:ores') + + // Let GT indicators be covered by snow + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + + if (material.hasProperty(PropertyKey.ORE)) { + let indicator = `gtceu:${material.getName()}_indicator`; + + event.add('tfg:dust_ore_indicators', indicator) + event.add('tfc:can_be_snow_piled', indicator) + event.add('tfc:can_be_ice_piled', indicator) + + if (material.hasProperty(PropertyKey.GEM)) { + + let bud = `gtceu:${material.getName()}_bud_indicator`; + + event.add('tfg:bud_ore_indicators', bud) + event.add('tfc:can_be_snow_piled', bud) + event.add('tfc:can_be_ice_piled', bud) + + event.add('minecraft:mineable/pickaxe', bud) + } + + // I LOVE KUBEJS I LOVE KUBEJS I LOVE KUBEJS + let str = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; + if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron) + str = "minecraft" + str; + else + str = "gtceu" + str; + + event.add('tfc:can_collapse', str); + event.add('tfc:can_start_collapse', str); + event.add('tfc:can_trigger_collapse', str); + // Hide these from JEI + event.add('c:hidden_from_recipe_viewers', str); + } + }) } + + +const registerGTCEUFluidTags = (event) => { + + event.add('c:hidden_from_recipe_viewers', /gtceu.*potion.*/) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 2cdec29a8..8e3c2da48 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -1,88 +1,100 @@ // priority: 0 const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_output, duration, EUt, rpm, id) => { - const recipe1 = event.recipes.gtceu.mixer(id) - .itemInputs(input) - .inputFluids(fluid_input) - .itemOutputs(output) - .outputFluids(fluid_output) - .duration(duration) - .EUt(EUt) + const recipe = event.recipes.gtceu.mixer(id) + .itemInputs(input) + .inputFluids(fluid_input) + .itemOutputs(output) + .outputFluids(fluid_output) + .duration(duration) + .EUt(EUt) - const recipe2 = event.recipes.gtceu.create_mixer(id) - .itemInputs(input) - .inputFluids(fluid_input) - .itemOutputs(output) - .outputFluids(fluid_output) - .duration(duration) - .EUt(EUt) - .rpm(rpm) - - if (circuit != null) { - recipe1.circuit(circuit) - recipe2.circuit(circuit) - } + if (circuit != null) { + recipe.circuit(circuit) + } } -const generateCutterRecipe = (event, input, circuit, output, duration, EUt, id) => { - // Вот зачем я, скажете вы, делаю тут всякие костыли, - // потому что блядский разработчик GTCEu не может исправить баги своего мода - // Я так устал.. +const generateCutterRecipe = (event, input, output, duration, EUt, id) => { - const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}_water`) - .itemInputs(input) - .inputFluids(Fluid.of('minecraft:water', 4)) - .itemOutputs(output) - .duration(duration) - .EUt(EUt) - - const recipe2 = event.recipes.gtceu.cutter(`tfg:${id}_dist_water`) - .itemInputs(input) - .inputFluids(Fluid.of('gtceu:distilled_water', 3)) - .itemOutputs(output) - .duration(duration) - .EUt(EUt) - - const recipe3 = event.recipes.gtceu.cutter(`tfg:${id}_lubricant`) - .itemInputs(input) - .inputFluids(Fluid.of('gtceu:lubricant', 1)) - .itemOutputs(output) - .duration(duration) - .EUt(EUt) - - event.recipes.createCutting(output, input) - .id(`tfg:cutting/${id}`) - - - if (circuit != null) { - recipe1.circuit(circuit) - recipe2.circuit(circuit) - recipe3.circuit(circuit) - } + event.recipes.gtceu.cutter(`tfg:${id}`) + .itemInputs(input) + .itemOutputs(output) + .duration(duration) + .EUt(EUt) } const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => { - - // Без удобрения - event.recipes.gtceu.greenhouse(id) - .itemInputs(input) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', fluid_amount)) - .itemOutputs(output) - .chancedOutput(input, 7500, 0) - .chancedOutput(input, 5000, 0) - .duration(64000) - .EUt(128) - // С удобрением - event.recipes.gtceu.greenhouse(`${id}_fertilized`) - .itemInputs(input) - .itemInputs('8x gtceu:fertilizer') - .circuit(2) - .inputFluids(Fluid.of('minecraft:water', fluid_amount)) - .itemOutputs(output) - .chancedOutput(input, 8500, 0) - .chancedOutput(input, 6000, 0) - .duration(16000) - .EUt(256) + // Без удобрения + event.recipes.gtceu.greenhouse(id) + .itemInputs(input) + .circuit(1) + .inputFluids(Fluid.of('minecraft:water', fluid_amount)) + .itemOutputs(output) + .chancedOutput(input, 7500, 0) + .chancedOutput(input, 5000, 0) + .duration(36000) // 30 mins + .EUt(72) + + // С удобрением + event.recipes.gtceu.greenhouse(`${id}_fertilized`) + .itemInputs(input) + .itemInputs('8x gtceu:fertilizer') + .circuit(2) + .inputFluids(Fluid.of('minecraft:water', fluid_amount)) + .itemOutputs(output) + .chancedOutput(input, 8500, 0) + .chancedOutput(input, 6000, 0) + .duration(12000) // 10 mins + .EUt(196) +} + +const getFillingNBT = (material, amount) => { + return { + tank: { + FluidName: Fluid.of(material.getFluid()).getId(), + Amount: amount + } + } +} + +function generatePlatedBlockRecipe(event, material) { + let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + + let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); + let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); + let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); + + event.recipes.create.item_application(platedBlock, ['#forge:stone_bricks', plateItem]) + .id(`tfg:item_application/${material.getName()}_plated_block`) + event.recipes.createDeploying(platedBlock, ['#forge:stone_bricks', plateItem]) + .id(`tfg:deploying/${material.getName()}_plated_block`) + event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_block`) + .itemInputs('#forge:stone_bricks', plateItem) + .itemOutputs(platedBlock) + .circuit(10) + .duration(50) + .EUt(4) + + event.recipes.create.item_application(platedSlab, ['#tfg:brick_slabs', plateItem]) + .id(`tfg:item_application/${material.getName()}_plated_slab`) + event.recipes.createDeploying(platedSlab, ['#tfg:brick_slabs', plateItem]) + .id(`tfg:deploying/${material.getName()}_plated_slab`) + event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_slab`) + .itemInputs('#tfg:brick_slabs', plateItem) + .itemOutputs(platedSlab) + .circuit(10) + .duration(50) + .EUt(4) + + event.recipes.create.item_application(platedStair, ['#tfg:brick_stairs', plateItem]) + .id(`tfg:item_application/${material.getName()}_plated_stair`) + event.recipes.createDeploying(platedStair, ['#tfg:brick_stairs', plateItem]) + .id(`tfg:deploying/${material.getName()}_plated_stair`) + event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_stair`) + .itemInputs('#tfg:brick_stairs', plateItem) + .itemOutputs(platedStair) + .circuit(10) + .duration(50) + .EUt(4) } \ No newline at end of file diff --git a/kubejs/server_scripts/immersive_aircraft/data.js b/kubejs/server_scripts/immersive_aircraft/data.js new file mode 100644 index 000000000..00d1ea730 --- /dev/null +++ b/kubejs/server_scripts/immersive_aircraft/data.js @@ -0,0 +1,16 @@ +/** + * + * @param {Internal.TFCDataEventJS} evt + */ + +const registerTFCDataForImmersiveAircraft = (evt) => +{ + evt.itemSize('immersive_aircraft:quadrocopter', 'large', 'heavy'); + evt.itemSize('immersive_aircraft:airship', 'very_large', 'heavy'); + evt.itemSize('immersive_aircraft:gyrodyne', 'very_large', 'very_heavy'); + evt.itemSize('immersive_aircraft:cargo_airship', 'very_large', 'very_heavy'); + evt.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy'); + evt.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy'); + evt.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy'); + evt.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy'); +} \ No newline at end of file diff --git a/kubejs/server_scripts/immersive_aircraft/recipes.js b/kubejs/server_scripts/immersive_aircraft/recipes.js new file mode 100644 index 000000000..88174b734 --- /dev/null +++ b/kubejs/server_scripts/immersive_aircraft/recipes.js @@ -0,0 +1,833 @@ +// priority: 0 + +/** + * + * @param {Internal.RecipesEventJS} event + */ +function registerImmersiveAircraftRecipes(event) { + + //#region Recycling Util + + /** + * + * @param {string} id + * @param {{input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]}} args + */ + let generateRecyclingRecipe = (id, args) => + { + event.recipes.gtceu.macerator(id) + .itemInputs(args.input) + // macerator only has 6 output slots + .itemOutputs(args.outputsMacerator.slice(0, 6)) + .duration(args.duration) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]); + + event.recipes.gtceu.arc_furnace(id) + .itemInputs(args.input) + .itemOutputs(args.outputsArcFurnace) + .duration(args.duration) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + } + + /** + * + * @param {string} inputItem + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material[]} outputMaterialsArray + * @param {{tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number}[]} materialToResults + * @returns {input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]} + */ + let createRecyclingRecipeArgs = (inputItem, outputMaterialsArray, materialToResults) => + { + + let outputsMacerator = [] + let outputsArcFurnace = [] + let duration = 0; + + for(let i = 0; i < outputMaterialsArray.length; i++) + { + if(i > 9) + { + break; + } + + let material = outputMaterialsArray[i]; + let arcFurnaceMaterial = material; + + let result = materialToResults[i]; + + /*FIXME: This should do a couple of things it doesnt do rn, but i cba to fix it myself. + //The arcFurnaceMaterial should have special checks to see if it should be replaced with Ash if the material is a Wood or a Polymer. + //It should also set itself to annealed copper if the input is regular copper + //Ideally we should make sure the specified material has a specific TagPrefix before pushing it into the array, cant get it to work tho. I think the method TagPrefix.doGenerateItem() is ideal for this + */ + + outputsArcFurnace.push(ChemicalHelper.get(result.tagPrefixArcFurnace, arcFurnaceMaterial, result.count)); + outputsMacerator.push(ChemicalHelper.get(result.tagPrefixMacerator, material, result.count)); + duration += material.getMass() * result.count; + } + + let result = { + input: inputItem, + duration: duration, + outputsMacerator: outputsMacerator, + outputsArcFurnace: outputsArcFurnace, + } + return result; + } + + /** + * + * @param {TagPrefix} tagPrefixMacerator + * @param {TagPrefix} tagPrefixArcFurnace + * @param {number} count + * @returns {tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number} + */ + let createMaterialsToResults = (tagPrefixMacerator, tagPrefixArcFurnace, count) => + { + let result = + { + tagPrefixMacerator: tagPrefixMacerator, + tagPrefixArcFurnace: tagPrefixArcFurnace, + count: count + }; + return result; + } + //#endregion + + event.remove({mod: 'man_of_many_planes'}); + event.remove({mod: 'immersive_aircraft'}); + + event.shaped('immersive_aircraft:hull',[ + 'AAA', + 'BCB', + 'AAA' + ],{ + A: '#minecraft:planks', + B: 'gtceu:wrought_iron_plate', + C: 'tfc:glue', + }).id('tfg:immersive_aircraft/shaped/hull'); + + event.shaped('immersive_aircraft:engine',[ + 'ABC', + 'DED' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:tools/wrenches', + D: '#tfg:metal_bars', + E: 'create:andesite_casing' + }).id('tfg:immersive_aircraft/shaped/engine'); + + event.shaped('immersive_aircraft:sail',[ + 'ABA', + 'BCB', + 'ABA' + ],{ + A: 'gtceu:wrought_iron_screw', + B: '#forge:cloth', + C: '#minecraft:trapdoors' + }).id('tfg:immersive_aircraft/shaped/sail'); + + event.shaped('immersive_aircraft:rotary_cannon',[ + 'ABA', + 'ACA', + ' D ' + ],{ + A: 'create:copper_sheet', + B: 'minecraft:dispenser', + C: 'gtceu:wrought_iron_gear', + D: 'tfc:powderkeg' + }).id('tfg:immersive_aircraft/shaped/rotary_cannon'); + + event.shaped('immersive_aircraft:heavy_crossbow',[ + 'ABA', + 'CDC', + ' A ' + ],{ + A: '#minecraft:logs', + B: 'gtceu:long_steel_rod', + C: '#tfg:metal_chains', + D: 'minecraft:crossbow' + }).id('tfg:immersive_aircraft/shaped/heavy_crossbow'); + + event.shaped('immersive_aircraft:telescope',[ + 'ABC', + ' D ', + ' E ' + ], { + A: 'gtceu:small_brass_gear', + B: 'minecraft:spyglass', + C: '#forge:glass/colorless', + D: 'gtceu:copper_rod', + E: 'gtceu:wrought_iron_plate' + }).id('tfg:immersive_aircraft/shaped/telescope'); + + event.shaped('immersive_aircraft:bomb_bay',[ + 'AAA', + 'ABA', + 'ACA' + ],{ + A: 'gtceu:steel_plate', + B: 'tfc:powderkeg', + C: 'minecraft:dispenser' + }).id('tfg:immersive_aircraft/shaped/bomb_bay'); + + //#region Airplane Upgrades + + event.shaped('immersive_aircraft:industrial_gears',[ + 'ABA', + 'CAB', + 'ACA' + ],{ + A: 'gtceu:small_brass_gear', + B: 'gtceu:double_wrought_iron_plate', + C: 'gtceu:double_copper_plate' + }).id('tfg:immersive_aircraft/shaped/industrial_gears'); + + event.shaped('immersive_aircraft:sturdy_pipes',[ + 'EDA', + 'BAC', + 'AD ' + ],{ + A: '#forge:small_fluid_pipes', + B: 'gtceu:blue_steel_plate', + C: 'gtceu:red_steel_plate', + D: 'gtceu:black_steel_screw', + E: '#forge:tools/screwdrivers', + }).id('tfg:immersive_aircraft/shaped/sturdy_pipes') + + event.shaped('immersive_aircraft:gyroscope',[ + 'ABC', + 'DED', + 'FDG' + ],{ + A: '#forge:tools/wrenches', + B: 'minecraft:comparator', + C: 'ae2:quartz_glass', + D: 'gtceu:small_brass_gear', + E: 'firmaciv:firmaciv_compass', + F: 'gtceu:aluminium_screw', + G: '#forge:tools/screwdrivers' + }).id('tfg:immersive_aircraft/shaped/gyroscope') + + event.shaped('tfg:black_steel_plated_airplane_propeller',[ + 'CA ', + 'ABA', + ' AD' + ],{ + A: 'gtceu:black_steel_plate', + B: '#forge:rotors', + C: '#forge:tools/hammers', + D: '#forge:tools/wrenches' + }).id('tfg:shaped/black_steel_plated_airplane_propeller'); + + generateRecyclingRecipe('tfg:recycling/black_steel_plated_airplane_propeller', + createRecyclingRecipeArgs('tfg:black_steel_plated_airplane_propeller', [GTMaterials.BlackSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) + + event.shaped('tfg:redblu_steel_plated_airplane_propeller',[ + 'ABC', + 'DED', + 'CBF' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:red_steel_plate', + C: 'gtceu:red_alloy_dust', + D: 'gtceu:blue_steel_plate', + E: '#forge:rotors', + F: '#forge:tools/wrenches' + }).id('tfg:shaped/redblu_steel_plated_airplane_propeller'); + + generateRecyclingRecipe('tfg:recycling/redblu_steel_plated_airplane_propeller', + createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller',[ + GTMaterials.RedSteel, + GTMaterials.BlueSteel, + GTMaterials.RedAlloy + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ); + + event.shaped('immersive_aircraft:enhanced_propeller',[ + 'CA ', + 'ABA', + ' AD' + ],{ + A: 'vintageimprovements:aluminum_sheet', + B: '#forge:rotors', + C: '#forge:tools/hammers', + D: '#forge:tools/wrenches' + }).id('tfg:immersive_aircraft/shaped/enhanced_propeller'); + + generateRecyclingRecipe('immersive_aircraft:recycling/enhanced_propeller', + createRecyclingRecipeArgs('immersive_aircraft:enhanced_propeller', [GTMaterials.Aluminium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) + + event.shaped('tfg:stainless_steel_plated_airplane_propeller',[ + 'CA ', + 'ABA', + ' AD' + ],{ + A: 'gtceu:stainless_steel_plate', + B: '#forge:rotors', + C: '#forge:tools/hammers', + D: '#forge:tools/wrenches' + }).id('tfg:shaped/stainless_steel_plated_airplane_propeller'); + + generateRecyclingRecipe('tfg:recycling/stainless_steel_plated_airplane_propeller', + createRecyclingRecipeArgs('tfg:stainless_steel_plated_airplane_propeller', [GTMaterials.StainlessSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) + + event.shaped('tfg:titanium_plated_airplane_propeller',[ + 'CA ', + 'ABA', + ' AD' + ],{ + A: 'gtceu:titanium_plate', + B: '#forge:rotors', + C: '#forge:tools/hammers', + D: '#forge:tools/wrenches' + }).id('tfg:shaped/titanium_plated_airplane_propeller'); + + generateRecyclingRecipe('tfg:recycling/titanium_plated_airplane_propeller', + createRecyclingRecipeArgs('tfg:titanium_plated_airplane_propeller', [GTMaterials.Titanium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) + + event.shaped('immersive_aircraft:eco_engine',[ + 'ABC', + 'BDB', + 'EEE' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:double_rose_gold_plate', + C: '#forge:tools/screwdrivers', + D: 'immersive_aircraft:engine', + E: 'gtceu:double_sterling_silver_plate' + }).id('tfg:immersive_aircraft/shaped/eco_engine'); + + event.shaped('immersive_aircraft:steel_boiler',[ + 'ABA', + 'ACA', + 'DAD' + ],{ + A: 'gtceu:steel_plate', + B: 'gtceu:black_steel_rod', + C: 'immersive_aircraft:engine', + D: 'gtceu:tin_alloy_small_fluid_pipe' + }).id('tfg:immersive_aircraft/shaped/steel_boiler'); + + generateRecyclingRecipe('immersive_aircraft:recycling/steel_boiler', + createRecyclingRecipeArgs('immersive_aircraft:steel_boiler',[ + GTMaterials.Steel, + GTMaterials.TinAlloy, + GTMaterials.WroughtIron, + GTMaterials.BlackSteel + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 4) + ]) + ) + + event.shaped('tfg:lv_aircraft_engine',[ + 'ABC', + 'DED', + 'FGF' + ],{ + A: 'gtceu:red_steel_plate', + B: 'gtceu:black_steel_plate', + C: 'gtceu:blue_steel_plate', + D: 'gtceu:lv_electric_piston', + E: 'immersive_aircraft:engine', + F: 'gtceu:red_alloy_single_cable', + G: 'gtceu:lv_electric_pump' + }).id('tfg:shaped/lv_aircraft_engine') + + generateRecyclingRecipe('tfg:recycling/lv_aircraft_engine', + createRecyclingRecipeArgs('tfg:lv_aircraft_engine', [ + GTMaterials.Steel, + GTMaterials.Tin, + GTMaterials.Copper, + GTMaterials.Bronze, + GTMaterials.RedSteel, + GTMaterials.BlueSteel, + GTMaterials.BlackSteel, + GTMaterials.RedAlloy, + GTMaterials.TinAlloy + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 10), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 7), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 4), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('immersive_aircraft:nether_engine',[ + 'AAA', + 'BCB', + 'DED' + ],{ + A: 'vintageimprovements:aluminum_sheet', + B: 'gtceu:mv_electric_piston', + C: 'immersive_aircraft:engine', + D: 'gtceu:aluminium_single_cable', + E: 'gtceu:mv_electric_pump' + }).id('tfg:immersive_aircraft/shaped/nether_engine') + + generateRecyclingRecipe('immersive_aircraft:recycling/nether_engine', + createRecyclingRecipeArgs('immersive_aircraft:nether_engine',[ + GTMaterials.Aluminium, + GTMaterials.Cupronickel, + GTMaterials.AnnealedCopper, + GTMaterials.Steel, + GTMaterials.Bronze, + GTMaterials.TinAlloy, + GTMaterials.WroughtIron + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 12), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('tfg:hv_aircraft_engine',[ + 'AAA', + 'BCB', + 'DED' + ],{ + A: 'gtceu:stainless_steel_plate', + B: 'gtceu:hv_electric_piston', + C: 'immersive_aircraft:engine', + D: 'gtceu:aluminium_double_cable', + E: 'gtceu:hv_electric_pump', + }).id('tfg:shaped/hv_aircraft_engine') + + generateRecyclingRecipe('tfg:recycling/hv_aircraft_engine', + createRecyclingRecipeArgs('tfg:hv_aircraft_engine',[ + GTMaterials.StainlessSteel, + GTMaterials.Electrum, + GTMaterials.Silver, + GTMaterials.Steel, + GTMaterials.Gold, + GTMaterials.Aluminium, + GTMaterials.TinAlloy, + GTMaterials.WroughtIron + ], [ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 14), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 4), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + ]) + ) + + event.shaped('tfg:ev_aircraft_engine',[ + 'AAA', + 'BCB', + 'DED' + ],{ + A: 'gtceu:titanium_plate', + B: 'gtceu:ev_electric_piston', + C: 'immersive_aircraft:engine', + D: 'gtceu:aluminium_quadruple_cable', + E: 'gtceu:ev_electric_pump', + }).id('tfg:shaped/ev_aircraft_engine') + + generateRecyclingRecipe('tfg:recycling/ev_aircraft_engine', + createRecyclingRecipeArgs('tfg:ev_aircraft_engine',[ + GTMaterials.Titanium, + GTMaterials.Aluminium, + GTMaterials.Kanthal, + GTMaterials.StainlessSteel, + GTMaterials.Neodymium, + GTMaterials.TinAlloy, + GTMaterials.WroughtIron + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 14), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + ]) + ); + + event.shaped('immersive_aircraft:hull_reinforcement',[ + 'AB ', + 'BCB', + ' BD' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:black_steel_plate', + C: 'immersive_aircraft:hull', + D: '#forge:tools/wrench' + }).id('tfg:immersive_aircraft/shaped/hull_reinforcement'); + + generateRecyclingRecipe('immersive_aircraft:recycling/hull_reinforcement', + createRecyclingRecipeArgs('immersive_aircraft:hull_reinforcement',[ + GTMaterials.BlackSteel, + GTMaterials.WroughtIron + ], [ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('tfg:redblu_steel_hull_reinforcement',[ + 'ABF', + 'ECE', + 'FBD' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:red_steel_plate', + C: 'immersive_aircraft:hull', + D: '#forge:tools/wrench', + E: 'gtceu:blue_steel_plate', + F: 'gtceu:red_alloy_dust' + }).id('tfg:shaped/redblu_steel_hull_reinforcement'); + + generateRecyclingRecipe('tfg:recycling/redblu_steel_hull_reinforcement', + createRecyclingRecipeArgs('tfg:redblu_steel_hull_reinforcement',[ + GTMaterials.BlueSteel, + GTMaterials.RedSteel, + GTMaterials.RedAlloy, + GTMaterials.WroughtIron + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), + ]) + ); + + event.shaped('tfg:aluminium_hull_reinforcement',[ + 'AB ', + 'BCB', + ' BD' + ],{ + A: '#forge:tools/hammers', + B: 'vintageimprovements:aluminum_sheet', + C: 'immersive_aircraft:hull', + D: '#forge:tools/wrench' + }).id('tfg:shaped/aluminium_hull_reinforcement'); + + generateRecyclingRecipe('tfg:recycling/aluminium_hull_reinforcement', + createRecyclingRecipeArgs('tfg:aluminium_hull_reinforcement',[ + GTMaterials.Aluminium, + GTMaterials.WroughtIron + ], [ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('tfg:stainless_steel_hull_reinforcement',[ + 'AB ', + 'BCB', + ' BD' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:stainless_steel_plate', + C: 'immersive_aircraft:hull', + D: '#forge:tools/wrench' + }).id('tfg:shaped/stainless_steel_hull_reinforcement'); + + generateRecyclingRecipe('tfg:recycling/stainless_steel_hull_reinforcement', + createRecyclingRecipeArgs('tfg:stainless_steel_hull_reinforcement',[ + GTMaterials.StainlessSteel, + GTMaterials.WroughtIron + ], [ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('tfg:titanium_hull_reinforcement',[ + 'AB ', + 'BCB', + ' BD' + ],{ + A: '#forge:tools/hammers', + B: 'gtceu:titanium_plate', + C: 'immersive_aircraft:hull', + D: '#forge:tools/wrench' + }).id('tfg:shaped/titanium_hull_reinforcement'); + + generateRecyclingRecipe('tfg:recycling/titanium_hull_reinforcement', + createRecyclingRecipeArgs('tfg:titanium_hull_reinforcement',[ + GTMaterials.Titanium, + GTMaterials.WroughtIron + ], [ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) + ]) + ) + + event.shaped('immersive_aircraft:improved_landing_gear',[ + 'ABC', + 'DEB', + 'DDF' + ],{ + A: '#forge:tools/wrenches', + B: 'gtceu:black_steel_plate', + C: 'gtceu:black_steel_rod', + D: 'gtceu:rubber_plate', + E: 'gtceu:small_brass_gear', + F: '#forge:tools/screwdrivers' + }).id('tfg:immersive_aircraft/shaped/improved_landing_gear'); + + generateRecyclingRecipe('immersive_aircraft:recycling/improved_landing_gear', + createRecyclingRecipeArgs('immersive_aircraft:improved_landing_gear',[ + GTMaterials.BlackSteel, + GTMaterials.Brass + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7), + ]) + ); + + event.shaped('tfg:redblu_steel_landing_gear',[ + 'ABC', + 'DEB', + 'DDF' + ],{ + A: '#forge:tools/wrenches', + B: 'gtceu:red_steel_plate', + C: 'gtceu:blue_steel_rod', + D: 'gtceu:rubber_plate', + E: 'gtceu:small_brass_gear', + F: '#forge:tools/screwdrivers' + }).id('tfg:shaped/redblu_steel_landing_gear') + + generateRecyclingRecipe('tfg:recycling/redblu_steel_landing_gear', + createRecyclingRecipeArgs('tfg:redblu_steel_landing_gear',[ + GTMaterials.RedSteel, + GTMaterials.BlueSteel, + GTMaterials.Brass, + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 3), + createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7), + ]) + ); + + event.shaped('tfg:aluminium_landing_gear',[ + 'ABC', + 'DEB', + 'DDF' + ],{ + A: '#forge:tools/wrenches', + B: 'vintageimprovements:aluminum_sheet', + C: 'gtceu:aluminium_rod', + D: 'gtceu:rubber_plate', + E: 'gtceu:cobalt_brass_gear', + F: '#forge:tools/screwdrivers' + }).id('tfg:shaped/aluminium_landing_gear') + + generateRecyclingRecipe('tfg:recycling/aluminium_landing_gear', + createRecyclingRecipeArgs('tfg:aluminium_landing_gear',[ + GTMaterials.Aluminium, + GTMaterials.CobaltBrass + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + ]) + ); + + event.shaped('tfg:stainless_steel_landing_gear',[ + 'ABC', + 'DEB', + 'DDF' + ],{ + A: '#forge:tools/wrenches', + B: 'gtceu:stainless_steel_plate', + C: 'gtceu:stainless_steel_rod', + D: 'gtceu:rubber_plate', + E: 'gtceu:cobalt_brass_gear', + F: '#forge:tools/screwdrivers' + }).id('tfg:shaped/stainless_steel_landing_gear'); + + + generateRecyclingRecipe('tfg:recycling/stainless_steel_landing_gear', + createRecyclingRecipeArgs('tfg:stainless_steel_landing_gear',[ + GTMaterials.StainlessSteel, + GTMaterials.CobaltBrass + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + ]) + ); + + event.shaped('tfg:titanium_landing_gear',[ + 'ABC', + 'DEB', + 'DDF' + ],{ + A: '#forge:tools/wrenches', + B: 'gtceu:titanium_plate', + C: 'gtceu:titanium_rod', + D: 'gtceu:rubber_plate', + E: 'gtceu:cobalt_brass_gear', + F: '#forge:tools/screwdrivers' + }).id('tfg:shaped/titanium_landing_gear'); + + generateRecyclingRecipe('tfg:recycling/titanium_landing_gear', + createRecyclingRecipeArgs('tfg:titanium_landing_gear',[ + GTMaterials.Titanium, + GTMaterials.CobaltBrass + ],[ + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), + createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), + ]) + ); +//#region Aircrafts + + event.shaped('immersive_aircraft:quadrocopter',[ + 'ABA', + 'CDC', + 'AEA' + ],{ + A: '#forge:rotors', + B: '#create:seats', + C: 'gtceu:long_wood_rod', + D: 'tfg:scaffolding_frame', + E: 'immersive_aircraft:engine' + }).id('tfg:immersive_aircraft/shaped/quadrocopter'); + + event.shaped('immersive_aircraft:airship',[ + 'ABA', + 'CDE', + 'FGA' + ], { + A: 'immersive_aircraft:sail', + B: 'tfg:airship_balloon', + C: 'immersive_aircraft:engine', + D: '#create:seats', + E: 'firmaciv:rope_coil', + F: '#forge:rotors', + G: 'tfg:airship_hull' + }).id('tfg:immersive_aircraft/shaped/airship') + + event.shaped('immersive_aircraft:cargo_airship',[ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:rotors', + B: '#forge:tools/hammers', + C: 'immersive_aircraft:engine', + D: 'immersive_aircraft:airship', + E: 'gtceu:wood_crate', + F: '#forge:tools/screwdrivers' + }).id('tfg:immersive_aircraft/shaped/cargo_airship') + + //WAAGH! + event.recipes.create.mechanical_crafting('immersive_aircraft:warship',[ + 'ABCC ', + ' DDD ', + ' EEEF', + ' EGEH', + ' EEEF', + ' DDD ' + ],{ + A: 'immersive_aircraft:enhanced_propeller', + B: 'immersive_aircraft:steel_boiler', + C: 'tfg:airship_balloon', + D: 'gtceu:wrought_iron_plate', + E: 'immersive_aircraft:hull', + F: 'gtceu:wrought_iron_rod', + G: 'immersive_aircraft:cargo_airship', + H: '#create:seats' + }).id('tfg:immersive_aircraft/mechanical_crafter/warship') + + event.recipes.create.mechanical_crafting('immersive_aircraft:gyrodyne',[ + ' A ', + ' B ', + 'CCDDDCC', + 'BBDEDBB', + ' FDDDF ', + ' B ', + ' G ', + ],{ + A: 'immersive_aircraft:enhanced_propeller', + B: 'gtceu:long_wood_rod', + C: 'immersive_aircraft:sail', + D: 'immersive_aircraft:hull', + E: '#create:seats', + F: 'create:hand_crank', + G: 'gtceu:wrought_iron_double_ingot' + }).id('tfg:immersive_aircraft/mechanical_crafter/gyrodyne') + + event.recipes.create.mechanical_crafting('man_of_many_planes:economy_plane',[ + ' AABCBAA ', + 'ADDBEBDDA', + ' FGBHBGF ', + ' D ', + ' D ', + ' DAD ', + ' DDD ', + ' AAA ' + ], { + A: 'immersive_aircraft:sail', + B: 'gtceu:blue_steel_plate', + C: '#tfg:metal_bars', + D: 'gtceu:long_treated_wood_rod', + E: '#create:seats', + F: 'gtceu:black_steel_rotor', + G: 'greate:rubber_belt_connector', + H: 'create:steam_engine' + }).id('tfg:man_of_many_planes/mechanical_crafter/economy_plane'); + + event.recipes.create.mechanical_crafting('immersive_aircraft:biplane',[ + ' A ', + 'BBBCBBB', + ' BDB ', + ' BBB ', + ' B ', + ' E ', + ' BEB ', + ' B ' + ],{ + A: 'immersive_aircraft:enhanced_propeller', + B: 'immersive_aircraft:hull', + C: 'immersive_aircraft:steel_boiler', + D: 'man_of_many_planes:economy_plane', + E: '#minecraft:logs' + }).id('tfg:immersive_aircraft/mechanical_crafter/biplane') + + event.recipes.create.mechanical_crafting('man_of_many_planes:scarlet_biplane',[ + ' A ', + ' B ', + 'CCCDEDCCC', + ' F DDD F ', + ' CCDGDCC ', + ' H ', + ' CHC ', + ' C ' + ],{ + A: 'immersive_aircraft:enhanced_propeller', + B: 'immersive_aircraft:nether_engine', + C: 'immersive_aircraft:hull', + D: 'gtceu:red_steel_plate', + E: 'immersive_aircraft:biplane', + F: 'gtceu:black_steel_rod', + G: '#create:seats', + H: 'tfc:metal/ingot/red_steel' + }).id('tfg:man_of_many_planes/mechanical_crafter/scarlet_biplane') + +//#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/immersive_aircraft/tags.js b/kubejs/server_scripts/immersive_aircraft/tags.js new file mode 100644 index 000000000..7997a1fe5 --- /dev/null +++ b/kubejs/server_scripts/immersive_aircraft/tags.js @@ -0,0 +1,9 @@ +/** + * + * @param {TagEvent.Item} evt + */ +const registerImmersiveAircraftItemTags = (evt) => +{ + evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:propeller'); + evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:boiler') +} \ No newline at end of file diff --git a/kubejs/server_scripts/lootr/loot.js b/kubejs/server_scripts/lootr/loot.js new file mode 100644 index 000000000..ba118d0c8 --- /dev/null +++ b/kubejs/server_scripts/lootr/loot.js @@ -0,0 +1,9 @@ +// priority: 0 + +function registerLootrLoots(event) { + + event.addBlockLootModifier('lootr:lootr_chest') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot('#tfg:default_chests') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 86d2a9e31..0229542f2 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,29 +4,43 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { + registerAdvancedPeripheralsItemTags(event) registerAE2ItemTags(event) + registerAFCItemTags(event) + registerAlekiroofsItemTags(event) + registerAlekishipsItemTags(event) registerAsticorCartsItemTags(event) + registerBeneathItemTags(event) + registerChalkItemTags(event); registerChiselAndBitsItemTags(event) registerComputerCraftItemTags(event) registerCreateItemTags(event) registerCreateAdditionsItemTags(event) registerCreateConnectedItemTags(event) + registerCreatedecoItemTags(event) + registerDiggerHelmetItemTags(event) + registerEndermanOverhaulItemTags(event) registerEveryCompatItemTags(event) + registerExposureItemTags(event) registerExtendedAE2ItemTags(event) registerFirmaCivItemTags(event) registerFirmaLifeItemTags(event) registerFramedBlocksItemTags(event) registerFTBQuestsItemTags(event) + registerGreateItemTags(event) registerGTCEUItemTags(event) registerMegaCellsItemTags(event) registerMinecraftItemTags(event) registerMoreRedItemTags(event) registerHotOrNotItemTags(event) registerRailWaysItemTags(event) + registerRnrItemTags(event) registerSophisticatedBackpacksItemTags(event) registerTFCAmbientalItemTags(event) registerTFCItemTags(event) + registerTFCTextileItemTags(event) registerTFGItemTags(event) + registerVintageImprovementsItemTags(event) }) /** @@ -34,16 +48,21 @@ ServerEvents.tags('item', event => { */ ServerEvents.tags('block', event => { registerAE2BlockTags(event) + registerAFCBlockTags(event) registerAsticorCartsBlockTags(event) + registerBeneathBlockTags(event) registerChiselAndBitsBlockTags(event) registerComputerCraftBlockTags(event) registerCreateBlockTags(event) registerCreateAdditionsBlockTags(event) + registerDomumOrnamentumBlockTags(event) + registerEndermanOverhaulBlockTags(event) registerExtendedAE2BlockTags(event) registerFirmaCivBlockTags(event) registerFirmaLifeBlockTags(event) registerFramedBlocksBlockTags(event) registerFTBQuestsBlockTags(event) + registerGreateBlockTags(event) registerGTCEUBlockTags(event) registerMegaCellsBlockTags(event) registerMinecraftBlockTags(event) @@ -52,16 +71,23 @@ ServerEvents.tags('block', event => { registerRailWaysBlockTags(event) registerSophisticatedBackpacksBlockTags(event) registerTFCBlockTags(event) + registerTFGBlockTags(event) + registerVintageImprovementsBlockTags(event) }) /** * Событие регистрации жидкость-тэгов. */ ServerEvents.tags('fluid', event => { + registerAFCFluidTags(event) registerCreateFluidTags(event) registerCreateAdditionsFluidTags(event) - registerFirmaLifeBlockTags(event) + registerGTCEUFluidTags(event) + registerGreateFluidTags(event) + registerFirmaLifeFluidTags(event) registerTFCFluidTags(event) + registerTFGFluidTags(event) + registerVintageImprovementsFluidTags(event) }) /** @@ -70,6 +96,11 @@ ServerEvents.tags('fluid', event => { ServerEvents.tags('worldgen/placed_feature', event => { registerFirmaLifePlacedFeatures(event) registerTFCPlacedFeatures(event) + registerTFGPlacedFeatures(event) +}) + +ServerEvents.tags('worldgen/biome', event => { + registerTFGBiomeTags(event) }) /** @@ -85,9 +116,12 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { + registerTFCDataForArborFirmaCraft(event) + registerTFCDataForChalk(event); registerTFCDataForGTCEU(event) + registerTFCDataForImmersiveAircraft(event); registerTFCDataForTFC(event) - registerTFCDataForTreeTap(event) + registerTFCDataForTFCBetterBF(event) registerTFCDataForWaterFlasks(event) }) @@ -97,6 +131,7 @@ TFCEvents.data(event => { */ LootJS.modifiers((event) => { registerGTCEULoots(event) + registerLootrLoots(event) }); /** @@ -104,7 +139,7 @@ LootJS.modifiers((event) => { * Не представляю когда срабатывает, но явно после тегов и датапаков. */ GTCEuServerEvents.oreVeins(event => { - // event.removeAll() + event.removeAll() }) /** @@ -112,16 +147,32 @@ GTCEuServerEvents.oreVeins(event => { * Срабатывает после инициализации датапаков и тегов. */ ServerEvents.recipes(event => { + registerAdvancedPeripheralsRecipes(event) + registerAdvancedPeripheralsRecyclingRecipes(event) + registerAlekishipsRecipes(event) registerAE2Recipes(event) + registerAFCRecipes(event) registerAsticorCartsRecipes(event) registerAE2InsertExportCardRecipes(event) registerAE2NetworkAnalyzerRecipes(event) registerAE2WTLibRecipes(event) + registerBeneathRecipes(event) + registerBuildingGadgetsRecipes(event) + registerChalkRecipes(event); registerChiselAndBitsRecipes(event) + registerComfortsRecipes(event); registerComputerCraftRecipes(event) + registerComputerCraftRecyclingRecipes(event) + registerCccBridgeRecipes(event) + registerCccBridgeRecyclingRecipes(event) + registerConstructionwandRecipes(event) registerCreateRecipes(event) registerCreateAdditionsRecipes(event) registerCreateConnectedRecipes(event) + registerCreatedecoRecipes(event) + registerCreateHorsePowerBlockRecipes(event) + registerDiggerHelmetRecipes(event) + registerDomumOrnamentumRecipes(event) registerEveryCompatRecipes(event) registerExtendedAE2Recipes(event) registerExposureRecipes(event) @@ -130,20 +181,28 @@ ServerEvents.recipes(event => { registerFirmaLifeRecipes(event) registerFramedBlocksRecipes(event) registerFTBQuestsRecipes(event) + registerGrapplingHookRecipes(event); + registerGreateRecipes(event) registerGTCEURecipes(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) + registerImmersiveAircraftRecipes(event) + registerMeasurementsRecipes(event) registerMegaCellsRecipes(event) registerMERequesterRecipes(event) registerMinecraftRecipes(event) registerMoreRedRecipes(event) registerRailWaysRecipes(event) + registerRnrRecipes(event) registerSophisticatedBackpacksRecipes(event) + registerSimplylightRecipes(event) registerTfceaRecipes(event) registerTFCRecipes(event) + registerTFCBetterBFRecipes(event) registerTFGRecipes(event) registerTFCGroomingStationRecipes(event) registerToolBeltRecipes(event) registerTreeTapRecipes(event) + registerVintageImprovementsRecipes(event) registerWaterFlasksRecipes(event) -}) +}) \ No newline at end of file diff --git a/kubejs/server_scripts/measurements/recipes.js b/kubejs/server_scripts/measurements/recipes.js new file mode 100644 index 000000000..aa8bf4818 --- /dev/null +++ b/kubejs/server_scripts/measurements/recipes.js @@ -0,0 +1,30 @@ +const registerMeasurementsRecipes = (event) => { + + event.remove({ mod: 'measurements' }) + + event.shaped('1x measurements:tape_measure', [ + 'ABD', + 'BED', + 'CBB' + ], { + A: '#forge:plates/rubber', + B: '#forge:foils/steel', + C: '#forge:ingots/rubber', + D: '#forge:plates/brass', + E: '#forge:springs/steel' + }).id('measurements:shapeless/tape_measure') + + event.recipes.gtceu.arc_furnace('measurements:arc_furnace/recycling/tape_measure') + .itemInputs('1x measurements:tape_measure') + .itemOutputs('1x gtceu:steel_ingot', '1x create:brass_ingot', '1x gtceu:rubber_ingot') + .duration(224) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('measurements:macerator/recycling/tape_measure') + .itemInputs('1x measurements:tape_measure') + .itemOutputs('1x gtceu:steel_dust', '1x gtceu:brass_dust', '1x gtceu:rubber_dust') + .duration(224) + .EUt(7) + .category(GTRecipeCategories.MACERATOR_RECYCLING) +} \ No newline at end of file diff --git a/kubejs/server_scripts/mega_cells/recipes.js b/kubejs/server_scripts/mega_cells/recipes.js index 44046e0b7..ba3a93c66 100644 --- a/kubejs/server_scripts/mega_cells/recipes.js +++ b/kubejs/server_scripts/mega_cells/recipes.js @@ -26,7 +26,7 @@ const registerMegaCellsRecipes = (event) => { // Inscrdiber Silicon Press event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_iron') - .itemInputs('#forge:plates/iron', 'ae2:singularity') + .itemInputs('#forge:plates/cast_iron', 'ae2:singularity') .notConsumable('#forge:lenses/black') .itemOutputs('megacells:accumulation_processor_press') .duration(6000) diff --git a/kubejs/server_scripts/minecraft/recipes.dyes.js b/kubejs/server_scripts/minecraft/recipes.dyes.js new file mode 100644 index 000000000..f9e86f01d --- /dev/null +++ b/kubejs/server_scripts/minecraft/recipes.dyes.js @@ -0,0 +1,240 @@ +// priority: 0 + +function registerMinecraftDyeRecipes(event) { + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.remove({ id: `minecraft:dye_${dye}_wool` }) + event.remove({ id: `minecraft:${dye}_candle` }) + event.remove({ id: `minecraft:dye_${dye}_carpet` }) + event.remove({ id: `minecraft:${dye}_bed` }) + event.remove({ id: `minecraft:dye_${dye}_bed` }) + + //#region Выход: Ковры, Кровати + + event.shapeless(`2x minecraft:${dye}_carpet`, [ + '#tfc:saws', + `minecraft:${dye}_wool` + ]).id(`minecraft:${dye}_carpet`) + + if (dye != 'white') { + event.recipes.gtceu.chemical_bath(`tfg:${dye}_carpet`) + .itemInputs(`minecraft:white_carpet`) + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`minecraft:${dye}_carpet`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`${dye}_bed`) + .itemInputs(`minecraft:white_bed`) + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 216)) + .itemOutputs(`minecraft:${dye}_bed`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + } + + //#endregion + }) + + // White + event.remove({ id: 'minecraft:white_dye_from_lily_of_the_valley' }) + event.remove({ id: 'gtceu:extractor/lily_of_the_valley_dye' }) + + event.recipes.gtceu.extractor('white_dye') + .itemInputs('1x #tfc:makes_white_dye') + .itemOutputs('2x minecraft:white_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye') + .id('tfg:milling/white_dye') + + // Red + event.remove({ id: 'minecraft:red_dye_from_tulip' }) + event.remove({ id: 'minecraft:red_dye_from_rose_bush' }) + event.remove({ id: 'minecraft:red_dye_from_poppy' }) + event.remove({ id: 'minecraft:red_dye_from_beetroot' }) + event.remove({ id: 'gtceu:extractor/rose_bush_dye' }) + event.remove({ id: 'gtceu:extractor/red_tulip_dye' }) + event.remove({ id: 'gtceu:extractor/poppy_dye' }) + event.remove({ id: 'gtceu:extractor/beetroot_dye' }) + + event.recipes.gtceu.extractor('red_dye') + .itemInputs('1x #tfc:makes_red_dye') + .itemOutputs('2x minecraft:red_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye') + .id('tfg:milling/red_dye') + + // Lime + event.remove({ id: 'minecraft:lime_dye_from_smelting' }) + + event.recipes.gtceu.extractor('lime_dye') + .itemInputs('1x tfc:plant/moss') + .itemOutputs('2x minecraft:lime_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye') + .id('tfg:milling/lime_dye') + + // Light Blue + event.remove({ id: 'minecraft:light_blue_dye_from_blue_orchid' }) + event.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + + event.recipes.gtceu.extractor('light_blue_dye') + .itemInputs('1x #tfc:makes_light_blue_dye') + .itemOutputs('2x minecraft:light_blue_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye') + .id('tfg:milling/light_blue_dye') + + // Green + event.remove({ id: 'minecraft:green_dye' }) + + event.recipes.gtceu.extractor('green_dye') + .itemInputs('1x #tfc:makes_green_dye') + .itemOutputs('2x minecraft:green_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye') + .id('tfg:milling/green_dye') + + // Magenta + event.remove({ id: 'minecraft:magenta_dye_from_lilac' }) + event.remove({ id: 'minecraft:magenta_dye_from_allium' }) + event.remove({ id: 'gtceu:extractor/lilac_dye' }) + event.remove({ id: 'gtceu:extractor/allium_dye' }) + + event.recipes.gtceu.extractor('magenta_dye') + .itemInputs('1x #tfc:makes_magenta_dye') + .itemOutputs('2x minecraft:magenta_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye') + .id('tfg:milling/magenta_dye') + + // Orange + event.remove({ id: 'minecraft:orange_dye_from_torchflower' }) + event.remove({ id: 'minecraft:orange_dye_from_orange_tulip' }) + event.remove({ id: 'gtceu:extractor/orange_tulip_dye' }) + + event.recipes.gtceu.extractor('orange_dye') + .itemInputs('1x #tfc:makes_orange_dye') + .itemOutputs('2x minecraft:orange_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') + .id('tfg:milling/orange_dye') + + // Purple + event.recipes.gtceu.extractor('purple_dye') + .itemInputs('1x #tfc:makes_purple_dye') + .itemOutputs('2x minecraft:purple_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') + .id('tfg:milling/purple_dye') + + // Brown + event.remove({ id: 'minecraft:brown_dye' }) + + event.recipes.gtceu.extractor('brown_dye') + .itemInputs('1x #tfc:makes_brown_dye') + .itemOutputs('2x minecraft:brown_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye') + .id('tfg:milling/brown_dye') + + // Light Gray + event.remove({ id: 'minecraft:light_gray_dye_from_white_tulip' }) + event.remove({ id: 'minecraft:light_gray_dye_from_azure_bluet' }) + event.remove({ id: 'minecraft:light_gray_dye_from_oxeye_daisy' }) + event.remove({ id: 'gtceu:extractor/white_tulip_dye' }) + event.remove({ id: 'gtceu:extractor/azure_bluet_dye' }) + event.remove({ id: 'gtceu:extractor/oxeye_daisy_dye' }) + + event.recipes.gtceu.extractor('light_gray_dye') + .itemInputs('1x tfc:plant/yucca') + .itemOutputs('2x minecraft:light_gray_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye') + .id('tfg:milling/light_gray_dye') + + // Yellow + event.remove({ id: 'minecraft:yellow_dye_from_sunflower' }) + event.remove({ id: 'minecraft:yellow_dye_from_dandelion' }) + event.remove({ id: 'gtceu:extractor/sunflower_dye' }) + event.remove({ id: 'gtceu:extractor/dandelion_dye' }) + + event.recipes.gtceu.extractor('yellow_dye') + .itemInputs('1x #tfc:makes_yellow_dye') + .itemOutputs('2x minecraft:yellow_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye') + .id('tfg:milling/yellow_dye') + + // Blue + event.remove({ id: 'minecraft:blue_dye_from_cornflower' }) + event.remove({ id: 'gtceu:extractor/cornflower_dye' }) + + event.recipes.gtceu.extractor('blue_dye') + .itemInputs('1x #tfc:makes_blue_dye') + .itemOutputs('2x minecraft:blue_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye') + .id('tfg:milling/blue_dye') + + // Pink + event.remove({ id: 'minecraft:pink_dye_from_pink_petals' }) + event.remove({ id: 'minecraft:pink_dye_from_pink_tulip' }) + event.remove({ id: 'minecraft:pink_dye_from_peony' }) + event.remove({ id: 'gtceu:extractor/pink_tulip_dye' }) + event.remove({ id: 'gtceu:extractor/peony_dye' }) + + event.recipes.gtceu.extractor('pink_dye') + .itemInputs('1x #tfc:makes_pink_dye') + .itemOutputs('2x minecraft:pink_dye') + .duration(200) + .EUt(2) + + event.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye') + .id('tfg:milling/pink_dye') + + // Cyan + event.remove({ id: 'minecraft:cyan_dye_from_pitcher_plant' }) + + // Black + event.remove({ id: 'minecraft:black_dye_from_wither_rose' }) + event.remove({ id: 'gtceu:extractor/wither_rose_dye' }) + + + //#region Выход: Кровати + + event.recipes.gtceu.chemical_bath(`bed_decolor`) + .itemInputs('#tfc:colored_bed') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs(`minecraft:white_bed`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index ac091f9c6..3f5a24b2e 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,3223 +1,794 @@ // priority: 0 +/** + * + * @param {Internal.RecipesEventJS} event + */ const registerMinecraftRecipes = (event) => { - - //#region Выход: Камень - event.remove({ id: 'minecraft:stone' }) - event.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) - event.remove({ id: 'gtceu:compressor/stone_from_dust' }) - event.remove({ id: 'gtceu:rock_breaker/stone' }) - - //#endregion + removeMinecraftRecipes(event) + registerMinecraftDyeRecipes(event) + + //#region Выход: Земля + + event.recipes.gtceu.macerator('dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) + + //#endregion + + //#region Выход: Стекло + + event.recipes.gtceu.arc_furnace('glass_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('2x minecraft:glass') + .duration(20) + .EUt(30) + + //#endregion + + //#region Добавление + + for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { + let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; + + // Создание ржавчины + if (i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { + + let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] + + event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) + .itemInputs(element.block) + .inputFluids(Fluid.of('minecraft:water', 150)) + .circuit(1) + .itemOutputs(element2.block) + .duration(1000) + .EUt(4) + + event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) + .itemInputs(element.cutted) + .inputFluids(Fluid.of('minecraft:water', 150)) + .circuit(1) + .itemOutputs(element2.cutted) + .duration(1000) + .EUt(4) + + event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) + .itemInputs(element.stairs) + .inputFluids(Fluid.of('minecraft:water', 150)) + .circuit(1) + .itemOutputs(element2.stairs) + .duration(1000) + .EUt(4) + + event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) + .itemInputs(element.slabs) + .inputFluids(Fluid.of('minecraft:water', 150)) + .circuit(1) + .itemOutputs(element2.slabs) + .duration(1000) + .EUt(4) + } else if (i > global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { + let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i - global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2] + + event.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) + .itemInputs(element2.block, '#forge:wax') + .circuit(1) + .itemOutputs(element.block) + .duration(50) + .EUt(4) + + event.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) + .itemInputs(element2.cutted, '#forge:wax') + .circuit(1) + .itemOutputs(element.cutted) + .duration(50) + .EUt(4) + + event.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) + .itemInputs(element2.stairs, '#forge:wax') + .circuit(1) + .itemOutputs(element.stairs) + .duration(50) + .EUt(4) + + event.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) + .itemInputs(element2.slabs, '#forge:wax') + .circuit(1) + .itemOutputs(element.slabs) + .duration(50) + .EUt(4) + } + + // Обрезанный блок + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x ' + element.cutted, [element.block, '#tfc:chisels']) + ).id(`tfg:shapeless/cutted_${element.name}`) + } + + //#endregion + + //#endregion + + //#region Выход: Кремний + + event.shapeless('minecraft:flint', [ + '#tfc:rock/gravel', + '#forge:tools/mortars' + ]).id('gtceu:shapeless/gravel_to_flint') + + event.recipes.gtceu.sifter('gravel_sifting') + .itemInputs('#tfc:rock/gravel') + .itemOutputs('minecraft:flint') + .chancedOutput('minecraft:flint', 9000, 0) + .chancedOutput('minecraft:flint', 8000, 0) + .chancedOutput('minecraft:flint', 6000, 0) + .chancedOutput('minecraft:flint', 3300, 0) + .chancedOutput('minecraft:flint', 2500, 0) + .duration(100) + .EUt(16) + + //#endregion + + //#region Выход: Шаблон баннера + + event.shapeless('minecraft:flower_banner_pattern', [ + 'minecraft:paper', + '#forge:dyes/white' + ]).id('minecraft:flower_banner_pattern') + + //#endregion + + //#region Выход: Бумага + + event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs('minecraft:paper') + .duration(100) + .EUt(7) + + event.recipes.gtceu.chemical_bath('paper_from_papyrus') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('minecraft:paper') + .duration(100) + .EUt(7) + + //#endregion + + //#region Выход: Сахар + + event.recipes.gtceu.centrifuge('sugar_from_sugarcane') + .itemInputs('tfc:food/sugarcane') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('minecraft:sugar') + .duration(800) + .EUt(6) + + event.recipes.gtceu.centrifuge('sugar_from_honey') + .itemInputs('firmalife:raw_honey') + .itemOutputs('minecraft:sugar') + .duration(400) + .EUt(6) + + //#endregion + + //#region Выход: Блок сена + + event.recipes.gtceu.packer('hay_block') + .itemInputs('9x tfc:straw') + .itemOutputs('minecraft:hay_block') + .duration(200) + .EUt(2) + + //#endregion - //#region Выход: Каменная ступень + //#region Выход: Светильник Джека - event.remove({ id: 'minecraft:stone_stairs' }) - event.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + event.recipes.gtceu.canner('jack_o_lantern') + .itemInputs('tfc:pumpkin') + .itemOutputs('tfc:jack_o_lantern') + .duration(100) + .EUt(4) - //#endregion + //#endregion + + //#region Выход: Светящийся арбуз - //#region Выход: Каменная плита + event.shaped('minecraft:glistering_melon_slice', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: '#forge:nuggets/gold', + B: 'tfc:food/melon_slice' + }).id('minecraft:glistering_melon_slice') + + event.recipes.gtceu.chemical_reactor('glistening_melon_slice') + .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') + .itemOutputs('minecraft:glistering_melon_slice') + .duration(50) + .EUt(30) + + event.recipes.gtceu.large_chemical_reactor('glistening_melon_slice') + .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') + .itemOutputs('minecraft:glistering_melon_slice') + .duration(50) + .EUt(30) + + //#endregion + + //#region Выход: Сухая губка + + event.recipes.tfc.heating('minecraft:wet_sponge', 790) + .resultItem('minecraft:sponge') + .id('tfg:minecraft/heating/sponge') + + //#endregion + + //#region Выход: Тонированное стекло + + event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass') + .itemInputs('minecraft:glass', 'tfc:powder/amethyst') + .itemOutputs('minecraft:tinted_glass') + .duration(260) + .EUt(16) + + //#endregion + + //#region Выход: Пустая карта + + event.recipes.gtceu.assembler('map') + .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') + .itemOutputs('minecraft:map') + .duration(100) + .EUt(4) + + //#endregion + + //#region Выход: Книга + + event.shapeless('minecraft:book', [ + 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', '#forge:leather' + ]).id('minecraft:book') + + //#endregion - event.remove({ id: 'minecraft:stone_slab' }) - event.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + //#region Выход: Золотое яблоко - //#endregion + event.recipes.gtceu.chemical_reactor('golden_apple') + .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .duration(50) + .EUt(30) + + event.recipes.gtceu.large_chemical_reactor('golden_apple') + .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .duration(50) + .EUt(30) + + event.recipes.gtceu.chemical_reactor('golden_apple_1') + .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .duration(50) + .EUt(30) + + event.recipes.gtceu.large_chemical_reactor('golden_apple_1') + .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .duration(50) + .EUt(30) + + //#endregion + + //#region Выход: Компаратор + + // Компаратор + event.shaped('minecraft:comparator', [ + ' A ', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:gems/certus_quartz', + C: '#tfc:rock/smooth' + }).id('tfg:shaped/comparator_certus'); + + event.shaped('minecraft:comparator', [ + ' A ', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:gems/quartzite', + C: '#tfc:rock/smooth' + }).id('tfg:shaped/comparator_quartzite'); + + event.shaped('minecraft:comparator', [ + ' A ', + 'ABA', + 'CCC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:gems/nether_quartz', + C: '#tfc:rock/smooth' + }).id('tfg:shaped/comparator_nether_quartz'); + + //#endregion + + //#region Выход: Рамка + + event.recipes.gtceu.assembler('item_frame') + .itemInputs('8x #tfc:lumber', '#forge:leather') + .itemOutputs('8x minecraft:item_frame') + .duration(100) + .EUt(4) + + //#endregion + + //#region Выход: Свето-рамка + + event.shapeless('minecraft:glow_item_frame', [ + 'minecraft:item_frame', + '#forge:dusts/glowstone' + ]).id('minecraft:glow_item_frame') + + event.recipes.gtceu.assembler('tfg/glow_item_frame') + .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') + .itemOutputs('2x minecraft:glow_item_frame') + .duration(100) + .EUt(4) + + //#endregion + + //#region Выход: Картина + + event.recipes.gtceu.assembler('painting') + .itemInputs('#tfc:high_quality_cloth', '8x #forge:rods/wood') + .itemOutputs('2x minecraft:painting') + .circuit(1) + .duration(100) + .EUt(4) + + //#endregion + + //#region Выход: Факел + + //#region В Верстаке + + // Из серы + event.shaped('2x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sulfur_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_sulfur') + + // Из фосфора + event.shaped('6x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:phosphorus_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_phosphorus') + + // Из пыли кокса + event.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_coke_dust') + + // Из гема кокса + event.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_gem', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_coke') + + // Из пыли угля + event.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_coal_dust') + + // Из гема угля + event.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:coal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:crafting/torch_coal') + + // Из пыли древесного угля + event.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:charcoal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/torch_charcoal_dust') + + // Из гема древесного угля + event.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:charcoal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:crafting/torch_charcoal') + + // Из резины + event.shaped('3x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sticky_resin', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/sticky_resin_torch') + + //#endregion + + //#region В сборщике + + // Из серы + event.recipes.gtceu.assembler('torch_sulfur') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:sulfur_dust') + .itemOutputs('2x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из фосфора + event.recipes.gtceu.assembler('torch_phosphorus') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:phosphorus_dust') + .itemOutputs('6x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из гема кокса + event.recipes.gtceu.assembler('torch_coke_gem') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_gem') + .itemOutputs('8x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из пыли кокса + event.recipes.gtceu.assembler('torch_coke_dust') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_dust') + .itemOutputs('8x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из гема ванильного угля + event.recipes.gtceu.assembler('torch_coal') + .itemInputs('#tfc:can_be_lit_on_torch', 'minecraft:coal') + .itemOutputs('4x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из пыли ванильного угля + event.recipes.gtceu.assembler('torch_coal_dust') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coal_dust') + .itemOutputs('4x tfc:dead_torch') + .duration(100) + .EUt(1) + + // Из пыли древесного угля + event.recipes.gtceu.assembler('torch_charcoal_dust') + .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:charcoal_dust') + .itemOutputs('4x tfc:dead_torch') + .duration(100) + .EUt(1) + + + //#endregion + + // Мертвый факел в обычный + event.smelting('tfc:torch', 'tfc:dead_torch') + .id('tfg:smelting/dead_torch_to_torch') + + //#endregion + + //#region Выход: Ведро + + event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + .id('tfg:anvil/vanilla_bucket') + + event.recipes.gtceu.assembler('tfg:vanilla/bucket') + .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') + .circuit(6) + .itemOutputs('minecraft:bucket') + .duration(100) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:vanilla/bucket2') + .itemInputs('2x #forge:plates/stainless_steel') + .circuit(7) + .itemOutputs('minecraft:bucket') + .duration(100) + .EUt(16) + + //#endregion + + //#region Выход: Тигель + + event.shaped('minecraft:cauldron', [ + 'A A', + 'ABA', + 'AAA' + ], { + A: '#forge:plates/cast_iron', + B: '#tfc:hammers' + }).id('gtceu:shaped/cauldron') + + event.recipes.gtceu.assembler('cauldron') + .itemInputs('7x #forge:plates/cast_iron') + .circuit(10) + .itemOutputs('minecraft:cauldron') + .duration(700) + .EUt(4) + + //#endregion + + //#region Выход: Воронка + + event.shaped('minecraft:hopper', [ + 'A A', + 'ABA', + 'DAE' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:chests/wooden', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers', + }).id('gtceu:shaped/hopper') + + event.recipes.gtceu.assembler('hopper_wrought_iron') + .itemInputs('#forge:chests', '5x #forge:plates/wrought_iron') + .itemOutputs('minecraft:hopper') + .duration(700) + .EUt(2) + + //#endregion + + //#region Выход: Поршень + + event.recipes.gtceu.assembler('piston') + .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') + .itemOutputs('4x minecraft:piston') + .duration(100) + .EUt(16) + + //#endregion + + + //#region Выход: Шерсть + + event.recipes.gtceu.assembler('wool_from_string') + .itemInputs('8x #forge:string') + .circuit(4) + .itemOutputs('minecraft:white_wool') + .duration(100) + .EUt(4) + + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.remove({ id: `minecraft:dye_${dye}_wool` }) + }) + + //#endregion - //#region Выход: Каменная нажимная плила + //#region Выход: Лук - event.remove({ id: 'minecraft:stone_pressure_plate' }) - - //#endregion - - //#region Выход: Каменная кнопка - - event.remove({ id: 'minecraft:stone_button' }) - - //#endregion - - //#region Выход: Гладкий камень - - event.remove({ id: 'minecraft:smooth_stone' }) - - //#endregion - - //#region Выход: Гладкий камень плита - - event.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) - event.remove({ id: 'minecraft:smooth_stone_slab' }) - event.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник - - event.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) - event.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) - event.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) - event.remove({ id: 'gtceu:rock_breaker/cobblestone' }) - - //#endregion - - //#region Выход: Булыжник ступень - - event.remove({ id: 'minecraft:cobblestone_stairs' }) - event.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник плита - - event.remove({ id: 'minecraft:cobblestone_slab' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) - event.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник стена - - event.remove({ id: 'minecraft:cobblestone_wall' }) - event.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи - - event.remove({ id: 'minecraft:stone_bricks' }) - event.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи ступень - - event.remove({ id: 'minecraft:stone_brick_stairs' }) - event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи плита - - event.remove({ id: 'minecraft:stone_brick_slab' }) - event.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) - event.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи стена - - event.remove({ id: 'minecraft:stone_brick_wall' }) - event.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Поломанные каменные кирпичи - - event.remove({ id: 'minecraft:cracked_stone_bricks' }) - event.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) - event.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) - - //#endregion - - //#region Выход: Резные каменные кирпичи - - event.remove({ id: 'minecraft:chiseled_stone_bricks' }) - event.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) - event.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи - - event.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) - event.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) - event.remove({ id: 'gtceu:assembler/mossy_stone_bricks' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи ступень - - event.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) - event.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи плита - - event.remove({ id: 'minecraft:mossy_stone_brick_slab' }) - event.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи стена - - event.remove({ id: 'minecraft:mossy_stone_brick_wall' }) - event.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник - - event.remove({ id: 'minecraft:mossy_cobblestone_from_vine' }) - event.remove({ id: 'minecraft:mossy_cobblestone_from_moss_block' }) - event.remove({ id: 'gtceu:assembler/mossy_cobblestone' }) - - //#endregion - - //#region Выход: Замшелый булыжник ступень - - event.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) - event.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник плита - - event.remove({ id: 'minecraft:mossy_cobblestone_slab' }) - event.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник стена - - event.remove({ id: 'minecraft:mossy_cobblestone_wall' }) - event.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит - - event.remove({ id: 'minecraft:granite' }) - event.remove({ id: 'gtceu:rock_breaker/granite' }) - - //#endregion - - //#region Выход: Сырой гранит ступень - - event.remove({ id: 'minecraft:granite_stairs' }) - event.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит плита - - event.remove({ id: 'minecraft:granite_slab' }) - event.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит стена - - event.remove({ id: 'minecraft:granite_wall' }) - event.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный гранит - - event.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит ступень - - event.remove({ id: 'minecraft:polished_granite_stairs' }) - event.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) - event.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит плита - - event.remove({ id: 'minecraft:polished_granite_slab' }) - event.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) - event.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит - - event.remove({ id: 'minecraft:diorite' }) - event.remove({ id: 'gtceu:rock_breaker/diorite' }) - - //#endregion - - //#region Выход: Сырой диорит ступень - - event.remove({ id: 'minecraft:diorite_stairs' }) - event.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит плита - - event.remove({ id: 'minecraft:diorite_slab' }) - event.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит стена - - event.remove({ id: 'minecraft:diorite_wall' }) - event.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный диорит - - event.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит ступень - - event.remove({ id: 'minecraft:polished_diorite_stairs' }) - event.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) - event.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит плита - - event.remove({ id: 'minecraft:polished_diorite_slab' }) - event.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) - event.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит - - event.remove({ id: 'minecraft:andesite' }) - event.remove({ id: 'gtceu:rock_breaker/andesite' }) - - //#endregion - - //#region Выход: Сырой андезит ступень - - event.remove({ id: 'minecraft:andesite_stairs' }) - event.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит плита - - event.remove({ id: 'minecraft:andesite_slab' }) - event.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит стена - - event.remove({ id: 'minecraft:andesite_wall' }) - event.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный андезит - - event.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит ступень - - event.remove({ id: 'minecraft:polished_andesite_stairs' }) - event.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) - event.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит плита - - event.remove({ id: 'minecraft:polished_andesite_slab' }) - event.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) - event.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин - - event.remove({ id: 'gtceu:packer/prismarine' }) - - //#endregion - - //#region Выход: Светильник моря - - event.remove({ id: 'minecraft:sea_lantern' }) - event.remove({ id: 'gtceu:assembler/sea_lantern' }) - - //#endregion - - //#region Выход: Сырой призмарин ступень - - event.remove({ id: 'minecraft:prismarine_stairs' }) - event.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин плита - - event.remove({ id: 'minecraft:prismarine_slab' }) - event.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин стена - - event.remove({ id: 'minecraft:prismarine_wall' }) - event.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Призмариновый кирпич - - event.remove({ id: 'gtceu:packer/prismarine_bricks' }) - - //#endregion - - //#region Выход: Призмариновый кирпич ступень - - event.remove({ id: 'minecraft:prismarine_brick_stairs' }) - event.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Призмариновый кирпич плита - - event.remove({ id: 'minecraft:prismarine_brick_slab' }) - event.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Темный призмарин - - event.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) - - //#endregion - - //#region Выход: Темный призмарин ступень - - event.remove({ id: 'minecraft:dark_prismarine_stairs' }) - event.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Темный призмарин плита - - event.remove({ id: 'minecraft:dark_prismarine_slab' }) - event.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич - - event.remove({ id: 'minecraft:end_stone_bricks' }) - event.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич ступень - - event.remove({ id: 'minecraft:end_stone_brick_stairs' }) - event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич плита - - event.remove({ id: 'minecraft:end_stone_brick_slab' }) - event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич стена - - event.remove({ id: 'minecraft:end_stone_brick_wall' }) - event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Сланец - - event.remove({ id: 'minecraft:deepslate' }) - - //#endregion - - //#region Выход: Сланцевый булыжник - - event.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) - event.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) - - //#endregion - - //#region Выход: Сланцевый булыжник ступень - - event.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) - event.remove({ id: 'minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевый булыжник плита - - event.remove({ id: 'minecraft:cobbled_deepslate_slab' }) - event.remove({ id: 'minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевый булыжник стена - - event.remove({ id: 'minecraft:cobbled_deepslate_wall' }) - event.remove({ id: 'minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец - - event.remove({ id: 'minecraft:deepslate_tiles' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец ступень - - event.remove({ id: 'minecraft:deepslate_tile_stairs' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец плита - - event.remove({ id: 'minecraft:deepslate_tile_slab' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) - - - //#endregion - - //#region Выход: Ячеистый сланец стена - - event.remove({ id: 'minecraft:deepslate_tile_wall' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) - - - //#endregion - - //#region Выход: Сланцевые кирпичи - - event.remove({ id: 'minecraft:deepslate_bricks' }) - event.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи ступень - - event.remove({ id: 'minecraft:deepslate_brick_stairs' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи плита - - event.remove({ id: 'minecraft:deepslate_brick_slab' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи стена - - event.remove({ id: 'minecraft:deepslate_brick_wall' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец - - event.remove({ id: 'minecraft:polished_deepslate' }) - event.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец ступень - - event.remove({ id: 'minecraft:polished_deepslate_stairs' }) - event.remove({ id: 'minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец плита - - event.remove({ id: 'minecraft:polished_deepslate_slab' }) - event.remove({ id: 'minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец стена - - event.remove({ id: 'minecraft:polished_deepslate_wall' }) - event.remove({ id: 'minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшийся ячеистый сланец - - event.remove({ id: 'minecraft:cracked_deepslate_tiles' }) - - //#endregion - - //#region Выход: Резной сланец - - event.remove({ id: 'minecraft:chiseled_deepslate' }) - event.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшиеся сланцевые кирпичи - - event.remove({ id: 'minecraft:cracked_deepslate_bricks' }) - - //#endregion - - //#region Выход: Базальт - - event.remove({ id: 'gtceu:rock_breaker/deepslate' }) - - //#endregion - - //#region Выход: Уголь - - event.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) - - event.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) - - //#endregion - - //#region Выход: Медь - - event.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) - event.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) - - event.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) - event.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) - - //#endregion - - //#region Выход: Железо - - event.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) - event.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) - - event.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) - event.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) - - //#endregion - - //#region Выход: Лазурит - - event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) - event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) - - event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) - event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) - - //#endregion - - //#region Выход: Золото - - event.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) - - event.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) - - //#endregion - - //#region Выход: Золотой самородок - - event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - - event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) - - //#endregion - - //#region Выход: Редстоун - - event.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) - event.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) - - event.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) - event.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) - - //#endregion - - //#region Выход: Изумруды - - event.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) - event.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) - - event.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) - event.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) - - //#endregion - - //#region Выход: Алмазы - - event.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) - event.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) - - event.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) - event.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) - - //#endregion - - //#region Выход: Кварц - - event.remove({ id: 'minecraft:quartz' }) - event.remove({ id: 'minecraft:quartz_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый лом - - event.remove({ id: 'minecraft:netherite_scrap' }) - event.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - event.remove({ id: 'minecraft:netherite_ingot' }) - - //#endregion - - //#region Выход: Песок - - event.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) - event.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) - event.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) - - // TODO: Из пыли лунного грунта - event.remove({ id: 'gtceu:centrifuge/endstone_separation' }) - /* - event.recipes.gtceu.centrifuge('endstone_separation') - .itemInputs('') - .chancedOutput('tfc:sand/yellow', 9000, 300) - .chancedOutput('gtceu:tungstate_small_dust', 1250, 450) - .chancedOutput('gtceu:tiny_platinum_dust', 630, 150) - .outputFluids(Fluid.of('gtceu:helium', 2000)) - .duration(250) - .EUt(30)*/ - - // Декрафт разных блоков в песок - event.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) - - //#endregion - - //#region Выход: Песчанник - - event.remove({ id: 'gtceu:compressor/sandstone' }) - - //#endregion - - //#region Выход: Песчанник ступень - - event.remove({ id: 'minecraft:sandstone_stairs' }) - event.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Песчанник плита - - event.remove({ id: 'minecraft:sandstone_slab' }) - event.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Песчанник стена - - event.remove({ id: 'minecraft:sandstone_wall' }) - event.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий песчанник ступень - - event.remove({ id: 'minecraft:smooth_sandstone_stairs' }) - event.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) - event.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий песчанник плита - - event.remove({ id: 'minecraft:smooth_sandstone_slab' }) - event.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Обрезанный песчанник - - event.remove({ id: 'minecraft:cut_sandstone' }) - event.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Обрезанный песчанник плита - - event.remove({ id: 'minecraft:cut_sandstone_slab' }) - event.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) - event.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Резной песчанник - - event.remove({ id: 'minecraft:chiseled_sandstone' }) - event.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песок - - event.remove({ id: 'gtceu:forge_hammer/smooth_red_sandstone_to_red_sand' }) - event.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) - event.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) - - //#endregion - - //#region Выход: Красный песчанник - - event.remove({ id: 'gtceu:compressor/red_sandstone' }) - - //#endregion - - //#region Выход: Красный песчанник ступень - - event.remove({ id: 'minecraft:red_sandstone_stairs' }) - event.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песчанник плита - - event.remove({ id: 'minecraft:red_sandstone_slab' }) - event.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песчанник стена - - event.remove({ id: 'minecraft:red_sandstone_wall' }) - event.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный гладкий песчанник ступень - - event.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) - event.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный гладкий песчанник плита - - event.remove({ id: 'minecraft:smooth_red_sandstone_slab' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) - event.remove({ id: 'minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный обрезанный песчанник - - event.remove({ id: 'minecraft:cut_red_sandstone' }) - event.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный обрезанный песчанник плита - - event.remove({ id: 'minecraft:cut_red_sandstone_slab' }) - event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) - event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный резной песчанник - - event.remove({ id: 'minecraft:chiseled_red_sandstone' }) - event.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Dripstone - - event.remove({ id: 'minecraft:dripstone_block' }) - - //#endregion - - //#region Выход: Земля - - event.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) // TODO: Сделать с тфк землей - - event.recipes.gtceu.macerator('dirt_from_bio_chaff') - .itemInputs('gtceu:bio_chaff') - .itemOutputs('tfc:dirt/loam') - .duration(300) - .EUt(4) - - //#endregion - - //#region Выход: Высохшая земля - - event.remove({ id: 'gtceu:mixer/mud' }) - event.remove({ id: 'gtceu:mixer/coarse_dirt' }) - event.remove({ id: 'gtceu:create_mixer/mud' }) - event.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) - - //#endregion - - //#region Выход: Гравий - - event.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) - - //#endregion - - //#region Выход: Дерево - - global.VANILLA_WOOD_TYPES.forEach(wood => { - event.remove({ id: `minecraft:${wood}_planks` }) - event.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) - event.remove({ id: `minecraft:stripped_${wood}_log_via_vanilla_stripping` }) - event.remove({ id: `minecraft:stripped_${wood}_wood` }) - event.remove({ id: `minecraft:stripped_${wood}_wood_via_vanilla_stripping` }) - event.remove({ id: `minecraft:${wood}_wood` }) - event.remove({ id: `minecraft:${wood}_slab` }) - event.remove({ id: `minecraft:${wood}_fence` }) - event.remove({ id: `gtceu:assembler/${wood}_fence` }) - event.remove({ id: `minecraft:${wood}_stairs` }) - event.remove({ id: `gtceu:assembler/${wood}_stairs` }) - event.remove({ id: `minecraft:${wood}_button` }) - event.remove({ id: `minecraft:${wood}_pressure_plate` }) - event.remove({ id: `minecraft:${wood}_door` }) - event.remove({ id: `minecraft:${wood}_trapdoor` }) - event.remove({ id: `minecraft:${wood}_fence_gate` }) - event.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) - event.remove({ id: `minecraft:${wood}_sign` }) - event.remove({ id: `minecraft:${wood}_hanging_sign` }) - event.remove({ id: `gtceu:assembler/${wood}_sign` }) - }); - - event.remove({ id: 'minecraft:stripped_warped_hyphae' }) - event.remove({ id: 'minecraft:warped_hyphae' }) - event.remove({ id: 'minecraft:stripped_crimson_hyphae' }) - event.remove({ id: 'minecraft:crimson_hyphae' }) - - //#endregion - - //#region Выход: Камнерез - - event.remove({ id: 'minecraft:stonecutter' }) - - //#endregion - - //#region Выход: Стекло - - event.recipes.gtceu.arc_furnace('glass_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('2x minecraft:glass') - .duration(20) - .EUt(30) - - //#endregion - - //#region Выход: Плотная грязь - - event.remove({ id: 'minecraft:packed_mud' }) - - //#endregion - - //#region Выход: Грязные кирпичи - - event.remove({ id: 'minecraft:mud_bricks' }) - - //#endregion - - //#region Выход: Грязные кирпичи ступень - - event.remove({ id: 'minecraft:mud_brick_stairs' }) - event.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Грязные кирпичи плита - - event.remove({ id: 'minecraft:mud_brick_slab' }) - event.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Грязные кирпичи стена - - event.remove({ id: 'minecraft:mud_brick_wall' }) - event.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Медный блок (Подчищаем за разрабом грега) - - event.remove({ id: 'minecraft:copper_block' }) - - //#endregion - - //#region Выход: Незер кирпич - - event.remove({ id: 'minecraft:nether_bricks' }) - event.remove({ id: 'gtceu:compressor/nether_bricks' }) - - //#endregion - - //#region Выход: Потрескавшийся незер кирпич - - event.remove({ id: 'minecraft:cracked_nether_bricks' }) - - //#endregion - - //#region Выход: Незер ступень - - event.remove({ id: 'minecraft:nether_brick_stairs' }) - event.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер полублок - - event.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) - event.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер стена - - event.remove({ id: 'minecraft:nether_brick_wall' }) - event.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер забор - - event.remove({ id: 'minecraft:nether_brick_fence' }) - event.remove({ id: 'gtceu:assembler/nether_brick_fence' }) - - //#endregion - - //#region Выход: Резной незер кирпич - - event.remove({ id: 'minecraft:chiseled_nether_bricks' }) - event.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Красный незер кирпич - - event.remove({ id: 'minecraft:red_nether_bricks' }) - event.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) - - //#endregion - - //#region Выход: Ступень из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_stairs' }) - event.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полублок из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_slab' }) - event.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Стена из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_wall' }) - event.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Базальт - - event.remove({ id: 'gtceu:rock_breaker/basalt' }) - - //#endregion - - //#region Выход: Гладкий базальт - - event.remove({ id: 'minecraft:smooth_basalt' }) - - //#endregion - - //#region Выход: Полированный базальт - - event.remove({ id: 'minecraft:polished_basalt' }) - event.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) - - //#endregion - - //#region Выход: Черный камень - - event.remove({ id: 'gtceu:rock_breaker/blackstone' }) - - //#endregion - - //#region Выход: Ступень из черного камня - - event.remove({ id: 'minecraft:blackstone_stairs' }) - event.remove({ id: 'minecraft:blackstone_stairs_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Полублок из черного камня - - event.remove({ id: 'minecraft:blackstone_slab' }) - event.remove({ id: 'minecraft:blackstone_slab_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Стена из черного камня - - event.remove({ id: 'minecraft:blackstone_wall' }) - event.remove({ id: 'minecraft:blackstone_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Резной гладкий черный камень - - event.remove({ id: 'minecraft:chiseled_polished_blackstone' }) - event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий черный камень - - event.remove({ id: 'minecraft:polished_blackstone' }) - event.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Ступени из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_stairs' }) - event.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Полублоки из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_slab' }) - event.remove({ id: 'minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Стена из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_wall' }) - event.remove({ id: 'minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Кирпичи из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_bricks' }) - event.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшиеся кирпичи из черного камня - - event.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) - - //#endregion - - //#region Выход: Ступени из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полублоки из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_slab' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Стена из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Нажимная плита из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) - - //#endregion - - //#region Выход: Кнопка из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_button' }) - - //#endregion - - //#region Выход: Медные блоки - - //#region Удаление - - //#region Обычные - - event.remove({ id: 'minecraft:cut_copper' }) - event.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) - - event.remove({ id: 'minecraft:cut_copper_stairs' }) - event.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:cut_copper_stairs_from_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:cut_copper_slab' }) - event.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:cut_copper_slab_from_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper' }) - event.remove({ id: 'minecraft:exposed_cut_copper_from_exposed_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper_slab' }) - event.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper' }) - event.remove({ id: 'minecraft:weathered_cut_copper_from_weathered_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) - event.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper_slab' }) - event.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper_slab' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting' }) - - //#endregion - - //#region В меде - - event.remove({ id: 'minecraft:waxed_copper_block_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper' }) - event.remove({ id: 'minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting' }) - - //#endregion - - //#endregion - - //#region Добавление - - for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { - let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; - - // Создание ржавчины - if (i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { - - let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) - .itemInputs(element.block) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.block) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) - .itemInputs(element.cutted) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.cutted) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) - .itemInputs(element.stairs) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.stairs) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) - .itemInputs(element.slabs) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.slabs) - .duration(1000) - .EUt(4) - } else if (i > global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { - let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i - global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2] - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) - .itemInputs(element2.block, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.block) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) - .itemInputs(element2.cutted, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.cutted) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) - .itemInputs(element2.stairs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.stairs) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) - .itemInputs(element2.slabs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.slabs) - .duration(50) - .EUt(4) - - } - - // Обрезанный блок - - event.stonecutting(element.cutted, element.block) - .id(`tfg:stonecutting/cutted_${element.name}`) - - generateCutterRecipe(event, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) - - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.cutted, element.block, 'smooth') - // .id(`tfg:chisel/cutted_${element.name}`) - - // Ступени - - event.stonecutting(element.stairs, element.cutted) - .id(`tfg:stonecutting/stairs_${element.name}`) - - generateCutterRecipe(event, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) - - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.stair, element.cutted, 'stair') - // .id(`tfg:chisel/stair_${element.name}`) - - // Полублоки - - event.stonecutting(element.slabs, element.cutted) - .id(`tfg:stonecutting/slabs_${element.name}`) - - generateCutterRecipe(event, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) - - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.slab, element.cutted, 'slab') - // .id(`tfg:chisel/slab_${element.name}`) - - } - - //#endregion - - //#endregion - - //#region Выход: Кремний - - event.shapeless('minecraft:flint', [ - '#tfc:rock/gravel', - '#forge:tools/mortars' - ]).id('gtceu:shapeless/gravel_to_flint') - - event.recipes.gtceu.sifter('gravel_sifting') - .itemInputs('#tfc:rock/gravel') - .itemOutputs('minecraft:flint') - .chancedOutput('minecraft:flint', 9000, 0) - .chancedOutput('minecraft:flint', 8000, 0) - .chancedOutput('minecraft:flint', 6000, 0) - .chancedOutput('minecraft:flint', 3300, 0) - .chancedOutput('minecraft:flint', 2500, 0) - .duration(100) - .EUt(16) - - //#endregion - - //#region Выход: Блок глины - - event.remove({ id: 'gtceu:fluid_heater/mud_to_clay' }) - - //#endregion - - //#region Выход: Мангровые корни в грязи - - event.remove({ id: 'minecraft:muddy_mangrove_roots' }) - - //#endregion - - //#region Выход: Ковер из мха - - event.remove({ id: 'minecraft:moss_carpet' }) - - //#endregion - - //#region Выход: Бамбуковые доски - - event.shapeless('2x minecraft:bamboo_planks', [ - '#minecraft:bamboo_blocks', - '#tfc:saws' - ]).id('minecraft:bamboo_planks') - - //#endregion - - //#region Выход: Плот с сундуком из бамбука - - event.remove({ id: 'minecraft:bamboo_chest_raft' }) - - //#endregion - - //#region Выход: Таблички из бамбука - - event.remove({ id: 'minecraft:bamboo_sign' }) - event.remove({ id: 'minecraft:bamboo_hanging_sign' }) - - //#endregion - - //#region Бамбуковая кнопка - - event.shaped('minecraft:bamboo_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wood', - B: '#tfc:hammers', - C: '#tfg:bamboo_slabs', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id(`minecraft:bamboo_pressure_plate`) - - event.recipes.gtceu.assembler(`tfg:minecraft/bamboo_pressure_plate`) - .itemInputs('#forge:springs', '#tfg:bamboo_slabs') - .circuit(0) - .itemOutputs('2x minecraft:bamboo_pressure_plate') - .duration(50) - .EUt(2) - - //#endregion - - //#region Бамбуковая нажимная плита - - event.remove({ id: `minecraft:bamboo_button` }) - - generateCutterRecipe(event, 'minecraft:bamboo_pressure_plate', null, '6x minecraft:bamboo_button', 50, 2, `bamboo_button`) - - //#endregion - - //#region Красители - - // White - event.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - event.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) - - event.recipes.gtceu.extractor('white_dye') - .itemInputs('1x #tfc:makes_white_dye') - .itemOutputs('2x minecraft:white_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye') - .id('tfg:milling/white_dye') - - // Red - event.remove({id: 'minecraft:red_dye_from_tulip'}) - event.remove({id: 'minecraft:red_dye_from_rose_bush'}) - event.remove({id: 'minecraft:red_dye_from_poppy'}) - event.remove({id: 'minecraft:red_dye_from_beetroot'}) - event.remove({id: 'gtceu:extractor/rose_bush_dye'}) - event.remove({id: 'gtceu:extractor/red_tulip_dye'}) - event.remove({id: 'gtceu:extractor/poppy_dye'}) - event.remove({id: 'gtceu:extractor/beetroot_dye'}) - - event.recipes.gtceu.extractor('red_dye') - .itemInputs('1x #tfc:makes_red_dye') - .itemOutputs('2x minecraft:red_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye') - .id('tfg:milling/red_dye') - - // Lime - event.remove({id: 'minecraft:lime_dye_from_smelting'}) - - event.recipes.gtceu.extractor('lime_dye') - .itemInputs('1x tfc:plant/moss') - .itemOutputs('2x minecraft:lime_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye') - .id('tfg:milling/lime_dye') - - // Light Blue - event.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) - event.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - - event.recipes.gtceu.extractor('light_blue_dye') - .itemInputs('1x #tfc:makes_light_blue_dye') - .itemOutputs('2x minecraft:light_blue_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye') - .id('tfg:milling/light_blue_dye') - - // Green - event.remove({id: 'minecraft:green_dye'}) - - event.recipes.gtceu.extractor('green_dye') - .itemInputs('1x #tfc:makes_green_dye') - .itemOutputs('2x minecraft:green_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye') - .id('tfg:milling/green_dye') - - // Magenta - event.remove({id: 'minecraft:magenta_dye_from_lilac'}) - event.remove({id: 'minecraft:magenta_dye_from_allium'}) - event.remove({id: 'gtceu:extractor/lilac_dye'}) - event.remove({id: 'gtceu:extractor/allium_dye'}) - - event.recipes.gtceu.extractor('magenta_dye') - .itemInputs('1x #tfc:makes_magenta_dye') - .itemOutputs('2x minecraft:magenta_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye') - .id('tfg:milling/magenta_dye') - - // Orange - event.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) - event.remove({id: 'minecraft:orange_dye_from_torchflower'}) - event.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) - event.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - - event.recipes.gtceu.extractor('orange_dye') - .itemInputs('1x #tfc:makes_orange_dye') - .itemOutputs('2x minecraft:orange_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') - .id('tfg:milling/orange_dye') - - // Purple - event.recipes.gtceu.extractor('purple_dye') - .itemInputs('1x #tfc:makes_purple_dye') - .itemOutputs('2x minecraft:purple_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') - .id('tfg:milling/purple_dye') - - // Brown - event.remove({id: 'minecraft:brown_dye' }) - - event.recipes.gtceu.extractor('brown_dye') - .itemInputs('1x #tfc:makes_brown_dye') - .itemOutputs('2x minecraft:brown_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye') - .id('tfg:milling/brown_dye') - - // Light Gray - event.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) - event.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) - event.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) - event.remove({id: 'gtceu:extractor/white_tulip_dye'}) - event.remove({id: 'gtceu:extractor/azure_bluet_dye'}) - event.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - - event.recipes.gtceu.extractor('light_gray_dye') - .itemInputs('1x tfc:plant/yucca') - .itemOutputs('2x minecraft:light_gray_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye') - .id('tfg:milling/light_gray_dye') - - // Yellow - event.remove({id: 'minecraft:yellow_dye_from_sunflower'}) - event.remove({id: 'minecraft:yellow_dye_from_dandelion'}) - event.remove({id: 'gtceu:extractor/sunflower_dye'}) - event.remove({id: 'gtceu:extractor/dandelion_dye'}) - - event.recipes.gtceu.extractor('yellow_dye') - .itemInputs('1x #tfc:makes_yellow_dye') - .itemOutputs('2x minecraft:yellow_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye') - .id('tfg:milling/yellow_dye') - - // Blue - event.remove({id: 'minecraft:blue_dye_from_cornflower'}) - event.remove({id: 'gtceu:extractor/cornflower_dye'}) - - event.recipes.gtceu.extractor('blue_dye') - .itemInputs('1x #tfc:makes_blue_dye') - .itemOutputs('2x minecraft:blue_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye') - .id('tfg:milling/blue_dye') - - // Pink - event.remove({id: 'minecraft:pink_dye_from_pink_petals'}) - event.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) - event.remove({id: 'minecraft:pink_dye_from_peony'}) - event.remove({id: 'gtceu:extractor/pink_tulip_dye'}) - event.remove({id: 'gtceu:extractor/peony_dye'}) - - event.recipes.gtceu.extractor('pink_dye') - .itemInputs('1x #tfc:makes_pink_dye') - .itemOutputs('2x minecraft:pink_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye') - .id('tfg:milling/pink_dye') - - // Cyan - event.remove({id: 'minecraft:cyan_dye_from_pitcher_plant'}) - - // Black - event.remove({id: 'minecraft:black_dye_from_wither_rose'}) - event.remove({id: 'gtceu:extractor/wither_rose_dye'}) - - //#endregion - - //#region Выход: Шаблон баннера - - event.shapeless('minecraft:flower_banner_pattern', [ - 'minecraft:paper', - '#forge:dyes/white' - ]).id('minecraft:flower_banner_pattern') - - //#endregion - - //#region Выход: Высушенные водросли - - event.remove({ id: 'minecraft:dried_kelp' }) - event.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - event.remove({ id: 'minecraft:dried_kelp_from_smoking' }) - - //#endregion - - //#region Древесный уголь - - event.remove({ id: 'minecraft:charcoal' }) - - //#endregion - - //#region Выход: Высушенные водросли блок - - event.remove({ id: 'minecraft:dried_kelp_block' }) - - //#endregion - - //#region Выход: Бумага - - event.remove({ id: 'gtceu:shaped/paper' }) - - event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - - event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') - .itemInputs('tfc:papyrus') - .inputFluids(Fluid.of('gtceu:distilled_water', 100)) - .itemOutputs('minecraft:paper') - .duration(100) - .EUt(7) - - event.recipes.gtceu.chemical_bath('paper_from_papyrus') - .itemInputs('tfc:papyrus') - .inputFluids(Fluid.of('minecraft:water', 100)) - .itemOutputs('minecraft:paper') - .duration(100) - .EUt(7) - - //#endregion - - //#region Выход: Сахар - - event.remove({ id: 'gtceu:shaped/sugar' }) - event.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - event.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - - event.recipes.gtceu.centrifuge('sugar') - .itemInputs('tfc:food/sugarcane') - .inputFluids(Fluid.of('minecraft:water', 600)) - .itemOutputs('minecraft:sugar') - .duration(800) - .EUt(6) - - //#endregion - - //#region Выход: Ферментированный паучий глаз - - event.remove({ id: 'minecraft:fermented_spider_eye' }) - event.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) - event.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) - event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) - event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) - - //#endregion - - //#region Выход: Семена тыквы - - event.remove({ id: 'minecraft:pumpkin_seeds' }) - event.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) - - //#endregion - - //#region Выход: Семена арбуза - - event.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) - event.remove({ id: 'gtceu:macerator/macerate_melon_block' }) - - //#endregion - - //#region Выход: Шалкеры - - event.remove({ id: 'minecraft:shulker_box' }) - event.remove({ id: 'tfc:barrel/dye/bleach_shulkers' }) - event.remove({ id: 'gtceu:assembler/purple_shulker_box' }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) - }) - - //#endregion - - //#region Выход: Кондуит - - event.remove({ id: 'minecraft:conduit' }) - - //#endregion - - //#region Выход: Калиброванный сенсор Скалка - - event.remove({ id: 'minecraft:calibrated_sculk_sensor' }) - - //#endregion - - //#region Выход: Вагонетка с сундуком - - event.remove({ id: 'gtceu:assembler/chest_minecart' }) - - //#endregion - - //#region Выход: Верстак - - event.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) - event.remove({ id: 'gtceu:assembler/crafting_table' }) - - //#endregion - - //#region Выход: Хлеб - - event.remove({ id: 'minecraft:bread' }) - - //#endregion - - //#region Выход: Жаренная свинина - - event.remove({ id: 'minecraft:cooked_porkchop' }) - event.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная курятина - - event.remove({ id: 'minecraft:cooked_chicken' }) - event.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная козлятина - - event.remove({ id: 'minecraft:cooked_mutton' }) - event.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная зайчатина - - event.remove({ id: 'minecraft:cooked_rabbit' }) - event.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная коровятина - - event.remove({ id: 'minecraft:cooked_beef' }) - event.remove({ id: 'minecraft:cooked_beef_from_smoking' }) - - //#endregion - - //#region Выход: Блок сена - - event.recipes.gtceu.packer('hay_block') - .itemInputs('9x tfc:straw') - .itemOutputs('minecraft:hay_block') - .duration(200) - .EUt(2) - - //#endregion - - //#region Выход: Торт - - event.remove({ id: 'minecraft:cake' }) - - //#endregion - - //#region Выход: Печеньки (Нееет) - - event.remove({ id: 'minecraft:cookie' }) - - //#endregion - - //#region Выход: Сундук - - event.remove({ id: 'gtceu:assembler/chest' }) - - //#endregion - - //#region Выход: Удочки - - event.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) - event.remove({ id: 'minecraft:carrot_on_a_stick' }) - - //#endregion - - //#region Выход: Светильник Джека - - event.recipes.gtceu.canner('jack_o_lantern') - .itemInputs('tfc:pumpkin') - .itemOutputs('minecraft:jack_o_lantern') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Спасательный компас - - event.remove({ id: 'minecraft:recovery_compass' }) - - //#endregion - - //#region Выход: Компасс - - event.remove({ id: 'tfc:crafting/vanilla/compass' }) - event.remove({ id: 'gtceu:assembler/compass' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - event.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) - - //#endregion - - //#region Выход: Незеритовый блок - - event.remove({ id: 'minecraft:netherite_block' }) - - //#endregion - - //#region Выход: Lodestone - - event.remove({ id: 'minecraft:lodestone' }) - - //#endregion - - //#region Выход: Точильный камень - - event.shaped('minecraft:grindstone', [ - 'ABA', - 'C C' - ], { - A: '#minecraft:planks', - B: '#forge:rods/wooden', - C: '#tfg:rock_slabs' - }).id('minecraft:grindstone') - - //#endregion - - //#region Выход: Железный люк - - event.remove({ id: 'gtceu:assembler/iron_trapdoor' }) - - //#endregion - - //#region Выхож: Железная дверь - - event.recipes.gtceu.assembler('iron_door') - .itemInputs('#forge:plates/wrought_iron') - .circuit(6) - .itemOutputs('minecraft:iron_door') - .duration(100) - .EUt(16) - - - //#endregion - - //#region Выход: Железная нажимная плита - - event.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) - - event.shaped('2x minecraft:heavy_weighted_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:hammers', - C: 'gtceu:wrought_iron_block', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id('minecraft:heavy_weighted_pressure_plate') - - event.recipes.gtceu.assembler('heavy_weighted_pressure_plate') - .itemInputs('#forge:springs', 'gtceu:wrought_iron_block') - .circuit(0) - .itemOutputs('4x minecraft:heavy_weighted_pressure_plate') - .duration(50) - .EUt(4) - - //#endregion - - //#region Выход: Золотая нажимная плита - - event.shaped('2x minecraft:light_weighted_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:hammers', - C: 'minecraft:gold_block', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id('minecraft:light_weighted_pressure_plate') - - event.recipes.gtceu.assembler('light_weighted_pressure_plate') - .itemInputs('#forge:springs', 'minecraft:gold_block') - .circuit(0) - .itemOutputs('4x minecraft:light_weighted_pressure_plate') - .duration(50) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный Cod - - event.remove({ id: 'minecraft:cooked_cod' }) - event.remove({ id: 'minecraft:cooked_cod_from_smoking' }) - - //#endregion - - //#region Выход: Жаренный Salmon - - event.remove({ id: 'minecraft:cooked_salmon' }) - event.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) - - //#endregion - - //#region Выход: Светящийся арбуз - - event.shaped('minecraft:glistering_melon_slice', [ - 'AAA', - 'ABA', - 'AAA' - ], { - A: '#forge:nuggets/gold', - B: 'tfc:food/melon_slice' - }).id('minecraft:glistering_melon_slice') - - event.recipes.gtceu.chemical_reactor('glistening_melon_slice') - .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') - .itemOutputs('minecraft:glistering_melon_slice') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('glistening_melon_slice') - .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') - .itemOutputs('minecraft:glistering_melon_slice') - .duration(50) - .EUt(30) - - //#endregion - - //#region Выход: Улей - - event.remove({ id: 'minecraft:beehive' }) - - //#endregion - - //#region Выход: Блок сот - - event.remove({ id: 'minecraft:honeycomb_block' }) - - //#endregion - - //#region Выход: Пузырек с медом - - event.remove({ id: 'minecraft:honey_bottle' }) - - //#endregion - - //#region Выход: Блок меда - - event.remove({ id: 'minecraft:honey_block' }) - - //#endregion - - //#region Выход: Сухая губка - - event.recipes.tfc.heating('minecraft:wet_sponge', 790) - .resultItem('minecraft:sponge') - .id('tfg:minecraft/heating/sponge') - - //#endregion - - //#region Выход: Прожаренный фрукт хоруса - - event.remove({ id: 'minecraft:popped_chorus_fruit' }) - - //#endregion - - //#region Выход: Фиолетовый блок - - event.remove({ id: 'gtceu:compressor/purpur_block' }) - - //#endregion - - //#region Выход: Фиолетовый блок ступень - - event.remove({ id: 'minecraft:purpur_stairs' }) - event.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Фиолетовый блок плита - - event.remove({ id: 'minecraft:purpur_slab' }) - event.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) - event.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Фиолетовый блок столб - - event.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Ножницы - - event.remove({ id: 'minecraft:shears' }) - - //#endregion - - //#region Выход: Светильник - - event.remove({ id: 'minecraft:lantern' }) - - //#endregion - - //#region Выход: Цепи - - event.remove({ id: 'minecraft:chain' }) - - //#endregion - - //#region Выход: Светильник адский - - event.remove({ id: 'minecraft:soul_lantern' }) - - //#endregion - - //#region Выход: Стол для ковки - - event.remove({ id: 'minecraft:smithing_table' }) - - //#endregion - - //#region Выход: Плавильня - - event.remove({ id: 'minecraft:blast_furnace' }) - - //#endregion - - //#region Выход: Коптильня - - event.remove({ id: 'minecraft:blast_furnace' }) - - //#endregion - - //#region Выход: Тонированное стекло - - event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass', 'tfc:powder/amethyst') - .itemOutputs('minecraft:tinted_glass') - .duration(260) - .EUt(16) - - //#endregion - - //#region Выход: Пустая карта - - event.recipes.gtceu.assembler('map') - .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') - .itemOutputs('minecraft:map') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный картофель - - event.remove({ id: 'minecraft:baked_potato' }) - event.remove({ id: 'minecraft:baked_potato_from_smoking' }) - - //#endregion - - //#region Выход: Декор ваза - - event.remove({ id: 'minecraft:decorated_pot_simple' }) - - //#endregion - - //#region Выход: Резные книжные полки - - event.remove({ id: 'minecraft:chiseled_bookshelf' }) - - //#endregion - - //#region Выход: Книжные полки - - event.remove({ id: 'gtceu:assembler/bookshelf' }) - - //#endregion - - //#region Выход: Стержень энда - - event.remove({ id: 'minecraft:end_rod' }) - event.remove({ id: 'gtceu:assembler/end_rod' }) - - //#endregion - - //#region Выход: Кисточка - - event.remove({ id: 'minecraft:brush' }) - - //#endregion - - //#region Выход: Книга - - event.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - - event.shapeless('minecraft:book', [ - 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' - ]).id('minecraft:book') - - //#endregion - - //#region Выход: Трибуна - - event.remove({ id: 'tfc:crafting/vanilla/lectern' }) - - //#endregion - - //#region Выход: Золотое яблоко - - event.remove({ id: 'minecraft:golden_apple' }) - - event.recipes.gtceu.chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - //#endregion - - //#region Выход: Зачарованное золотое яблоко - - event.recipes.gtceu.chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.chemical_reactor('notch_apple_1') - .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('notch_apple_1') - .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - //#endregion - - //#region Кольчуга - - event.remove({id: 'gtceu:shaped/chainmail_boots'}) - event.remove({id: 'gtceu:shaped/chainmail_leggings'}) - event.remove({id: 'gtceu:shaped/chainmail_chestplate'}) - event.remove({id: 'gtceu:shaped/chainmail_helmet'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) - event.remove({id: 'minecraft:iron_nugget_from_smelting'}) - event.remove({id: 'minecraft:iron_nugget_from_blasting'}) - - //#endregion - - //#region Железная броня - - event.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_iron_boots'}) - event.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) - event.remove({id: 'gtceu:shaped/iron_horse_armor'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_iron_horse_armor'}) - - //#endregion - - //#region Золотая броня - - event.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_golden_boots'}) - event.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) - event.remove({id: 'gtceu:shaped/golden_horse_armor'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) - event.remove({id: 'minecraft:gold_nugget_from_smelting'}) - event.remove({id: 'minecraft:gold_nugget_from_blasting'}) - - //#endregion - - //#region Алмазная броня - - event.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) - event.remove({id: 'gtceu:shaped/diamond_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_horse_armor'}) - - //#endregion - - //#region Незеритовая броня - - event.remove({id: 'minecraft:netherite_helmet_smithing'}) - event.remove({id: 'minecraft:netherite_chestplate_smithing'}) - event.remove({id: 'minecraft:netherite_leggings_smithing'}) - event.remove({id: 'minecraft:netherite_boots_smithing'}) - - //#endregion - - //#region Деревянные инструменты - - event.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_hoe'}) - - //#endregion - - //#region Каменные инстурменты - - event.remove({id: 'gtceu:macerator/macerate_stone_sword'}) - event.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_stone_axe'}) - event.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_stone_hoe'}) - - //#endregion - - //#region Железные инструменты - - event.remove({id: 'gtceu:macerator/macerate_iron_sword'}) - event.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_iron_axe'}) - event.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_hoe'}) - - //#endregion - - //#region Золотые инструменты - - event.remove({id: 'gtceu:macerator/macerate_golden_sword'}) - event.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_golden_axe'}) - event.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_hoe'}) - - //#endregion - - //#region Алмазные инструменты - - event.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_hoe'}) - - //#endregion - - //#region Незеритовые инструменты - - event.remove({id: 'minecraft:netherite_sword_smithing'}) - event.remove({id: 'minecraft:netherite_pickaxe_smithing'}) - event.remove({id: 'minecraft:netherite_axe_smithing'}) - event.remove({id: 'minecraft:netherite_shovel_smithing'}) - event.remove({id: 'minecraft:netherite_hoe_smithing'}) - - //#endregion - - //#region Выход: Компаратор - - event.remove({id: 'minecraft:comparator'}) - event.remove({id: 'gtceu:shaped/comparator_quartzite'}) - event.remove({id: 'gtceu:shaped/comparator_certus'}) - event.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) - - // Компаратор - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/certus_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_certus'); - - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/quartzite', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_quartzite'); - - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/nether_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_nether_quartz'); - - //#endregion - - //#region Выход: Крюк - - event.remove({id: 'minecraft:tripwire_hook'}) - event.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) - event.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) - event.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - - event.shapeless('minecraft:tripwire_hook', [ - '#forge:rods/wood', - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - - event.recipes.gtceu.assembler('tripwire_hook') - .itemInputs('#forge:rods/wood', '#forge:rings/wrought_iron', '#forge:small_springs') - .itemOutputs('2x minecraft:tripwire_hook') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Рамка - - event.remove({ id: 'minecraft:item_frame' }) - - event.recipes.gtceu.assembler('item_frame') - .itemInputs('8x #tfc:lumber', 'minecraft:leather') - .itemOutputs('8x minecraft:item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Свето-рамка - - event.shapeless('minecraft:glow_item_frame', [ - 'minecraft:item_frame', - '#forge:dusts/glowstone' - ]).id('minecraft:glow_item_frame') - - event.recipes.gtceu.assembler('tfg/glow_item_frame') - .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') - .itemOutputs('2x minecraft:glow_item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Картина - - event.recipes.gtceu.assembler('painting') - .itemInputs('#tfc:high_quality_cloth','8x #forge:rods/wood') - .itemOutputs('2x minecraft:painting') - .circuit(1) - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Факел - - //#region В Верстаке - - // Из серы - event.shaped('2x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:sulfur_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_sulfur') - - // Из фосфора - event.shaped('6x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:phosphorus_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_phosphorus') - - // Из креозота - // Я не виноват, что рецепт с ведром грега не работает - event.remove({ id: 'gtceu:shaped/torch_creosote' }) - - // Из пыли кокса - event.shaped('8x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coke_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coke_dust') - - // Из гема кокса - event.shaped('8x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coke_gem', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coke') - - // Из пыли угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coal_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coal_dust') - - // Из гема угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'minecraft:coal', - B: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/torch_coal') - - // Из пыли древесного угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:charcoal_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_charcoal_dust') - - // Из гема древесного угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'minecraft:charcoal', - B: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/torch_charcoal') - - // Из резины - event.shaped('3x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:sticky_resin', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/sticky_resin_torch') - - //#endregion - - //#region В сборщике - - // Из серы - event.recipes.gtceu.assembler('torch_sulfur') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:sulfur_dust') - .itemOutputs('2x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из фосфора - event.recipes.gtceu.assembler('torch_phosphorus') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:phosphorus_dust') - .itemOutputs('6x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из гема кокса - event.recipes.gtceu.assembler('torch_coke_gem') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_gem') - .itemOutputs('8x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли кокса - event.recipes.gtceu.assembler('torch_coke_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_dust') - .itemOutputs('8x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из гема ванильного угля - event.recipes.gtceu.assembler('torch_coal') - .itemInputs('#tfc:can_be_lit_on_torch', 'minecraft:coal') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли ванильного угля - event.recipes.gtceu.assembler('torch_coal_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coal_dust') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли древесного угля - event.recipes.gtceu.assembler('torch_charcoal_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:charcoal_dust') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - - //#endregion - - // Мертвый факел в обычный - event.smelting('tfc:torch', 'tfc:dead_torch') - .id('tfg:smelting/dead_torch_to_torch') - - //#endregion - - //#region Выход: Палки - - event.remove({id: 'minecraft:stick'}) - - //#endregion - - //#region Выход: Огниво - - event.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) - event.remove({id: 'ad_astra:recipes/flint_and_steel'}) - - //#endregion - - //#region Выход: Наковальни - - event.remove({id: 'gtceu:alloy_smelter/anvil'}) - event.remove({id: 'gtceu:fluid_solidifier/solidify_anvil'}) - - //#endregion - - //#region Выход: Железные прутья - - event.remove({id: 'gtceu:shaped/iron_bars'}) - event.remove({id: 'gtceu:assembler/iron_nars'}) - - //#endregion - - //#region Выход: Печь - - event.remove({ id: 'gtceu:assembler/furnace' }) - - //#endregion - - //#region Выход: Вагонетка с печью - - event.remove({ id: 'minecraft:furnace_minecart' }) - event.remove({ id: 'gtceu:assembler/furnace_minecart' }) - - //#endregion - - //#region Выход: Повторитель - - event.remove({id: 'minecraft:repeater'}) - - //#endregion - - //#region Выход: Ведро - - event.remove({id: 'gtceu:bender/bucket'}) - event.remove({id: 'gtceu:shaped/iron_bucket'}) - - event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) - .id('tfg:anvil/vanilla_bucket') - - event.recipes.gtceu.assembler('tfg:vanilla/bucket') - .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') - .circuit(6) - .itemOutputs('minecraft:bucket') - .duration(100) - .EUt(16) - - //#endregion - - //#region Выход: Седло - - event.remove({id: 'gtceu:shaped/saddle'}) - - //#endregion - - //#region Выход: Блок лазурита - - event.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) - - //#endregion - - //#region Выход: Вагонетка - - event.remove({ id: 'minecraft:minecart' }) - - event.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' - ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:iron_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/minecart') - - event.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' - ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:steel_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/steel_minecart') - - event.recipes.gtceu.assembler('minecart') - .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') - .itemOutputs('minecraft:minecart') - .duration(100) - .EUt(2) - - //#endregion - - //#region Выход: Тигель - event.remove({ id: 'tfc:crafting/vanilla/cauldron' }) - - event.shaped('minecraft:cauldron', [ - 'A A', - 'ABA', - 'AAA' - ], { - A: '#forge:plates/wrought_iron', - B: '#tfc:hammers' - }).id('gtceu:shaped/cauldron') - - event.recipes.gtceu.assembler('cauldron') - .itemInputs('7x #forge:plates/wrought_iron') - .circuit(10) - .itemOutputs('minecraft:cauldron') - .duration(700) - .EUt(4) - - //#endregion - - //#region Выход: Детектор света - - event.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) - - //#endregion - - //#region Выход: Воронка - - event.remove({ id: 'gtceu:assembler/hopper_iron' }) - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) - event.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) - - event.shaped('minecraft:hopper', [ - 'ABA', - 'ACA', - 'DAE' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:chests/wooden', - C: '#forge:gears/wrought_iron', - D: '#forge:tools/wrenches', - E: '#forge:tools/hammers', - }).id('gtceu:shaped/hopper') - - //#endregion - - //#region Выход: Поршень - - event.remove({ id: 'minecraft:piston' }) - event.remove({ id: 'gtceu:shaped/piston_titanium' }) - event.remove({ id: 'gtceu:shaped/piston_steel' }) - event.remove({ id: 'gtceu:shaped/piston_bronze' }) - event.remove({ id: 'gtceu:shaped/piston_aluminium' }) - - event.remove({ id: 'gtceu:assembler/piston_titanium' }) - event.remove({ id: 'gtceu:assembler/piston_steel' }) - event.remove({ id: 'gtceu:assembler/piston_iron' }) - event.remove({ id: 'gtceu:assembler/piston_bronze' }) - event.remove({ id: 'gtceu:assembler/piston_aluminium' }) - - event.recipes.gtceu.assembler('piston') - .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') - .itemOutputs('4x minecraft:piston') - .duration(100) - .EUt(16) - - //#endregion - - //#region Выход: Кожа - - event.remove({ id: 'minecraft:leather' }) - - //#endregion - - //#region Выход: Шерсть - - event.recipes.gtceu.assembler('wool_from_string') - .itemInputs('8x #forge:string') - .circuit(4) - .itemOutputs('minecraft:white_wool') - .duration(100) - .EUt(4) - - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:dye_${dye}_wool` }) - }) - - //#endregion - - //#region Выход: Свечи - - event.remove({ id: `minecraft:candle` }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:${dye}_candle` }) - }) - - //#endregion - - //#region Выход: Ковры - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - - event.remove({ id: `minecraft:dye_${dye}_carpet` }) - - event.shapeless(`2x minecraft:${dye}_carpet`, [ - '#tfc:saws', - `minecraft:${dye}_wool` - ]).id(`minecraft:${dye}_carpet`) - - if (dye != 'white') { - event.recipes.gtceu.chemical_bath(`tfg:${dye}_carpet`) - .itemInputs(`minecraft:white_carpet`) - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) - .itemOutputs(`minecraft:${dye}_carpet`) - .duration(300) - .EUt(4) - } - }) - - //#endregion - - //#region Выход: Кровати - - event.recipes.gtceu.chemical_bath(`bed_decolor`) - .itemInputs('#tfc:colored_bed') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs(`minecraft:white_bed`) - .duration(300) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:${dye}_bed` }) - event.remove({ id: `minecraft:dye_${dye}_bed` }) - - if (dye != "white") - event.recipes.gtceu.chemical_bath(`${dye}_bed`) - .itemInputs(`minecraft:white_bed`) - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 216)) - .itemOutputs(`minecraft:${dye}_bed`) - .duration(300) - .EUt(4) - }) - - //#endregion - - //#region Выход: Арбалет - - event.remove({ id: 'minecraft:crossbow' }) - - //#endregion - - //#region Выход: Лук - - event.recipes.gtceu.assembler('bow') - .itemInputs('3x #forge:string', '3x #forge:rods/wooden') - .itemOutputs('minecraft:bow') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Наблюдатель - - event.remove({ id: 'minecraft:observer' }) - - event.recipes.gtceu.assembler('observer_certus_quartz') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - event.recipes.gtceu.assembler('observer_nether_quartz') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - event.recipes.gtceu.assembler('observer_quartzite') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Раздатчик - - event.recipes.gtceu.assembler('dispenser') - .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - .circuit(1) - .itemOutputs('minecraft:dispenser') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Выбрасыватель - - event.recipes.gtceu.assembler('dropper') - .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') - .circuit(2) - .itemOutputs('minecraft:dropper') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) - - event.recipes.gtceu.assembler('rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') - .circuit(1) - .itemOutputs('32x minecraft:rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Заряженные рельсы - - event.remove({ id: 'minecraft:powered_rail' }) - - event.recipes.gtceu.assembler('powered_rail') - .itemInputs('6x #forge:rods/gold', '2x #forge:rods/wooden', '#forge:dusts/redstone') - .circuit(1) - .itemOutputs('16x minecraft:powered_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Активаторные рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - event.remove({ id: 'minecraft:activator_rail' }) - - event.recipes.gtceu.assembler('activator_rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', 'minecraft:redstone_torch') - .circuit(1) - .itemOutputs('4x minecraft:activator_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Нажимные рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - event.remove({ id: 'minecraft:detector_rail' }) - - event.recipes.gtceu.assembler('detector_rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', '#minecraft:stone_pressure_plates') - .circuit(1) - .itemOutputs('4x minecraft:detector_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Веревка - - event.remove({ id: 'gtceu:assembler/lead' }) - - event.shaped('minecraft:lead', [ - ' AA', - ' BA', - 'A ' - ], { - A: '#forge:string', - B: '#forge:rings/wrought_iron' - }).id('minecraft:lead') - - //#endregion - - //#region Выход: Варочная стойка - - event.remove({ id: 'minecraft:brewing_stand' }) - - //#endregion - - //#region Выход: Кирпич - - event.remove({ id: 'minecraft:brick' }) - - event.shaped('minecraft:bricks', [ - 'BAB', - 'ABA', - 'BAB' - ], { - A: 'tfc:mortar', - B: 'minecraft:brick' - }).id('tfc:crafting/bricks') - - //#endregion - - //#region Выъод: Незер кирпич - - event.remove({ id: 'gtceu:extractor/nether_bricks_extraction' }) - event.remove({ id: 'gtceu:alloy_smelter/form_nether_brick' }) - - //#endregion - - //#region Выход: Незер бревна - - event.remove({ id: 'minecraft:stripped_crimson_stem_via_vanilla_stripping' }) - event.remove({ id: 'minecraft:stripped_crimson_hyphae_via_vanilla_stripping' }) - - event.remove({ id: 'minecraft:stripped_warped_stem_via_vanilla_stripping' }) - event.remove({ id: 'minecraft:stripped_warped_hyphae_via_vanilla_stripping' }) - - //#endregion - - //#region Выход: Якорь возрождения - - event.remove({ id: 'minecraft:respawn_anchor' }) - - //#endregion - - //#region Выход: Элитра - - // Ну и херь я придумал - event.recipes.gtceu.assembler('tfg:minecraft/elytra') - .itemInputs('6x #forge:plates/polyvinyl_butyral', '2x #forge:rings/titanium', '2x #forge:rods/titanium', '4x #forge:single_cables/aluminium') - .circuit(32) - .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) - .duration(1600) - .EUt(666) - - event.recipes.gtceu.assembler('tfg:minecraft/elytra_repairing') - .itemInputs('6x #forge:plates/polyvinyl_butyral', Item.of('minecraft:elytra', '{Damage:431}').strongNBT()) - .circuit(32) - .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) - .duration(1600) - .EUt(120) - - //#endregion - - //#region Исправление дерьма с медью (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - //event.smelting('tfc:metal/ingot/copper', 'minecraft:raw_copper') - // .id('minecraft:copper_ingot_from_smelting_raw_copper') - - event.remove({ id: 'minecraft:copper_ingot_from_blasting_raw_copper' }) - event.remove({ id: 'minecraft:copper_ingot_from_waxed_copper_block' }) - event.remove({ id: 'minecraft:copper_ingot' }) - - event.remove({ id: 'minecraft:raw_copper_block' }) - event.remove({ id: 'minecraft:raw_copper' }) - - //#endregion - - //#region Исправление дерьма с золотом (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - //event.smelting('tfc:metal/ingot/gold', 'minecraft:raw_gold') - // .id('minecraft:copper_ingot_from_smelting_raw_gold') - - // event.remove({ id: 'minecraft:gold_ingot_from_smelting_raw_gold' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_raw_gold' }) - - event.remove({ id: 'minecraft:raw_gold_block' }) - event.remove({ id: 'minecraft:raw_gold' }) - - //#endregion - - //#region Исправление дерьма с железом (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - event.remove({ id: 'minecraft:raw_iron_block' }) - event.remove({ id: 'minecraft:raw_iron' }) - - //#endregion - - //#region Glowstone - - event.recipes.gtceu.mixer('gtceu:lv_glowstone') + event.recipes.gtceu.assembler('bow') + .itemInputs('3x #forge:string', '3x #forge:rods/wooden') + .itemOutputs('minecraft:bow') + .duration(100) + .EUt(4) + + //#endregion + + //#region Выход: Наблюдатель + + event.recipes.gtceu.assembler('observer_certus_quartz') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + event.recipes.gtceu.assembler('observer_nether_quartz') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + event.recipes.gtceu.assembler('observer_quartzite') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + //#endregion + + //#region Выход: Раздатчик + + event.recipes.gtceu.assembler('dispenser') + .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') + .circuit(1) + .itemOutputs('minecraft:dispenser') + .duration(100) + .EUt(30) + + event.shaped('minecraft:dispenser', [ + 'ADA', + 'ABA', + 'ACA' + ], { + A: '#forge:stone', + B: 'minecraft:bow', + C: 'minecraft:redstone', + D: '#forge:small_gears/brass' + }).id('gtceu:shaped/dispenser') + + //#endregion + + //#region Выход: Выбрасыватель + + event.recipes.gtceu.assembler('dropper') + .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') + .circuit(2) + .itemOutputs('minecraft:dropper') + .duration(100) + .EUt(30) + + event.shaped('minecraft:dropper', [ + 'AAA', + 'ADA', + 'ACA' + ], { + A: '#forge:stone', + C: 'minecraft:redstone', + D: '#forge:small_gears/brass' + }).id('gtceu:shaped/dropper') + + //#endregion + + //#region Выход: Рельсы + + event.recipes.gtceu.assembler('rail') + .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') + .circuit(1) + .itemOutputs('32x minecraft:rail') + .duration(100) + .EUt(30) + + //#endregion + + //#region Выход: Заряженные рельсы + + event.recipes.gtceu.assembler('powered_rail') + .itemInputs('6x #forge:rods/gold', '2x #forge:rods/wooden', '#forge:dusts/redstone') + .circuit(1) + .itemOutputs('16x minecraft:powered_rail') + .duration(100) + .EUt(30) + + //#endregion + + //#region Выход: Активаторные рельсы + + event.recipes.gtceu.assembler('activator_rail') + .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', 'minecraft:redstone_torch') + .circuit(1) + .itemOutputs('4x minecraft:activator_rail') + .duration(100) + .EUt(30) + + //#endregion + + //#region Выход: Нажимные рельсы + + event.recipes.gtceu.assembler('detector_rail') + .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', '#minecraft:stone_pressure_plates') + .circuit(1) + .itemOutputs('4x minecraft:detector_rail') + .duration(100) + .EUt(30) + + //#endregion + + //#region Выход: Веревка + + event.shaped('minecraft:lead', [ + ' AA', + ' BA', + 'A ' + ], { + A: '#forge:string', + B: '#forge:rings' + }).id('minecraft:lead') + + event.shaped('minecraft:lead', [ + ' AA', + ' BA', + 'A ' + ], { + A: 'tfc:jute_fiber', + B: '#forge:rings' + }).id('tfc:crafting/lead') + + //#endregion + + //#region Выход: Кирпич + + event.shaped('minecraft:bricks', [ + 'BAB', + 'ABA', + 'BAB' + ], { + A: 'tfc:mortar', + B: 'minecraft:brick' + }).id('tfc:crafting/bricks') + + //#endregion + + //#region Выход: Элитра + + // Ну и херь я придумал + event.recipes.gtceu.assembler('tfg:minecraft/elytra') + .itemInputs('16x #forge:foils/polycaprolactam', '16x #forge:foils/aluminium', '8x minecraft:phantom_membrane', '4x #forge:rings/aluminium', '2x #forge:rods/long/vanadium_steel', '2x #forge:small_springs/aluminium', '1x #forge:small_gears/aluminium') + .circuit(4) + .itemOutputs(Item.of('minecraft:elytra', "{Damage:0}")) + .duration(1600) + .EUt(420) + + event.recipes.gtceu.assembler('tfg:minecraft/elytra2') + .itemInputs('16x #forge:foils/polycaprolactam', '16x #forge:foils/aluminium', '8x #forge:plates/ender_eye', '4x #forge:rings/aluminium', '2x #forge:rods/long/vanadium_steel', '2x #forge:small_springs/aluminium', '1x #forge:small_gears/aluminium') + .circuit(4) + .itemOutputs(Item.of('minecraft:elytra', "{Damage:0}")) + .duration(1600) + .EUt(420) + + event.recipes.gtceu.assembler('tfg:minecraft/elytra_repairing') + .itemInputs('6x #forge:foils/polycaprolactam', Item.of('minecraft:elytra', '{Damage:2045}').strongNBT()) + .circuit(4) + .itemOutputs(Item.of('minecraft:elytra', "{Damage:0}")) + .duration(1600) + .EUt(120) + + event.recipes.gtceu.arc_furnace('tfg:minecraft/arc_furnace/recycling/elytra') + .itemInputs(Item.of('minecraft:elytra', '{Damage:0}').strongNBT()) + .itemOutputs('4x gtceu:aluminium_ingot', '2x gtceu:polycaprolactam_ingot') + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator('tfg:minecraft/macerator/recycling/elytra') + .itemInputs(Item.of('minecraft:elytra', '{Damage:0}').strongNBT()) + .itemOutputs('4x gtceu:aluminium_dust', '2x gtceu:polycaprolactam_dust') + .duration(224) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + //#region Glowstone + + event.recipes.gtceu.mixer('gtceu:lv_glowstone') .inputFluids(Fluid.of('gtceu:creosote', 1000)) .itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust', 'gtceu:coal_dust') .itemOutputs('minecraft:glowstone_dust') @@ -3225,9 +796,69 @@ const registerMinecraftRecipes = (event) => { .duration(1200) .EUt(32) - //#endregion - - // Nether Brick - + //#endregion + + //#region Nether Brick + event.smelting('minecraft:nether_brick', 'minecraft:netherrack') + + //#endregion + + //#region Netherite leggings (for the lavaproof diving set) + + event.shaped('minecraft:netherite_leggings', [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/blue_steel', + B: 'tfc:metal/greaves/blue_steel', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide' + }).id('tfg:minecraft/shaped/netherite_leggings') + + //#endregion + + //#region Scaffoldings + event.remove({ output: 'minecraft:scaffolding' }) + + event.shaped('32x minecraft:scaffolding', [ + 'ABA', + 'A A', + 'A A' + ], { + A: 'gtceu:long_wood_rod', + B: 'tfg:scaffolding_frame' + }).id('tfg:minecraft/shaped/scaffolding') + + event.recipes.gtceu.assembler('tfg:minecraft/assembler/scaffolding') + .itemInputs('6x gtceu:long_wood_rod', 'tfg:scaffolding_frame') + .itemOutputs('32x minecraft:scaffolding') + .duration(100) + .EUt(4) + //#endregion + + // #region HUH??? + + event.shapeless('minecraft:redstone_torch', ['#forge:rods/wooden', 'minecraft:redstone']) + .id('tfg:shapeless/redstone_torch') + + generateCutterRecipe(event, '#forge:double_plates/wrought_iron', 'minecraft:iron_door', 400, GTValues.VA[GTValues.LV], 'iron_door') + + // #endregion + + // #region Calcite + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('1x minecraft:calcite', ['#forge:poor_raw_materials/calcite', '#tfc:chisels']) + ).id('tfg:shapeless/calcite_from_poor_raw') + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('2x minecraft:calcite', ['#forge:raw_materials/calcite', '#tfc:chisels']) + ).id('tfg:shapeless/calcite_from_raw') + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x minecraft:calcite', ['#forge:rich_raw_materials/calcite', '#tfc:chisels']) + ).id('tfg:shapeless/calcite_from_rich_raw') + + // #endregion } diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js new file mode 100644 index 000000000..a16efbff0 --- /dev/null +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -0,0 +1,2074 @@ +// priority: 0 + +function removeMinecraftRecipes(event) { + + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + //#region Выход: Камень + + event.remove({ id: 'minecraft:stone' }) + event.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) + event.remove({ id: 'gtceu:compressor/stone_from_dust' }) + event.remove({ id: 'gtceu:rock_breaker/stone' }) + + //#endregion + + //#region Выход: Каменная ступень + + event.remove({ id: 'minecraft:stone_stairs' }) + event.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + + //#endregion + + //#region Выход: Каменная плита + + event.remove({ id: 'minecraft:stone_slab' }) + event.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + + //#endregion + + //#region Выход: Каменная нажимная плила + + event.remove({ id: 'minecraft:stone_pressure_plate' }) + + //#endregion + + //#region Выход: Каменная кнопка + + event.remove({ id: 'minecraft:stone_button' }) + + //#endregion + + //#region Выход: Гладкий камень + + event.remove({ id: 'minecraft:smooth_stone' }) + + //#endregion + + //#region Выход: Гладкий камень плита + + event.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) + event.remove({ id: 'minecraft:smooth_stone_slab' }) + event.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) + + //#endregion + + //#region Выход: Булыжник + + event.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) + event.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) + event.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) + event.remove({ id: 'gtceu:rock_breaker/cobblestone' }) + + //#endregion + + //#region Выход: Булыжник ступень + + event.remove({ id: 'minecraft:cobblestone_stairs' }) + event.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Булыжник плита + + event.remove({ id: 'minecraft:cobblestone_slab' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + event.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Булыжник стена + + event.remove({ id: 'minecraft:cobblestone_wall' }) + event.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Каменные кирпичи + + event.remove({ id: 'minecraft:stone_bricks' }) + event.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) + + //#endregion + + //#region Выход: Каменные кирпичи ступень + + event.remove({ id: 'minecraft:stone_brick_stairs' }) + event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) + event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Каменные кирпичи плита + + event.remove({ id: 'minecraft:stone_brick_slab' }) + event.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) + event.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) + event.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Каменные кирпичи стена + + event.remove({ id: 'minecraft:stone_brick_wall' }) + event.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) + event.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Поломанные каменные кирпичи + + event.remove({ id: 'minecraft:cracked_stone_bricks' }) + event.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) + event.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) + + //#endregion + + //#region Выход: Резные каменные кирпичи + + event.remove({ id: 'minecraft:chiseled_stone_bricks' }) + event.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) + event.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Замшелые каменные кирпичи + + event.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) + event.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) + event.remove({ id: 'gtceu:assembler/mossy_stone_bricks' }) + + //#endregion + + //#region Выход: Замшелые каменные кирпичи ступень + + event.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) + event.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Замшелые каменные кирпичи плита + + event.remove({ id: 'minecraft:mossy_stone_brick_slab' }) + event.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Замшелые каменные кирпичи стена + + event.remove({ id: 'minecraft:mossy_stone_brick_wall' }) + event.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Замшелый булыжник + + event.remove({ id: 'minecraft:mossy_cobblestone_from_vine' }) + event.remove({ id: 'minecraft:mossy_cobblestone_from_moss_block' }) + event.remove({ id: 'gtceu:assembler/mossy_cobblestone' }) + + //#endregion + + //#region Выход: Замшелый булыжник ступень + + event.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) + event.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Замшелый булыжник плита + + event.remove({ id: 'minecraft:mossy_cobblestone_slab' }) + event.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Замшелый булыжник стена + + event.remove({ id: 'minecraft:mossy_cobblestone_wall' }) + event.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) + + //#endregion + + //#region Выход: Сырой гранит + + event.remove({ id: 'minecraft:granite' }) + event.remove({ id: 'gtceu:rock_breaker/granite' }) + + //#endregion + + //#region Выход: Сырой гранит ступень + + event.remove({ id: 'minecraft:granite_stairs' }) + event.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой гранит плита + + event.remove({ id: 'minecraft:granite_slab' }) + event.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой гранит стена + + event.remove({ id: 'minecraft:granite_wall' }) + event.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) + + //#endregion + + //#region Выход: Полированный гранит + + event.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой гранит ступень + + event.remove({ id: 'minecraft:polished_granite_stairs' }) + event.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) + event.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой гранит плита + + event.remove({ id: 'minecraft:polished_granite_slab' }) + event.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) + event.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой диорит + + event.remove({ id: 'minecraft:diorite' }) + event.remove({ id: 'gtceu:rock_breaker/diorite' }) + + //#endregion + + //#region Выход: Сырой диорит ступень + + event.remove({ id: 'minecraft:diorite_stairs' }) + event.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой диорит плита + + event.remove({ id: 'minecraft:diorite_slab' }) + event.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой диорит стена + + event.remove({ id: 'minecraft:diorite_wall' }) + event.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Полированный диорит + + event.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой диорит ступень + + event.remove({ id: 'minecraft:polished_diorite_stairs' }) + event.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) + event.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой диорит плита + + event.remove({ id: 'minecraft:polished_diorite_slab' }) + event.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) + event.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой андезит + + event.remove({ id: 'minecraft:andesite' }) + event.remove({ id: 'gtceu:rock_breaker/andesite' }) + + //#endregion + + //#region Выход: Сырой андезит ступень + + event.remove({ id: 'minecraft:andesite_stairs' }) + event.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой андезит плита + + event.remove({ id: 'minecraft:andesite_slab' }) + event.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой андезит стена + + event.remove({ id: 'minecraft:andesite_wall' }) + event.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Полированный андезит + + event.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой андезит ступень + + event.remove({ id: 'minecraft:polished_andesite_stairs' }) + event.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) + event.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой андезит плита + + event.remove({ id: 'minecraft:polished_andesite_slab' }) + event.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) + event.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) + + //#endregion + + //#region Выход: Сырой призмарин + + event.remove({ id: 'gtceu:packer/prismarine' }) + + //#endregion + + //#region Выход: Светильник моря + + event.remove({ id: 'minecraft:sea_lantern' }) + event.remove({ id: 'gtceu:assembler/sea_lantern' }) + + //#endregion + + //#region Выход: Сырой призмарин ступень + + event.remove({ id: 'minecraft:prismarine_stairs' }) + event.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Сырой призмарин плита + + event.remove({ id: 'minecraft:prismarine_slab' }) + event.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Сырой призмарин стена + + event.remove({ id: 'minecraft:prismarine_wall' }) + event.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Призмариновый кирпич + + event.remove({ id: 'gtceu:packer/prismarine_bricks' }) + + //#endregion + + //#region Выход: Призмариновый кирпич ступень + + event.remove({ id: 'minecraft:prismarine_brick_stairs' }) + event.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Призмариновый кирпич плита + + event.remove({ id: 'minecraft:prismarine_brick_slab' }) + event.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Темный призмарин + + event.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) + + //#endregion + + //#region Выход: Темный призмарин ступень + + event.remove({ id: 'minecraft:dark_prismarine_stairs' }) + event.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Темный призмарин плита + + event.remove({ id: 'minecraft:dark_prismarine_slab' }) + event.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) + + //#endregion + + //#region Выход: Эндер Кирпич + + event.remove({ id: 'minecraft:end_stone_bricks' }) + event.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) + + //#endregion + + //#region Выход: Эндер Кирпич ступень + + event.remove({ id: 'minecraft:end_stone_brick_stairs' }) + event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) + event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Эндер Кирпич плита + + event.remove({ id: 'minecraft:end_stone_brick_slab' }) + event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) + event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Эндер Кирпич стена + + event.remove({ id: 'minecraft:end_stone_brick_wall' }) + event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) + event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) + + //#endregion + + //#region Выход: Сланец + + event.remove({ id: 'minecraft:deepslate' }) + + //#endregion + + //#region Выход: Сланцевый булыжник + + event.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) + event.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) + + //#endregion + + //#region Выход: Сланцевый булыжник ступень + + event.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) + + //#endregion + + //#region Выход: Сланцевый булыжник плита + + event.remove({ id: 'minecraft:cobbled_deepslate_slab' }) + + //#endregion + + //#region Выход: Сланцевый булыжник стена + + event.remove({ id: 'minecraft:cobbled_deepslate_wall' }) + + //#endregion + + //#region Выход: Ячеистый сланец + + event.remove({ id: 'minecraft:deepslate_tiles' }) + event.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Ячеистый сланец ступень + + event.remove({ id: 'minecraft:deepslate_tile_stairs' }) + event.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Ячеистый сланец плита + + event.remove({ id: 'minecraft:deepslate_tile_slab' }) + event.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) + + + //#endregion + + //#region Выход: Ячеистый сланец стена + + event.remove({ id: 'minecraft:deepslate_tile_wall' }) + event.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) + + + //#endregion + + //#region Выход: Сланцевые кирпичи + + event.remove({ id: 'minecraft:deepslate_bricks' }) + event.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Сланцевые кирпичи ступень + + event.remove({ id: 'minecraft:deepslate_brick_stairs' }) + event.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Сланцевые кирпичи плита + + event.remove({ id: 'minecraft:deepslate_brick_slab' }) + event.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Сланцевые кирпичи стена + + event.remove({ id: 'minecraft:deepslate_brick_wall' }) + event.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) + event.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Полированный сланец + + event.remove({ id: 'minecraft:polished_deepslate' }) + event.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Полированный сланец ступень + + event.remove({ id: 'minecraft:polished_deepslate_stairs' }) + event.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Полированный сланец плита + + event.remove({ id: 'minecraft:polished_deepslate_slab' }) + event.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Полированный сланец стена + + event.remove({ id: 'minecraft:polished_deepslate_wall' }) + event.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Потрескавшийся ячеистый сланец + + event.remove({ id: 'minecraft:cracked_deepslate_tiles' }) + + //#endregion + + //#region Выход: Резной сланец + + event.remove({ id: 'minecraft:chiseled_deepslate' }) + event.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) + + //#endregion + + //#region Выход: Потрескавшиеся сланцевые кирпичи + + event.remove({ id: 'minecraft:cracked_deepslate_bricks' }) + + //#endregion + + //#region Выход: Уголь + + event.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + event.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + + event.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + event.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) + + //#endregion + + //#region Выход: Медь + + event.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + event.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) + + event.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + event.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) + + //#endregion + + //#region Выход: Железо + + event.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + event.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) + + event.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + event.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) + + //#endregion + + //#region Выход: Лазурит + + event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) + + event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) + + //#endregion + + //#region Выход: Золото + + event.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + event.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + event.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) + + event.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + event.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + event.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) + + //#endregion + + //#region Выход: Золотой самородок + + event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + + event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + + //#endregion + + //#region Выход: Редстоун + + event.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + event.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) + + event.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + event.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) + + //#endregion + + //#region Выход: Изумруды + + event.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + event.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) + + event.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + event.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) + + //#endregion + + //#region Выход: Алмазы + + event.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + event.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) + + event.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + event.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) + + //#endregion + + //#region Выход: Кварц + + event.remove({ id: 'minecraft:quartz' }) + event.remove({ id: 'minecraft:quartz_from_blasting' }) + + //#endregion + + //#region Выход: Незеритовый лом + + event.remove({ id: 'minecraft:netherite_scrap' }) + event.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + + //#endregion + + //#region Выход: Незеритовый слиток + + event.remove({ id: 'minecraft:netherite_ingot' }) + + //#endregion + + //#region Выход: Песок + + event.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) + event.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + event.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) + + event.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + + // Декрафт разных блоков в песок + event.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) + event.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) + event.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) + event.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) + + //#endregion + + //#region Выход: Песчанник + + event.remove({ id: 'gtceu:compressor/sandstone' }) + + //#endregion + + //#region Выход: Песчанник ступень + + event.remove({ id: 'minecraft:sandstone_stairs' }) + event.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Песчанник плита + + event.remove({ id: 'minecraft:sandstone_slab' }) + event.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Песчанник стена + + event.remove({ id: 'minecraft:sandstone_wall' }) + event.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Гладкий песчанник ступень + + event.remove({ id: 'minecraft:smooth_sandstone_stairs' }) + event.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) + event.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Гладкий песчанник плита + + event.remove({ id: 'minecraft:smooth_sandstone_slab' }) + event.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Обрезанный песчанник + + event.remove({ id: 'minecraft:cut_sandstone' }) + event.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Обрезанный песчанник плита + + event.remove({ id: 'minecraft:cut_sandstone_slab' }) + event.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) + event.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Резной песчанник + + event.remove({ id: 'minecraft:chiseled_sandstone' }) + event.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный песок + + event.remove({ id: 'gtceu:forge_hammer/smooth_red_sandstone_to_red_sand' }) + event.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) + event.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) + + //#endregion + + //#region Выход: Красный песчанник + + event.remove({ id: 'gtceu:compressor/red_sandstone' }) + + //#endregion + + //#region Выход: Красный песчанник ступень + + event.remove({ id: 'minecraft:red_sandstone_stairs' }) + event.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный песчанник плита + + event.remove({ id: 'minecraft:red_sandstone_slab' }) + event.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный песчанник стена + + event.remove({ id: 'minecraft:red_sandstone_wall' }) + event.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный гладкий песчанник ступень + + event.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) + event.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный гладкий песчанник плита + + event.remove({ id: 'minecraft:smooth_red_sandstone_slab' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + event.remove({ id: 'minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный обрезанный песчанник + + event.remove({ id: 'minecraft:cut_red_sandstone' }) + event.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный обрезанный песчанник плита + + event.remove({ id: 'minecraft:cut_red_sandstone_slab' }) + event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) + event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Красный резной песчанник + + event.remove({ id: 'minecraft:chiseled_red_sandstone' }) + event.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) + + //#endregion + + //#region Выход: Dripstone + + event.remove({ id: 'minecraft:dripstone_block' }) + event.remove({ id: 'gtceu:forge_hammer/pointed_dripstone_from_dripstone_block' }) + event.remove({ id: 'gtceu:compressor/dripstone_block_from_pointed_dripstone' }) + + //#endregion + + event.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) // TODO: Сделать с тфк землей + + //#region Выход: Высохшая земля + + event.remove({ id: 'gtceu:mixer/mud' }) + event.remove({ id: 'gtceu:mixer/coarse_dirt' }) + event.remove({ id: 'gtceu:create_mixer/mud' }) + event.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) + + //#endregion + + //#region Выход: Гравий + + event.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) + + //#endregion + + //#region Выход: Дерево + + global.VANILLA_WOOD_TYPES.forEach(wood => { + event.remove({ id: `minecraft:${wood}_planks` }) + event.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) + event.remove({ id: `minecraft:stripped_${wood}_log_via_vanilla_stripping` }) + event.remove({ id: `minecraft:stripped_${wood}_wood` }) + event.remove({ id: `minecraft:stripped_${wood}_wood_via_vanilla_stripping` }) + event.remove({ id: `minecraft:${wood}_wood` }) + event.remove({ id: `minecraft:${wood}_slab` }) + event.remove({ id: `minecraft:${wood}_fence` }) + event.remove({ id: `gtceu:assembler/${wood}_fence` }) + event.remove({ id: `minecraft:${wood}_stairs` }) + event.remove({ id: `gtceu:assembler/${wood}_stairs` }) + event.remove({ id: `minecraft:${wood}_button` }) + event.remove({ id: `minecraft:${wood}_pressure_plate` }) + event.remove({ id: `minecraft:${wood}_door` }) + event.remove({ id: `minecraft:${wood}_trapdoor` }) + event.remove({ id: `minecraft:${wood}_fence_gate` }) + event.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) + event.remove({ id: `minecraft:${wood}_sign` }) + event.remove({ id: `minecraft:${wood}_hanging_sign` }) + event.remove({ id: `gtceu:assembler/${wood}_sign` }) + }); + + event.remove({ id: 'minecraft:stripped_warped_hyphae' }) + event.remove({ id: 'minecraft:warped_hyphae' }) + event.remove({ id: 'minecraft:stripped_crimson_hyphae' }) + event.remove({ id: 'minecraft:crimson_hyphae' }) + + //#endregion + + //#region Выход: Камнерез + + event.remove({ id: 'minecraft:stonecutter' }) + + //#endregion + + //#region Выход: Плотная грязь + + event.remove({ id: 'minecraft:packed_mud' }) + + //#endregion + + //#region Выход: Грязные кирпичи + + event.remove({ id: 'minecraft:mud_bricks' }) + + //#endregion + + //#region Выход: Грязные кирпичи ступень + + event.remove({ id: 'minecraft:mud_brick_stairs' }) + event.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Грязные кирпичи плита + + event.remove({ id: 'minecraft:mud_brick_slab' }) + event.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Грязные кирпичи стена + + event.remove({ id: 'minecraft:mud_brick_wall' }) + event.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Медный блок (Подчищаем за разрабом грега) + + event.remove({ id: 'minecraft:copper_block' }) + + //#endregion + + //#region Выход: Незер кирпич + + event.remove({ id: 'minecraft:nether_bricks' }) + event.remove({ id: 'gtceu:compressor/nether_bricks' }) + + //#endregion + + //#region Выход: Потрескавшийся незер кирпич + + event.remove({ id: 'minecraft:cracked_nether_bricks' }) + + //#endregion + + //#region Выход: Незер ступень + + event.remove({ id: 'minecraft:nether_brick_stairs' }) + event.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Незер полублок + + event.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) + event.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Незер стена + + event.remove({ id: 'minecraft:nether_brick_wall' }) + event.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Незер забор + + event.remove({ id: 'minecraft:nether_brick_fence' }) + event.remove({ id: 'gtceu:assembler/nether_brick_fence' }) + + //#endregion + + //#region Выход: Резной незер кирпич + + event.remove({ id: 'minecraft:chiseled_nether_bricks' }) + event.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Красный незер кирпич + + event.remove({ id: 'minecraft:red_nether_bricks' }) + event.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) + + //#endregion + + //#region Выход: Ступень из красного незер кирпича + + event.remove({ id: 'minecraft:red_nether_brick_stairs' }) + event.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Полублок из красного незер кирпича + + event.remove({ id: 'minecraft:red_nether_brick_slab' }) + event.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Стена из красного незер кирпича + + event.remove({ id: 'minecraft:red_nether_brick_wall' }) + event.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) + + //#endregion + + //#region Выход: Базальт + + event.remove({ id: 'gtceu:rock_breaker/basalt' }) + + //#endregion + + //#region Выход: Гладкий базальт + + event.remove({ id: 'minecraft:smooth_basalt' }) + + //#endregion + + //#region Выход: Полированный базальт + + event.remove({ id: 'minecraft:polished_basalt' }) + event.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) + + //#endregion + + //#region Выход: Ступень из черного камня + + event.remove({ id: 'minecraft:blackstone_stairs' }) + + //#endregion + + //#region Выход: Полублок из черного камня + + event.remove({ id: 'minecraft:blackstone_slab' }) + + //#endregion + + //#region Выход: Стена из черного камня + + event.remove({ id: 'minecraft:blackstone_wall' }) + + //#endregion + + //#region Выход: Резной гладкий черный камень + + event.remove({ id: 'minecraft:chiseled_polished_blackstone' }) + event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) + event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Гладкий черный камень + + event.remove({ id: 'minecraft:polished_blackstone' }) + event.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Ступени из гладкого черного камня + + event.remove({ id: 'minecraft:polished_blackstone_stairs' }) + event.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Полублоки из гладкого черного камня + + event.remove({ id: 'minecraft:polished_blackstone_slab' }) + event.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Стена из гладкого черного камня + + event.remove({ id: 'minecraft:polished_blackstone_wall' }) + event.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Кирпичи из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_bricks' }) + event.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Потрескавшиеся кирпичи из черного камня + + event.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) + + //#endregion + + //#region Выход: Ступени из кирпичей из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Полублоки из кирпичей из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_brick_slab' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Стена из кирпичей из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) + event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) + + //#endregion + + //#region Выход: Нажимная плита из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) + + //#endregion + + //#region Выход: Кнопка из черного камня + + event.remove({ id: 'minecraft:polished_blackstone_button' }) + + //#endregion + + //#region Выход: Медные блоки + + //#region Удаление + + //#region Обычные + + event.remove({ id: 'minecraft:cut_copper' }) + event.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) + + event.remove({ id: 'minecraft:cut_copper_stairs' }) + event.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) + + event.remove({ id: 'minecraft:cut_copper_slab' }) + event.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) + + event.remove({ id: 'minecraft:exposed_cut_copper' }) + event.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) + event.remove({ id: 'minecraft:exposed_cut_copper_slab' }) + + event.remove({ id: 'minecraft:weathered_cut_copper' }) + event.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) + event.remove({ id: 'minecraft:weathered_cut_copper_slab' }) + + event.remove({ id: 'minecraft:oxidized_cut_copper' }) + event.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) + event.remove({ id: 'minecraft:oxidized_cut_copper_slab' }) + + //#endregion + + //#region В меде + + event.remove({ id: 'minecraft:waxed_copper_block_from_honeycomb' }) + + event.remove({ id: 'minecraft:waxed_cut_copper_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_cut_copper' }) + + event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) + + event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_cut_copper_slab' }) + + event.remove({ id: 'minecraft:waxed_exposed_copper_from_honeycomb' }) + + event.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) + + event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) + + event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab' }) + + event.remove({ id: 'minecraft:waxed_weathered_copper_from_honeycomb' }) + + event.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_weathered_cut_copper' }) + + event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) + + event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab' }) + + event.remove({ id: 'minecraft:waxed_oxidized_copper_from_honeycomb' }) + + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) + + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) + + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_honeycomb' }) + event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab' }) + + //#endregion + + //#endregion + + //#region Выход: Блок глины + + event.remove({ id: 'gtceu:fluid_heater/mud_to_clay' }) + + //#endregion + + //#region Выход: Мангровые корни в грязи + + event.remove({ id: 'minecraft:muddy_mangrove_roots' }) + + //#endregion + + //#region Выход: Ковер из мха + + event.remove({ id: 'minecraft:moss_carpet' }) + + //#endregion + + //#region Выход: Плот с сундуком из бамбука + + event.remove({ id: 'minecraft:bamboo_chest_raft' }) + + //#endregion + + //#region Выход: Таблички из бамбука + + event.remove({ id: 'minecraft:bamboo_sign' }) + event.remove({ id: 'minecraft:bamboo_hanging_sign' }) + event.remove({ id: `minecraft:bamboo_button` }) + + //#endregion + + //#region Выход: Высушенные водросли + + event.remove({ id: 'minecraft:dried_kelp' }) + event.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + event.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + + //#endregion + + //#region Древесный уголь + + event.remove({ id: 'minecraft:charcoal' }) + + //#endregion + + //#region Выход: Высушенные водросли блок + + event.remove({ id: 'minecraft:dried_kelp_block' }) + + //#endregion + + //#region Выход: Бумага + + event.remove({ id: 'gtceu:shaped/paper' }) + + event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) + + //#endregion + + //#region Выход: Сахар + + event.remove({ id: 'gtceu:shaped/sugar' }) + event.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + event.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) + + //#endregion + + //#region Выход: Ферментированный паучий глаз + + event.remove({ id: 'minecraft:fermented_spider_eye' }) + event.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + event.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) + + //#endregion + + //#region Выход: Семена тыквы + + event.remove({ id: 'minecraft:pumpkin_seeds' }) + event.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) + + //#endregion + + //#region Выход: Семена арбуза + + event.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) + event.remove({ id: 'gtceu:macerator/macerate_melon_block' }) + + //#endregion + + //#region Выход: Шалкеры + + event.remove({ id: 'minecraft:shulker_box' }) + event.remove({ id: 'tfc:barrel/dye/bleach_shulkers' }) + event.remove({ id: 'gtceu:assembler/purple_shulker_box' }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) + }) + + //#endregion + + //#region Выход: Кондуит + + event.remove({ id: 'minecraft:conduit' }) + + //#endregion + + //#region Выход: Калиброванный сенсор Скалка + + event.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + + //#endregion + + //#region Выход: Вагонетка с сундуком + + event.remove({ id: 'gtceu:assembler/chest_minecart' }) + + //#endregion + + //#region Выход: Верстак + + event.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) + event.remove({ id: 'gtceu:assembler/crafting_table' }) + + //#endregion + + //#region Выход: Хлеб + + event.remove({ id: 'minecraft:bread' }) + + //#endregion + + //#region Выход: Жаренная свинина + + event.remove({ id: 'minecraft:cooked_porkchop' }) + event.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + + //#endregion + + //#region Выход: Жаренная курятина + + event.remove({ id: 'minecraft:cooked_chicken' }) + event.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + + //#endregion + + //#region Выход: Жаренная козлятина + + event.remove({ id: 'minecraft:cooked_mutton' }) + event.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + + //#endregion + + //#region Выход: Жаренная зайчатина + + event.remove({ id: 'minecraft:cooked_rabbit' }) + event.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + + //#endregion + + //#region Выход: Жаренная коровятина + + event.remove({ id: 'minecraft:cooked_beef' }) + event.remove({ id: 'minecraft:cooked_beef_from_smoking' }) + + //#endregion + + //#region Выход: Торт + + event.remove({ id: 'minecraft:cake' }) + + //#endregion + + //#region Выход: Печеньки (Нееет) + + event.remove({ id: 'minecraft:cookie' }) + + //#endregion + + //#region Выход: Сундук + + event.remove({ id: 'gtceu:assembler/chest' }) + + //#endregion + + //#region Выход: Удочки + + event.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + event.remove({ id: 'minecraft:carrot_on_a_stick' }) + + //#endregion + + //#region Выход: Спасательный компас + + event.remove({ id: 'minecraft:recovery_compass' }) + + //#endregion + + //#region Выход: Компасс + + event.remove({ id: 'tfc:crafting/vanilla/compass' }) + event.remove({ id: 'gtceu:assembler/compass' }) + + //#endregion + + //#region Выход: Незеритовый слиток + + event.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) + + //#endregion + + //#region Выход: Незеритовый блок + + event.remove({ id: 'minecraft:netherite_block' }) + + //#endregion + + //#region Выход: Lodestone + + event.remove({ id: 'minecraft:lodestone' }) + + //#endregion + + //#region Выход: Железный люк + + event.remove({ id: 'gtceu:assembler/iron_trapdoor' }) + + //#endregion + + //#region Выход: Железная нажимная плита + + event.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) + + //#endregion + + //#region Выход: Жаренный Cod + + event.remove({ id: 'minecraft:cooked_cod' }) + event.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + + //#endregion + + //#region Выход: Жаренный Salmon + + event.remove({ id: 'minecraft:cooked_salmon' }) + event.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + + //#endregion + + //#region Выход: Улей + + event.remove({ id: 'minecraft:beehive' }) + + //#endregion + + //#region Выход: Блок сот + + event.remove({ id: 'minecraft:honeycomb_block' }) + + //#endregion + + //#region Выход: Пузырек с медом + + event.remove({ id: 'minecraft:honey_bottle' }) + + //#endregion + + //#region Выход: Блок меда + + event.remove({ id: 'minecraft:honey_block' }) + + //#endregion + + //#region Выход: Прожаренный фрукт хоруса + + event.remove({ id: 'minecraft:popped_chorus_fruit' }) + + //#endregion + + //#region Выход: Фиолетовый блок + + event.remove({ id: 'gtceu:compressor/purpur_block' }) + + //#endregion + + //#region Выход: Фиолетовый блок ступень + + event.remove({ id: 'minecraft:purpur_stairs' }) + event.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) + + //#endregion + + //#region Выход: Фиолетовый блок плита + + event.remove({ id: 'minecraft:purpur_slab' }) + event.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) + event.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) + + //#endregion + + //#region Выход: Фиолетовый блок столб + + event.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) + + //#endregion + + //#region Выход: Ножницы + + event.remove({ id: 'minecraft:shears' }) + + //#endregion + + //#region Выход: Светильник + + event.remove({ id: 'minecraft:lantern' }) + + //#endregion + + //#region Выход: Цепи + + event.remove({ id: 'minecraft:chain' }) + + //#endregion + + //#region Выход: Светильник адский + + event.remove({ id: 'minecraft:soul_lantern' }) + + //#endregion + + //#region Выход: Стол для ковки + + event.remove({ id: 'minecraft:smithing_table' }) + + //#endregion + + //#region Выход: Плавильня + + event.remove({ id: 'minecraft:blast_furnace' }) + + //#endregion + + //#region Выход: Коптильня + + event.remove({ id: 'minecraft:blast_furnace' }) + + //#endregion + + //#region Выход: Жаренный картофель + + event.remove({ id: 'minecraft:baked_potato' }) + event.remove({ id: 'minecraft:baked_potato_from_smoking' }) + + //#endregion + + //#region Выход: Декор ваза + + event.remove({ id: 'minecraft:decorated_pot_simple' }) + + //#endregion + + //#region Выход: Резные книжные полки + + event.remove({ id: 'minecraft:book' }) + event.remove({ id: 'minecraft:chiseled_bookshelf' }) + + //#endregion + + //#region Выход: Книжные полки + + event.remove({ id: 'gtceu:assembler/bookshelf' }) + + //#endregion + + //#region Выход: Стержень энда + + event.remove({ id: 'minecraft:end_rod' }) + event.remove({ id: 'gtceu:assembler/end_rod' }) + + //#endregion + + //#region Выход: Кисточка + + event.remove({ id: 'minecraft:brush' }) + + //#endregion + + //#region Выход: Книга + + event.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) + + //#endregion + + //#region Выход: Золотое яблоко + + event.remove({ id: 'minecraft:golden_apple' }) + + //#endregion + + //#region Кольчуга + + event.remove({ id: 'gtceu:shaped/chainmail_boots' }) + event.remove({ id: 'gtceu:shaped/chainmail_leggings' }) + event.remove({ id: 'gtceu:shaped/chainmail_chestplate' }) + event.remove({ id: 'gtceu:shaped/chainmail_helmet' }) + event.remove({ id: 'gtceu:arc_furnace/arc_chainmail_boots' }) + event.remove({ id: 'gtceu:arc_furnace/arc_chainmail_leggings' }) + event.remove({ id: 'gtceu:arc_furnace/arc_chainmail_chestplate' }) + event.remove({ id: 'gtceu:arc_furnace/arc_chainmail_helmet' }) + event.remove({ id: 'gtceu:macerator/macerate_chainmail_boots' }) + event.remove({ id: 'gtceu:macerator/macerate_chainmail_leggings' }) + event.remove({ id: 'gtceu:macerator/macerate_chainmail_chestplate' }) + event.remove({ id: 'gtceu:macerator/macerate_chainmail_helmet' }) + event.remove({ id: 'minecraft:iron_nugget_from_smelting' }) + event.remove({ id: 'minecraft:iron_nugget_from_blasting' }) + + //#endregion + + //#region Железная броня + + event.remove({ id: 'gtceu:arc_furnace/arc_iron_boots' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_leggings' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_chestplate' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_helmet' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_boots' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_leggings' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_chestplate' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_helmet' }) + event.remove({ id: 'gtceu:shaped/iron_horse_armor' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_horse_armor' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_horse_armor' }) + + //#endregion + + //#region Золотая броня + + event.remove({ id: 'gtceu:arc_furnace/arc_golden_boots' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_leggings' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_chestplate' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_helmet' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_boots' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_leggings' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_chestplate' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_helmet' }) + event.remove({ id: 'gtceu:shaped/golden_horse_armor' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_horse_armor' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_horse_armor' }) + event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + + //#endregion + + //#region Алмазная броня + + event.remove({ id: 'gtceu:macerator/macerate_diamond_boots' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_leggings' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_chestplate' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_helmet' }) + event.remove({ id: 'gtceu:shaped/diamond_horse_armor' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_horse_armor' }) + + //#endregion + + //#region Незеритовая броня + + event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) + event.remove({ id: 'minecraft:netherite_helmet_smithing' }) + event.remove({ id: 'minecraft:netherite_chestplate_smithing' }) + event.remove({ id: 'minecraft:netherite_leggings_smithing' }) + event.remove({ id: 'minecraft:netherite_boots_smithing' }) + + //#endregion + + //#region Деревянные инструменты + + event.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) + + //#endregion + + //#region Каменные инстурменты + + event.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + + //#endregion + + //#region Железные инструменты + + event.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_sword' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_pickaxe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_axe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_shovel' }) + event.remove({ id: 'gtceu:arc_furnace/arc_iron_hoe' }) + + //#endregion + + //#region Золотые инструменты + + event.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_sword' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_pickaxe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_axe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_shovel' }) + event.remove({ id: 'gtceu:arc_furnace/arc_golden_hoe' }) + + //#endregion + + //#region Алмазные инструменты + + event.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) + event.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_diamond_sword' }) + event.remove({ id: 'gtceu:arc_furnace/arc_diamond_pickaxe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_diamond_axe' }) + event.remove({ id: 'gtceu:arc_furnace/arc_diamond_shovel' }) + event.remove({ id: 'gtceu:arc_furnace/arc_diamond_hoe' }) + + //#endregion + + //#region Незеритовые инструменты + + event.remove({ id: 'minecraft:netherite_sword_smithing' }) + event.remove({ id: 'minecraft:netherite_pickaxe_smithing' }) + event.remove({ id: 'minecraft:netherite_axe_smithing' }) + event.remove({ id: 'minecraft:netherite_shovel_smithing' }) + event.remove({ id: 'minecraft:netherite_hoe_smithing' }) + + //#endregion + + //#region Выход: Компаратор + + event.remove({ id: 'minecraft:comparator' }) + event.remove({ id: 'gtceu:shaped/comparator_quartzite' }) + event.remove({ id: 'gtceu:shaped/comparator_certus' }) + event.remove({ id: 'tfc:crafting/vanilla/redstone/comparator' }) + + //#endregion + + //#region Выход: Крюк + + event.remove({ id: 'minecraft:tripwire_hook' }) + event.remove({ id: 'tfc:crafting/vanilla/redstone/tripwire_hook' }) + event.remove({ id: 'gtceu:assembler/tripwire_hook_wrought_iron' }) + event.remove({ id: 'gtceu:assembler/tripwire_hook_iron' }) + + //#endregion + + //#region Выход: Рамка + + event.remove({ id: 'minecraft:item_frame' }) + + //#endregion + + //#region Выход: Палки + + event.remove({ id: 'minecraft:stick' }) + + //#endregion + + //#region Выход: Огниво + + event.remove({ id: 'tfc:crafting/vanilla/flint_and_steel' }) + event.remove({ id: 'ad_astra:recipes/flint_and_steel' }) + + //#endregion + + //#region Выход: Наковальни + + event.remove({ id: 'gtceu:alloy_smelter/anvil' }) + event.remove({ id: 'gtceu:fluid_solidifier/solidify_anvil' }) + + //#endregion + + // #region Grindstone + + event.remove({ id: 'minecraft:grindstone' }) + + // #endregion + + //#region Выход: Железные прутья + + event.remove({ id: 'gtceu:shaped/iron_bars' }) + event.remove({ id: 'gtceu:assembler/iron_bars' }) + + //#endregion + + //#region Выход: Печь + + event.remove({ id: 'gtceu:assembler/furnace' }) + + //#endregion + + //#region Выход: Вагонетка с печью + + event.remove({ id: 'minecraft:furnace_minecart' }) + event.remove({ id: 'gtceu:assembler/furnace_minecart' }) + + //#endregion + + //#region Выход: Повторитель + + event.remove({ id: 'minecraft:repeater' }) + + //#endregion + + //#region Выход: Седло + + event.remove({ id: 'gtceu:shaped/saddle' }) + + //#endregion + + //#region Выход: Блок лазурита + + event.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + + //#endregion + + //#region Выход: Ведро + + event.remove({ id: 'gtceu:bender/bucket' }) + event.remove({ id: 'gtceu:shaped/iron_bucket' }) + + //#endregion + + //#region Выход: Вагонетка + + event.remove({ id: 'minecraft:minecart' }) + + //#endregion + + //#region Выход: Тигель + + event.remove({ id: 'tfc:crafting/vanilla/cauldron' }) + + //#endregion + + //#region Выход: Детектор света + + event.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) + + //#endregion + + //#region Выход: Воронка + + event.remove({ id: 'gtceu:assembler/hopper_iron' }) + event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + event.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) + + //#endregion + + //#region Выход: Поршень + + event.remove({ id: 'minecraft:piston' }) + event.remove({ id: 'gtceu:shaped/piston_titanium' }) + event.remove({ id: 'gtceu:shaped/piston_steel' }) + event.remove({ id: 'gtceu:shaped/piston_bronze' }) + event.remove({ id: 'gtceu:shaped/piston_aluminium' }) + + event.remove({ id: 'gtceu:assembler/piston_titanium' }) + event.remove({ id: 'gtceu:assembler/piston_steel' }) + event.remove({ id: 'gtceu:assembler/piston_iron' }) + event.remove({ id: 'gtceu:assembler/piston_bronze' }) + event.remove({ id: 'gtceu:assembler/piston_aluminium' }) + + //#endregion + + //#region Выход: Кожа + + event.remove({ id: 'minecraft:leather' }) + + //#endregion + + // #region Веревка + + event.remove({ id: 'gtceu:assembler/lead' }) + + // #endregion + + //#region Выход: Свечи + + event.remove({ id: `minecraft:candle` }) + + //#endregion + + //#region Из креозота. Я не виноват, что рецепт с ведром грега не работает + + event.remove({ id: 'gtceu:shaped/torch_creosote' }) + + //#endregion + + //#region Выход: Арбалет + + event.remove({ id: 'minecraft:crossbow' }) + + //#endregion + + //#region Выход: Наблюдатель + + event.remove({ id: 'minecraft:observer' }) + + //#endregion + + //#region Выход: Рельсы + + event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + + //#endregion + + //#region Выход: Заряженные рельсы + + event.remove({ id: 'minecraft:powered_rail' }) + + //#endregion + + //#region Выход: Активаторные рельсы + + event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + event.remove({ id: 'minecraft:activator_rail' }) + + //#endregion + + //#region Выход: Нажимные рельсы + + event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) + event.remove({ id: 'minecraft:detector_rail' }) + + //#endregion + + //#region Выход: Варочная стойка + + event.remove({ id: 'minecraft:brewing_stand' }) + + //#endregion + + //#region Выход: Кирпич + + event.remove({ id: 'minecraft:brick' }) + + //#endregion + + //#region Выъод: Незер кирпич + + event.remove({ id: 'gtceu:extractor/nether_bricks_extraction' }) + event.remove({ id: 'gtceu:alloy_smelter/form_nether_brick' }) + + //#endregion + + //#region Выход: Свечи + + event.remove({ id: `minecraft:candle` }) + + //#endregion + + //#region Выход: Арбалет + + event.remove({ id: 'minecraft:crossbow' }) + + //#endregion + + //#region Выход: Незер бревна + + event.remove({ id: 'minecraft:stripped_crimson_stem_via_vanilla_stripping' }) + event.remove({ id: 'minecraft:stripped_crimson_hyphae_via_vanilla_stripping' }) + + event.remove({ id: 'minecraft:stripped_warped_stem_via_vanilla_stripping' }) + event.remove({ id: 'minecraft:stripped_warped_hyphae_via_vanilla_stripping' }) + + //#endregion + + //#region Выход: Якорь возрождения + + event.remove({ id: 'minecraft:respawn_anchor' }) + + //#endregion + + //#region Исправление дерьма с медью (Однажды разраб GTCEu вспомнит, лучше бы забыл) + + event.remove({ id: 'minecraft:copper_ingot_from_blasting_raw_copper' }) + event.remove({ id: 'minecraft:copper_ingot_from_waxed_copper_block' }) + event.remove({ id: 'minecraft:copper_ingot' }) + + event.remove({ id: 'minecraft:raw_copper_block' }) + event.remove({ id: 'minecraft:raw_copper' }) + + //#endregion + + //#region Исправление дерьма с золотом (Однажды разраб GTCEu вспомнит, лучше бы забыл) + + event.remove({ id: 'minecraft:gold_ingot_from_blasting_raw_gold' }) + + event.remove({ id: 'minecraft:raw_gold_block' }) + event.remove({ id: 'minecraft:raw_gold' }) + + //#endregion + + //#region Исправление дерьма с железом (Однажды разраб GTCEu вспомнит, лучше бы забыл) + + event.remove({ id: 'minecraft:raw_iron_block' }) + event.remove({ id: 'minecraft:raw_iron' }) + + //#endregion + + //#region The End + + event.remove({ id: 'minecraft:ender_chest' }) + event.remove({ id: 'minecraft:end_crystal' }) + + event.remove({ id: 'gtceu:macerator/macerate_end_stone' }) + event.remove({ id: 'gtceu:assembler/ender_chest' }) + event.remove({ id: 'gtceu:assembler/end_crystal' }) + //#endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 596f3af33..07d08f575 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -1,5 +1,9 @@ // priority: 0 +/** + * + * @param {TagEvent.Item} event + */ const registerMinecraftItemTags = (event) => { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) @@ -10,12 +14,50 @@ const registerMinecraftItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) + // Hide potions + event.add('c:hidden_from_recipe_viewers', /minecraft.*potion.*/) + // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') // Бамбуковые полублоки event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + + event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11']) + event.add('tfc:foods', 'minecraft:red_mushroom') + event.add('tfc:foods', 'minecraft:brown_mushroom') + event.add('tfc:foods', 'minecraft:glow_berries') + event.add('tfc:foods', 'minecraft:chorus_fruit') + + event.add('tfc:foods/vegetables', 'minecraft:red_mushroom') + event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom') + event.add('tfc:foods/fruits', 'minecraft:glow_berries') + event.add('tfc:foods/fruits', 'minecraft:chorus_fruit') + + event.add('beneath:usable_in_juicer', 'minecraft:glow_berries') + event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit') + event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom') + event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom') + + event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit') + + event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit') + + event.add('tfc:rock/raw', 'minecraft:deepslate') + event.add('tfc:rock/raw', 'minecraft:blackstone') + event.add('tfc:rock/raw', 'minecraft:dripstone_block') + + event.add('forge:cloth', 'minecraft:phantom_membrane') + event.add('tfc:sewing_dark_cloth', 'minecraft:phantom_membrane') + + event.remove('forge:gems', 'minecraft:charcoal') } const registerMinecraftBlockTags = (event) => { @@ -25,4 +67,63 @@ const registerMinecraftBlockTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + + //#region Nether blocks + + event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') + event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') + + event.add('tfc:rock/raw', 'minecraft:deepslate') + event.add('tfc:rock/raw', 'minecraft:blackstone') + event.add('tfc:rock/raw', 'minecraft:dripstone_block') + event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') + event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate') + event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block') + event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block') + event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone') + event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate') + event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block') + event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone') + event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block') + event.add('tfc:grass_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_plantable_on', 'minecraft:blackstone') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone') + event.add('minecraft:base_stone_nether', 'minecraft:deepslate') + event.add('minecraft:base_stone_nether', 'minecraft:blackstone') + event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block') + event.add('forge:stone', 'minecraft:blackstone') + + event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') + + event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') + event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') + + event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') + event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') + event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') + event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') + event.add('tfg:rock_walls', 'minecraft:blackstone_wall') + event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') + event.add('tfg:brick_walls', 'minecraft:blackstone_wall') + + //#region } \ No newline at end of file diff --git a/kubejs/server_scripts/more_red/recipes.js b/kubejs/server_scripts/more_red/recipes.js index f9b3072f6..064222e34 100644 --- a/kubejs/server_scripts/more_red/recipes.js +++ b/kubejs/server_scripts/more_red/recipes.js @@ -257,15 +257,17 @@ const registerMoreRedRecipes = (event) => { .itemOutputs('morered:red_alloy_wire') .duration(300) .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) global.MINECRAFT_DYE_NAMES.forEach(dye => { event.recipes.gtceu.chemical_bath(`tfg:morered/${dye}_wire`) .itemInputs('morered:red_alloy_wire') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) .itemOutputs(`morered:${dye}_network_cable`) .duration(300) .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) }) diff --git a/kubejs/server_scripts/railways/gpedia_locometal_integration.js b/kubejs/server_scripts/railways/gpedia_locometal_integration.js new file mode 100644 index 000000000..4548a0a31 --- /dev/null +++ b/kubejs/server_scripts/railways/gpedia_locometal_integration.js @@ -0,0 +1,96 @@ +const locometalDyeGroups = { + slashed_locometal: '#railways:palettes/dye_groups/slashed', + riveted_locometal: '#railways:palettes/dye_groups/riveted', + locometal_pillar: '#railways:palettes/dye_groups/pillar', + locometal_smokebox: '#railways:palettes/dye_groups/smokebox', + plated_locometal: '#railways:palettes/dye_groups/plated', + flat_slashed_locometal: '#railways:palettes/dye_groups/flat_slashed', + flat_riveted_locometal: '#railways:palettes/dye_groups/flat_riveted' +} + +const locometalBase = { + slashed_locometal: 'slashed_locometal', + riveted_locometal: 'riveted_locometal', + locometal_pillar: 'locometal_pillar', + locometal_smokebox: 'locometal_smokebox', + plated_locometal: 'plated_locometal', + flat_slashed_locometal: 'flat_slashed_locometal', + flat_riveted_locometal: 'flat_riveted_locometal' +} + +const railwaysLocometalIntegration = (event) => { + for (var locometal in locometalBase) { + event.recipes.create.cutting(`8x railways:${locometal}`, '#forge:storage_blocks/iron').processingTime(200); + event.recipes.create.cutting(`16x railways:${locometal}`, '#forge:storage_blocks/wrought_iron').processingTime(200); + event.recipes.create.cutting(`24x railways:${locometal}`, '#forge:storage_blocks/steel').processingTime(200); + event.recipes.create.cutting(`railways:${locometal}`, `#railways:palettes/cycle_groups/base`).processingTime(20); + event.recipes.gtceu.chemical_bath(`gpedia:undying/locometal/${locometal}`) + .itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1)) + .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) + .itemOutputs(Item.of(`railways:${locometal}`)) + .duration(20) + .EUt(24) + } + + event.recipes.create.item_application(`railways:iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/wrought_iron']); + event.recipes.create.item_application(`railways:copper_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/copper']); + event.recipes.create.item_application(`railways:brass_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/brass']) + + event.recipes.gtceu.chemical_bath(`gpedia:undying/brass_wrapped_locometal`) + .itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed') + .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) + .itemOutputs(`railways:brass_wrapped_locometal`) + .duration(20) + .EUt(24); + event.recipes.gtceu.chemical_bath(`gpedia:undying/copper_wrapped_locometal`) + .itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed') + .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) + .itemOutputs(`railways:copper_wrapped_locometal`) + .duration(20) + .EUt(24); + event.recipes.gtceu.chemical_bath(`gpedia:undying/iron_wrapped_locometal`) + .itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed') + .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) + .itemOutputs(`railways:iron_wrapped_locometal`) + .duration(20) + .EUt(24) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + for (var locometal in locometalBase) { + event.recipes.gtceu.chemical_bath(`gpedia:chemical_dying_locometal/${locometal}/${dye}`) + .itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1)) + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) + .itemOutputs(Item.of(`railways:${dye}_${locometal}`)) + .duration(20) + .EUt(24); + event.shapeless( + Item.of(`railways:${dye}_${locometal}`, 8), + [ + Item.of(locometalDyeGroups[`${locometal}`], 8), + `1x #forge:dyes/${dye}_dye` + ] + ) + }; + event.recipes.create.item_application(`railways:${dye}_iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/wrought_iron']); + event.recipes.create.item_application(`railways:${dye}_copper_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/copper']); + event.recipes.create.item_application(`railways:${dye}_brass_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/brass']); + event.recipes.gtceu.chemical_bath(`gpedia:brass_locometal_bathing/${dye}`) + .itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) + .itemOutputs(`railways:${dye}_brass_wrapped_locometal`) + .duration(20) + .EUt(24); + event.recipes.gtceu.chemical_bath(`gpedia:copper_locometal_bathing/${dye}`) + .itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) + .itemOutputs(`railways:${dye}_copper_wrapped_locometal`) + .duration(20) + .EUt(24); + event.recipes.gtceu.chemical_bath(`gpedia:locometal_bathing/${dye}`) + .itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) + .itemOutputs(`railways:${dye}_iron_wrapped_locometal`) + .duration(20) + .EUt(24); + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 6aa225daa..ba3035089 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -1,363 +1,365 @@ // priority: 0 const registerRailWaysRecipes = (event) => { - - // Удаление рецептов мода railways - event.remove({ mod: 'railways' }); - // Семафор - event.shaped('railways:semaphore', [ - ' A ', - 'BCD', - 'EAE' - ], { - A: '#forge:plates/wrought_iron', - B: '#minecraft:fences', - C: 'create:andesite_casing', - D: 'create:electron_tube', - E: '#forge:tools/hammers', - }).id('tfg:railways/shaped/semaphore') + // Удаление рецептов мода railways + event.remove({ mod: 'railways' }); + + railwaysLocometalIntegration(event) - event.recipes.gtceu.assembler('tfg:railways/semaphore') - .itemInputs('2x #forge:plates/wrought_iron', '#minecraft:fences', 'create:andesite_casing', 'create:electron_tube') - .circuit(3) - .itemOutputs('railways:semaphore') - .duration(200) - .EUt(28) + // Семафор + event.shaped('railways:semaphore', [ + ' A ', + 'BCD', + 'EAE' + ], { + A: '#forge:plates/wrought_iron', + B: '#minecraft:fences', + C: 'create:andesite_casing', + D: 'create:electron_tube', + E: '#forge:tools/hammers', + }).id('tfg:railways/shaped/semaphore') - // Соединитель поездов - event.shaped('railways:track_coupler', [ - 'AAA', - 'DBE', - ' C ' - ], { - A: '#forge:sheets/wrought_iron', - B: 'gtceu:red_alloy_single_wire', - C: 'create:railway_casing', - D: '#forge:tools/wire_cutters', - E: '#forge:tools/screwdrivers', - }).id('tfg:railways/shaped/track_coupler') + event.recipes.gtceu.assembler('tfg:railways/semaphore') + .itemInputs('2x #forge:plates/wrought_iron', '#minecraft:fences', 'create:andesite_casing', 'create:electron_tube') + .circuit(3) + .itemOutputs('railways:semaphore') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/track_coupler') - .itemInputs('3x #forge:sheets/wrought_iron', 'gtceu:red_alloy_single_wire', 'create:railway_casing') - .circuit(3) - .itemOutputs('railways:track_coupler') - .duration(200) - .EUt(28) + // Соединитель поездов + event.shaped('railways:track_coupler', [ + 'AAA', + 'DBE', + ' C ' + ], { + A: '#forge:sheets/wrought_iron', + B: 'gtceu:red_alloy_single_wire', + C: 'create:railway_casing', + D: '#forge:tools/wire_cutters', + E: '#forge:tools/screwdrivers', + }).id('tfg:railways/shaped/track_coupler') - // Переключатель пути поезда из андезита - event.shaped('railways:track_switch_andesite', [ - 'BAB', - 'CDC', - 'ECF' - ], { - A: 'minecraft:lever', - B: '#forge:bolts/wrought_iron', - C: 'create:cogwheel', - D: 'create:andesite_casing', - E: '#forge:tools/screwdrivers', - F: '#forge:tools/hammers', - }).id('tfg:railways/shaped/track_switch_andesite') + event.recipes.gtceu.assembler('tfg:railways/track_coupler') + .itemInputs('3x #forge:sheets/wrought_iron', 'gtceu:red_alloy_single_wire', 'create:railway_casing') + .circuit(3) + .itemOutputs('railways:track_coupler') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite') - .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:andesite_casing') - .circuit(3) - .itemOutputs('railways:track_switch_andesite') - .duration(200) - .EUt(28) + // Переключатель пути поезда из андезита + event.shaped('railways:track_switch_andesite', [ + 'BAB', + 'CDC', + 'ECF' + ], { + A: 'minecraft:lever', + B: '#forge:bolts/wrought_iron', + C: '#tfg:small_cogwheels', + D: 'create:andesite_casing', + E: '#forge:tools/screwdrivers', + F: '#forge:tools/hammers', + }).id('tfg:railways/shaped/track_switch_andesite') - // Переключатель пути поезда из латуни - event.shaped('railways:track_switch_brass', [ - 'BAB', - 'CDC', - 'ECF' - ], { - A: 'minecraft:lever', - B: '#forge:bolts/brass', - C: 'create:cogwheel', - D: 'create:brass_casing', - E: '#forge:tools/screwdrivers', - F: '#forge:tools/hammers', - }).id('tfg:railways/shaped/track_switch_brass') + event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite') + .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #tfg:small_cogwheels', 'create:andesite_casing') + .circuit(3) + .itemOutputs('railways:track_switch_andesite') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/track_switch_brass') - .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:brass_casing') - .circuit(3) - .itemOutputs('railways:track_switch_brass') - .duration(200) - .EUt(28) + // Переключатель пути поезда из латуни + event.shaped('railways:track_switch_brass', [ + 'BAB', + 'CDC', + 'ECF' + ], { + A: 'minecraft:lever', + B: '#forge:bolts/brass', + C: '#tfg:small_cogwheels', + D: 'create:brass_casing', + E: '#forge:tools/screwdrivers', + F: '#forge:tools/hammers', + }).id('tfg:railways/shaped/track_switch_brass') - // Свисток кондуктора - event.shaped('railways:conductor_whistle', [ - 'ABC' - ], { - A: '#forge:plates/brass', - B: '#forge:tools/hammers', - C: '#forge:tools/files', - }).id('tfg:railways/shaped/conductor_whistle') + event.recipes.gtceu.assembler('tfg:railways/track_switch_brass') + .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #tfg:small_cogwheels', 'create:brass_casing') + .circuit(3) + .itemOutputs('railways:track_switch_brass') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/conductor_whistle') - .itemInputs('#forge:plates/brass') - .circuit(4) - .itemOutputs('railways:conductor_whistle') - .duration(200) - .EUt(28) + // Свисток кондуктора + event.shaped('railways:conductor_whistle', [ + 'ABC' + ], { + A: '#forge:plates/brass', + B: '#forge:tools/hammers', + C: '#forge:tools/files', + }).id('tfg:railways/shaped/conductor_whistle') - // Удаленная линза - event.shaped('railways:remote_lens', [ - 'ABC', - 'DE ' - ], { - A: '#forge:plates/brass', - B: '#forge:tools/hammers', - C: '#forge:tools/files', - D: 'create:precision_mechanism', - E: 'ae2:wireless_access_point' - }).id('tfg:railways/shaped/remote_lens') + event.recipes.gtceu.assembler('tfg:railways/conductor_whistle') + .itemInputs('#forge:plates/brass') + .circuit(4) + .itemOutputs('railways:conductor_whistle') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/remote_lens') - .itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'ae2:wireless_access_point') - .circuit(3) - .itemOutputs('railways:remote_lens') - .duration(200) - .EUt(28) + // Удаленная линза + event.shaped('railways:remote_lens', [ + 'ABC', + 'DE ' + ], { + A: '#forge:plates/brass', + B: '#forge:tools/hammers', + C: '#forge:tools/files', + D: 'create:precision_mechanism', + E: 'gtceu:lv_sensor' + }).id('tfg:railways/shaped/remote_lens') - // Дымогенератор 1 - event.shaped('railways:smokestack_caboosestyle', [ - 'BCB', - 'DA ' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:nuggets/black_steel', - C: '#forge:plates/black_steel', - D: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_caboosestyle') + event.recipes.gtceu.assembler('tfg:railways/remote_lens') + .itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'gtceu:lv_sensor') + .circuit(3) + .itemOutputs('railways:remote_lens') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel', '#forge:plates/black_steel') - .circuit(4) - .itemOutputs('railways:smokestack_caboosestyle') - .duration(200) - .EUt(28) + // Дымогенератор 1 + event.shaped('railways:smokestack_caboosestyle', [ + 'BCB', + 'DA ' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:nuggets/black_steel', + C: '#forge:plates/black_steel', + D: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_caboosestyle') - // Дымогенератор 2 - event.shaped('railways:smokestack_long', [ - 'C ', - 'BAB' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:nuggets/black_steel', - C: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_long') + event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel', '#forge:plates/black_steel') + .circuit(4) + .itemOutputs('railways:smokestack_caboosestyle') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_long') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel') - .circuit(5) - .itemOutputs('railways:smokestack_long') - .duration(200) - .EUt(28) + // Дымогенератор 2 + event.shaped('railways:smokestack_long', [ + 'C ', + 'BAB' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:nuggets/black_steel', + C: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_long') - // Дымогенератор 3 - event.shaped('railways:smokestack_coalburner', [ - 'B B', - 'BCB', - 'BAB' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', - C: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_coalburner') + event.recipes.gtceu.assembler('tfg:railways/smokestack_long') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel') + .circuit(5) + .itemOutputs('railways:smokestack_long') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') - .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') - .circuit(6) - .itemOutputs('railways:smokestack_coalburner') - .duration(200) - .EUt(28) + // Дымогенератор 3 + event.shaped('railways:smokestack_coalburner', [ + 'B B', + 'BCB', + 'BAB' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:plates/black_steel', + C: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_coalburner') - // Дымогенератор 4 - event.shaped('railways:smokestack_oilburner', [ - 'BCB', - 'BAB' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', - C: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_oilburner') + event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') + .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') + .circuit(6) + .itemOutputs('railways:smokestack_coalburner') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') - .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') - .circuit(7) - .itemOutputs('railways:smokestack_oilburner') - .duration(200) - .EUt(28) + // Дымогенератор 4 + event.shaped('railways:smokestack_oilburner', [ + 'BCB', + 'BAB' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:plates/black_steel', + C: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_oilburner') - // Дымогенератор 5 - event.shaped('railways:smokestack_streamlined', [ - 'C ', - 'BAB' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', - C: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_streamlined') + event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') + .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') + .circuit(7) + .itemOutputs('railways:smokestack_oilburner') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel') - .circuit(8) - .itemOutputs('railways:smokestack_streamlined') - .duration(200) - .EUt(28) + // Дымогенератор 5 + event.shaped('railways:smokestack_streamlined', [ + 'C ', + 'BAB' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:plates/black_steel', + C: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_streamlined') - // Дымогенератор 6 - event.shaped('railways:smokestack_woodburner', [ - ' D ', - 'CBC', - 'BAB' - ], { - A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', - C: '#forge:nuggets/black_steel', - D: '#forge:tools/hammers' - }).id('tfg:railways/shaped/smokestack_woodburner') + event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel') + .circuit(8) + .itemOutputs('railways:smokestack_streamlined') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') - .itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:nuggets/black_steel') - .circuit(9) - .itemOutputs('railways:smokestack_woodburner') - .duration(200) - .EUt(28) - - // Вентилятор радиатора - event.shaped('2x railways:smokestack_diesel', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:rods/wrought_iron', - C: 'create:propeller', - }).id('tfg:railways/shaped/smokestack_diesel') + // Дымогенератор 6 + event.shaped('railways:smokestack_woodburner', [ + ' D ', + 'CBC', + 'BAB' + ], { + A: '#forge:storage_blocks/charcoal', + B: '#forge:plates/black_steel', + C: '#forge:nuggets/black_steel', + D: '#forge:tools/hammers' + }).id('tfg:railways/shaped/smokestack_woodburner') - // Монорельс - event.recipes.createSequencedAssembly([ - '4x railways:track_monorail', - ], 'create:metal_girder', [ - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), - event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), - event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), - ]).transitionalItem('railways:track_incomplete_monorail').loops(1).id('tfg:railways/sequenced_assembly/track_monorail') + event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') + .itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:nuggets/black_steel') + .circuit(9) + .itemOutputs('railways:smokestack_woodburner') + .duration(200) + .EUt(28) - event.recipes.gtceu.assembler('railways/monorail') - .itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron') - .itemOutputs('4x railways:track_monorail') - .duration(250) - .EUt(32) + // Вентилятор радиатора + event.shaped('2x railways:smokestack_diesel', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:rods/wrought_iron', + C: 'create:propeller', + }).id('tfg:railways/shaped/smokestack_diesel') - // Железнодорожное полотно (Узкое) - event.recipes.createSequencedAssembly([ - '8x railways:track_create_andesite_narrow', - ], '#tfg:rock_slabs', [ - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']), - event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), - ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') + // Монорельс + event.recipes.createSequencedAssembly([ + '4x railways:track_monorail', + ], 'create:metal_girder', [ + event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:tools/hammers']), + event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:tools/hammers']), + ]).transitionalItem('railways:track_incomplete_monorail').loops(1).id('tfg:railways/sequenced_assembly/track_monorail') - event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') - .itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod') - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs('8x railways:track_create_andesite_narrow') - .duration(800) - .EUt(16) + event.recipes.gtceu.assembler('railways/monorail') + .itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron') + .itemOutputs('4x railways:track_monorail') + .duration(250) + .EUt(32) + + // Железнодорожное полотно (Узкое) + event.recipes.createSequencedAssembly([ + '8x railways:track_create_andesite_narrow', + ], '#tfg:rock_slabs', [ + event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#forge:tools/hammers']), + ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') + + event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') + .itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs('8x railways:track_create_andesite_narrow') + .duration(800) + .EUt(16) .circuit(1) - // Железнодорожное полотно (Нормальное) - event.recipes.createSequencedAssembly([ - '8x create:track', - ], '#tfg:rock_slabs', [ - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), + // Железнодорожное полотно (Нормальное) + event.recipes.createSequencedAssembly([ + '8x create:track', + ], '#tfg:rock_slabs', [ + event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', 'gtceu:steel_rod']), - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), - event.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), - ]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite') + event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), + event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#forge:tools/hammers']), + ]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite') - event.recipes.gtceu.assembler('railways/track') - .itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod') - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs('8x create:track') - .duration(800) - .EUt(16) + event.recipes.gtceu.assembler('railways/track') + .itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs('8x create:track') + .duration(800) + .EUt(16) .circuit(2) - // Железнодорожное полотно (Широкое) - event.recipes.createSequencedAssembly([ - '8x railways:track_create_andesite_wide', - ], '#tfg:rock_slabs', [ - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), - event.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']), - ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') + // Железнодорожное полотно (Широкое) + event.recipes.createSequencedAssembly([ + '8x railways:track_create_andesite_wide', + ], '#tfg:rock_slabs', [ + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:tools/hammers']), + ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') - event.recipes.gtceu.assembler('railways/track_create_andesite_wide') - .itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod') - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs('8x railways:track_create_andesite_wide') - .duration(800) - .EUt(16) + event.recipes.gtceu.assembler('railways/track_create_andesite_wide') + .itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs('8x railways:track_create_andesite_wide') + .duration(800) + .EUt(16) .circuit(3) - // Железнодородные полотна из дерева - global.TFC_WOOD_TYPES.forEach(woodType => { - // Узкое - event.recipes.createSequencedAssembly([ - `8x railways:track_tfc_${woodType}_narrow`, - ], `tfc:wood/planks/${woodType}_slab`, [ - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) - - event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) - .itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') - .itemOutputs(`8x railways:track_tfc_${woodType}_narrow`) - .duration(800) - .EUt(16) + // Железнодородные полотна из дерева + global.TFC_WOOD_TYPES.forEach(woodType => { + // Узкое + event.recipes.createSequencedAssembly([ + `8x railways:track_tfc_${woodType}_narrow`, + ], `tfc:wood/planks/${woodType}_slab`, [ + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:tools/hammers']), + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) + + event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) + .itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}_narrow`) + .duration(800) + .EUt(16) .circuit(1) - - // Нормальное - event.recipes.createSequencedAssembly([ - `8x railways:track_tfc_${woodType}`, - ], `tfc:wood/planks/${woodType}_slab`, [ - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]), + + // Нормальное + event.recipes.createSequencedAssembly([ + `8x railways:track_tfc_${woodType}`, + ], `tfc:wood/planks/${woodType}_slab`, [ + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]), event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, 'gtceu:steel_rod']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) - - event.recipes.gtceu.assembler(`railways/track_${woodType}`) - .itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws') - .itemOutputs(`8x railways:track_tfc_${woodType}`) - .duration(800) - .EUt(16) + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:tools/hammers']), + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) + + event.recipes.gtceu.assembler(`railways/track_${woodType}`) + .itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}`) + .duration(800) + .EUt(16) .circuit(2) - - // Широкое - event.recipes.createSequencedAssembly([ - `8x railways:track_tfc_${woodType}_wide`, - ], `tfc:wood/planks/${woodType}_slab`, [ - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), + + // Широкое + event.recipes.createSequencedAssembly([ + `8x railways:track_tfc_${woodType}_wide`, + ], `tfc:wood/planks/${woodType}_slab`, [ + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `gtceu:steel_rod`]), event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]) - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) - - event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) - .itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') - .itemOutputs(`8x railways:track_tfc_${woodType}_wide`) - .duration(800) - .EUt(16) + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:tools/hammers']) + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) + + event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) + .itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}_wide`) + .duration(800) + .EUt(16) .circuit(3) - }); + }); } diff --git a/kubejs/server_scripts/rnr/recipes.js b/kubejs/server_scripts/rnr/recipes.js new file mode 100644 index 000000000..229a1216a --- /dev/null +++ b/kubejs/server_scripts/rnr/recipes.js @@ -0,0 +1,61 @@ +const registerRnrRecipes = (event) => { + event.remove({input: 'rnr:concrete_powder'}) + event.remove({id: 'rnr:crafting/concrete_powder'}) + +//#region Recipes + event.recipes.gtceu.assembler('rnr:assembler/base_course') + .itemInputs('1x rnr:crushed_base_course', '1x #tfc:dirt') + .itemOutputs('2x rnr:base_course') + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('rnr:assembler/crushed_base_course') + .itemInputs('1x #forge:gravel', '1x #rnr:loose_rock_items') + .itemOutputs('8x rnr:crushed_base_course') + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + global.TFC_STONE_TYPES.forEach(stone => { + event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${stone}`) + .itemInputs(`tfc:rock/loose/${stone}`) + .itemOutputs(`2x rnr:flagstone/${stone}`) + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`rnr:assembler/flagstone/mossy_${stone}`) + .itemInputs(`tfc:rock/mossy_loose/${stone}`) + .itemOutputs(`2x rnr:flagstone/${stone}`) + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + }); + + global.SAND_COLORS.forEach(sand => { + event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${sand}_sandstone`) + .itemInputs(`tfc:raw_sandstone/${sand}`) + .itemOutputs(`8x rnr:flagstone/${sand}_sandstone`) + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + }); + + event.smelting( + '1x rnr:terracotta_roof_tile', + 'rnr:unfired_terracotta_roof_tile' + ).id('rnr:smelting/unfired_terracotta_roof_tile') + + event.smelting( + '1x rnr:ceramic_roof_tile', + 'rnr:unfired_roof_tile' + ).id('rnr:smelting/unfired_roof_tile') + + event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix') + .inputFluids(Fluid.of('gtceu:concrete', 192), Fluid.of('minecraft:water', 808)) + .outputFluids(Fluid.of('rnr:concrete', 1000)) + .circuit(7) + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) +}; \ No newline at end of file diff --git a/kubejs/server_scripts/rnr/tags.js b/kubejs/server_scripts/rnr/tags.js new file mode 100644 index 000000000..7d2d229cd --- /dev/null +++ b/kubejs/server_scripts/rnr/tags.js @@ -0,0 +1,7 @@ +const registerRnrItemTags = (event) => { + + global.RNR_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }); +}; \ No newline at end of file diff --git a/kubejs/server_scripts/simplylight/recipes.js b/kubejs/server_scripts/simplylight/recipes.js new file mode 100644 index 000000000..b650a278d --- /dev/null +++ b/kubejs/server_scripts/simplylight/recipes.js @@ -0,0 +1,161 @@ +// priority: 0 + +const registerSimplylightRecipes = (event) => { + + // remove old recipes + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.remove({ id: `simplylight:illuminant_${color}_block_on_dyed` }) + event.remove({ id: `simplylight:illuminant_${color}_block_dyed` }) + }) + event.remove({ id: `simplylight:illuminant_block_on_dyed` }) + event.remove({ id: `simplylight:illuminant_block_dyed` }) + event.remove({ id: 'simplylight:illuminant_slab' }) + event.remove({ id: 'simplylight:walllamp' }) + event.remove({ id: 'simplylight:rodlamp' }) + event.remove({ id: 'simplylight:bulb' }) + event.remove({ id: 'simplylight:edge_light' }) + event.remove({ id: 'simplylight:lamp_post' }) + event.remove({ id: 'simplylight:illuminant_block_on' }) + event.remove({ id: 'simplylight:illuminant_block' }) + + // new recipes + global.MINECRAFT_DYE_NAMES.forEach(color => { + + //exeption for white lamps because who needs consistency? + if (color != 'white') { + event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/dyeing/illuminant_${color}_block_on`) + .itemInputs('#simplylight:any_lamp_on') + .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) + .itemOutputs(`simplylight:illuminant_${color}_block_on`) + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/dyeing/illuminant_${color}_block`) + .itemInputs('#simplylight:any_lamp_off') + .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) + .itemOutputs(`simplylight:illuminant_${color}_block`) + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`simplylight:illuminant_${color}_block_on`) + .inputItem(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_${color}_block_on`)) + .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) + .id(`simplylight:barrel/dyeing/illuminant_${color}_block_on`) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`simplylight:illuminant_${color}_block`) + .inputItem(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_${color}_block`)) + .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) + .id(`simplylight:barrel/dyeing/illuminant_${color}_block`) + } + }) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`simplylight:illuminant_block_on`) + .inputItem(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_block_on`)) + .inputFluid(Fluid.of(`tfc:white_dye`, 25)) + .id(`simplylight:barrel/dyeing/illuminant_block_on`) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`simplylight:illuminant_block`) + .inputItem(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_block`)) + .inputFluid(Fluid.of(`tfc:white_dye`, 25)) + .id(`simplylight:barrel/dyeing/illuminant_block`) + + event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/bleaching/illuminant_block_on`) + .itemInputs(Ingredient.of('#simplylight:any_lamp_on').subtract(`simplylight:illuminant_block_on`)) + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('simplylight:illuminant_block_on') + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/bleaching/illuminant_block`) + .itemInputs(Ingredient.of('#simplylight:any_lamp_off').subtract(`simplylight:illuminant_block`)) + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('simplylight:illuminant_block') + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.shaped('6x simplylight:illuminant_slab', [ + 'AAA', + 'BBB', + ' ' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:plates/tin_alloy' + }).id('tfg:simplylight/illuminant_slab') + + event.shaped('4x simplylight:wall_lamp', [ + 'BB ', + 'BA ', + 'BA ' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:plates/tin_alloy' + }).id('tfg:simplylight/wall_lamp') + + event.shaped('12x simplylight:rodlamp', [ + 'ACA', + 'ABA', + 'ACA' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:rods/tin_alloy', + C: '#forge:bolts/tin_alloy' + }).id('tfg:simplylight/rod_lamp') + + event.shaped('2x simplylight:lightbulb', [ + ' A ', + 'BBB', + ' ' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:plates/tin_alloy' + }).id('tfg:simplylight/light_bulb') + + event.shaped('6x simplylight:edge_light', [ + 'AAA', + 'CBC', + ' ' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:rods/tin_alloy', + C: '#forge:bolts/tin_alloy' + }).id('tfg:simplylight/edge_light') + + event.shaped('8x simplylight:lamp_post', [ + ' A ', + ' B ', + 'CDC' + ], { + A: '#simplylight:any_lamp_on', + B: '#forge:rods/long/bronze', + C: '#forge:plates/bronze', + D: '#forge:screws/bronze' + }).id('tfg:simplylight/lamp_post') + + event.shaped('8x simplylight:illuminant_block_on', [ + 'BAB', + 'ACA', + 'BAB' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:plates/tin_alloy', + C: '#forge:fine_wires/red_alloy', + }).id('tfg:simplylight/illuminant_block_on') + + event.shaped('8x simplylight:illuminant_block', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:dusts/glowstone', + B: '#forge:plates/tin_alloy', + C: '#forge:fine_wires/red_alloy', + }).id('tfg:simplylight/illuminant_block') +} diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index ce8796111..49a677655 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -212,19 +212,21 @@ const registerSophisticatedBackpacksRecipes = (event) => { event.shaped('sophisticatedbackpacks:magnet_upgrade', [ 'ABA', 'CDC', - 'AEA' + 'FEG' ], { - A: 'gtceu:hv_robot_arm', + A: 'gtceu:lv_robot_arm', B: 'gtceu:item_filter', - C: '#gtceu:circuits/hv', + C: '#gtceu:circuits/lv', D: 'sophisticatedbackpacks:upgrade_base', - E: '#gtceu:batteries/hv' + E: 'gtceu:lv_item_magnet', + F: '#forge:tools/wrenches', + G: '#forge:tools/screwdrivers' }).id('tfg:sophisticated_backpacks/shaped/magnet_upgrade') // Улучшение - улучшенный магнит event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [ 'sophisticatedbackpacks:magnet_upgrade', - '#gtceu:circuits/ev' + 'gtceu:hv_item_magnet' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade') // Улучшение - уничтожитель @@ -239,7 +241,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: 'sophisticatedbackpacks:upgrade_base', E: '#forge:tools/wrenches', F: 'gtceu:brass_normal_item_pipe', - G: '#forge:ender_pearls' + G: 'ae2:ender_dust' }).id('tfg:sophisticated_backpacks/shaped/void_upgrade') // Улучшение - улучшенный уничтожитель @@ -313,11 +315,11 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'BDB', 'EBA' ], { - A: 'gtceu:zpm_field_generator', - B: '#forge:plates/neutronium', - C: '#gtceu:circuits/zpm', + A: 'gtceu:ev_field_generator', + B: '#forge:plates/titanium', + C: '#gtceu:circuits/ev', D: 'sophisticatedbackpacks:upgrade_base', - E: '#gtceu:batteries/zpm' + E: '#gtceu:batteries/ev' }).id('tfg:sophisticated_backpacks/shaped/everlasting_upgrade') // Улучшение - верстак @@ -332,7 +334,19 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: 'sophisticatedbackpacks:upgrade_base', }).id('tfg:sophisticated_backpacks/shaped/crafting_upgrade') - // Улучшение - Stack Lvl. 1 + // Улучшение - Stack + event.shaped('sophisticatedbackpacks:stack_upgrade_starter_tier', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#gtceu:circuits/hv', + B: 'gtceu:mercury_barium_calcium_cuprate_single_wire', + C: '#gtceu:batteries/hv', + D: 'sophisticatedbackpacks:upgrade_base', + E: 'gtceu:hv_field_generator' + }).id('tfg:sophisticated_backpacks/shaped/stack_upgrade_starter_tier') + event.shaped('sophisticatedbackpacks:stack_upgrade_tier_1', [ 'ABA', 'CDC', @@ -357,6 +371,11 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: 'sophisticatedbackpacks:upgrade_base', }).id('tfg:sophisticated_backpacks/shaped/jukebox_upgrade') + event.shapeless('sophisticatedbackpacks:advanced_jukebox_upgrade', [ + 'sophisticatedbackpacks:jukebox_upgrade', + '#gtceu:circuits/mv' + ]).id('tfg:sophisticated_backpacks/shaped/advanced_jukebox_upgrade') + // Улучшение - ToolSwapper event.shaped('sophisticatedbackpacks:tool_swapper_upgrade', [ 'ABC', @@ -377,4 +396,19 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'sophisticatedbackpacks:tool_swapper_upgrade', '#gtceu:circuits/mv' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_tool_swapper_upgrade') + + // Tank upgrade + event.shaped('sophisticatedbackpacks:tank_upgrade', [ + 'ABC', + 'DEF', + 'CGA' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:fluid_filter', + C: 'gtceu:mv_electric_pump', + D: '#forge:tools/screwdrivers', + E: 'sophisticatedbackpacks:upgrade_base', + F: '#forge:tools/wrenches', + G: 'gtceu:aluminium_drum', + }).id('tfg:sophisticated_backpacks/shaped/tank_upgrade') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index d42767bc9..ca249ec15 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -9,8 +9,10 @@ const registerTFCDataForTFC = (event) => { registerTFCKnappingTypes(event) registerTFCItemSize(event) registerTFCFoodData(event) + registerTFCSupportData(event) } +//#region registerTFCMetals const registerTFCMetals = (event) => { event.metal('gtceu:copper', 1080, 0.00857, '#forge:ingots/copper', '#forge:double_ingots/copper', '#forge:plates/copper', 1, 'tfc:copper') event.metal('gtceu:bismuth_bronze', 985, 0.00857, '#forge:ingots/bismuth_bronze', '#forge:double_ingots/bismuth_bronze', '#forge:plates/bismuth_bronze', 2, 'tfc:bismuth_bronze') @@ -22,16 +24,6 @@ const registerTFCMetals = (event) => { event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel') event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel') - event.metal('tfg:pig_iron', 1535, 0.00857, '#forge:ingots/pig_iron', null, null, 3, 'tfc:pig_iron') - event.metal('tfg:high_carbon_steel', 1540, 0.00857, '#forge:ingots/high_carbon_steel', null, null, 3, 'tfc:high_carbon_steel') - event.metal('tfg:high_carbon_black_steel', 1535, 0.00857, '#forge:ingots/high_carbon_black_steel', null, null, 4, 'tfc:high_carbon_black_steel') - event.metal('tfg:high_carbon_red_steel', 1535, 0.00857, '#forge:ingots/high_carbon_red_steel', null, null, 5, 'tfc:high_carbon_red_steel') - event.metal('tfg:high_carbon_blue_steel', 1535, 0.00857, '#forge:ingots/high_carbon_blue_steel', null, null, 5, 'tfc:high_carbon_blue_steel') - event.metal('tfg:weak_steel', 1540, 0.00857, '#forge:ingots/weak_steel', null, null, 4, 'tfc:weak_steel') - event.metal('tfg:weak_red_steel', 1540, 0.00857, '#forge:ingots/weak_red_steel', null, null, 5, 'tfc:weak_red_steel') - event.metal('tfg:weak_blue_steel', 1540, 0.00857, '#forge:ingots/weak_blue_steel', null, null, 5, 'tfc:weak_blue_steel') - event.metal('tfg:unknown', 400, 0.006, '#forge:ingots/unknown', null, null, 0, 'tfc:unknown') - event.metal('gtceu:iron', 1535, 0.00857, '#forge:ingots/iron', '#forge:double_ingots/iron', '#forge:plates/iron', 3, 'tfc:cast_iron') event.metal('gtceu:tin', 230, 0.02143, '#forge:ingots/tin', '#forge:double_ingots/tin', '#forge:plates/tin', 1, 'tfc:tin') event.metal('gtceu:bismuth', 270, 0.02143, '#forge:ingots/bismuth', '#forge:double_ingots/bismuth', '#forge:plates/bismuth', 1, 'tfc:bismuth') @@ -47,7 +39,9 @@ const registerTFCMetals = (event) => { event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', null, '#forge:plates/red_alloy', 2, 'tfg:red_alloy') event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', null, '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy') } +//#endregion +//#region registerTFCHeats const registerTFCHeats = (event) => { function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { @@ -127,22 +121,40 @@ const registerTFCHeats = (event) => { event.itemHeat('tfc:groundcover/seaweed', 1.0, null, null) event.itemHeat('tfc:plant/leafy_kelp', 1.0, null, null) event.itemHeat('tfc:plant/winged_kelp', 1.0, null, null) + + // Misc + event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null) + + global.MINECRAFT_DYE_NAMES.forEach (color => { + event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null) + }) + event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null) } +//#endregion +//#region registerTFCFuels const registerTFCFuels = (event) => { - event.fuel('minecraft:coal', 1415, 2200, 1.0) event.fuel('gtceu:coke_gem', 1415, 4400, 1.0) + event.fuel('gtceu:coke_dust', 1415, 1200, 0.95) + + event.fuel('beneath:cursecoal', 1540, 2200, 1.0) + event.fuel('minecraft:coal', 1415, 2200, 1.0) event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95) event.fuel('gtceu:raw_coal', 1415, 1900, 0.95) event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95) + event.fuel('gtceu:coal_dust', 1415, 600, 0.95) } +//#endregion +//#region registerTFCLampFuels const registerTFCLampFuels = (event) => { event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000) event.lampFuel("gtceu:glowstone", "#tfc:lamps", -1) } +//#endregion +//#region registerTFCFertilizers const registerTFCFertilizers = (event) => { event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15) @@ -161,17 +173,43 @@ const registerTFCFertilizers = (event) => { event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null) event.fertilizer('gtceu:small_bone_dust', null, 0.025, null) } +//#endregion +//#region registerTFCKnappingTypes const registerTFCKnappingTypes = (event) => { // event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber') // event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate') // event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate') } +//#endregion +//#region registerTFCItemSize const registerTFCItemSize = (event) => { - // TODO event.itemSize('minecraft:gold_ingot', 'huge', 'very_heavy') -} + event.itemSize('sophisticatedbackpacks:backpack', 'very_large', 'very_heavy', 'backpack_size') + event.itemSize('sophisticatedbackpacks:iron_backpack', 'very_large', 'very_heavy', 'iron_backpack_size') + event.itemSize('sophisticatedbackpacks:gold_backpack', 'very_large', 'very_heavy', 'gold_backpack_size') + event.itemSize('sophisticatedbackpacks:diamond_backpack', 'very_large', 'very_heavy', 'diamond_backpack_size') + event.itemSize('sophisticatedbackpacks:netherite_backpack', 'very_large', 'very_heavy', 'netherite_backpack_size') + global.MINECRAFT_DYE_NAMES.forEach (color => { + event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`) + event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`) + }) + event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase') + event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired') + + event.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy') + event.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:airship', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:cargo_airship', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:gyrodyne', 'huge', 'very_heavy') + event.itemSize('immersive_aircraft:quadrocopter', 'very_large', 'very_heavy') +} +//#endregion + +//#region registerTFCFoodData const registerTFCFoodData = (event) => { event.foodItem('minecraft:golden_apple', food => { food.hunger(2) @@ -184,4 +222,59 @@ const registerTFCFoodData = (event) => { food.fruit(2) food.decayModifier(0.2) }) + + event.foodItem('minecraft:glow_berries', food => { + food.hunger(1) + food.fruit(0.5) + food.water(5) + food.decayModifier(2) + }) + + event.foodItem('minecraft:chorus_fruit', food => { + food.hunger(1.5) + food.fruit(1) + food.water(5) + }) + + + event.foodItem('minecraft:red_mushroom', food => { + food.hunger(1.5) + food.vegetables(1) + food.water(5) + food.decayModifier(2) + }) + + event.foodItem('minecraft:brown_mushroom', food => { + food.saturation(2) + food.hunger(2) + food.vegetables(1) + food.water(2) + food.decayModifier(2) + }) + + event.foodItem('gtceu:chocolate_coin', food => { + food.hunger(1) + food.dairy(0.5) + }) } +//#endregion + +//#region registerTFCSupportData +//up, down, horizontal +const registerTFCSupportData = (event) => { + event.support('tfg:light_concrete_support', 4, 4, 8, 'light_concrete_support') + event.support('tfg:dark_concrete_support', 4, 4, 8, 'dark_concrete_support') + event.support('tfg:reinforced_light_concrete_support', 6, 6, 16, 'reinforced_light_concrete_support') + event.support('tfg:reinforced_dark_concrete_support', 6, 6, 16, 'reinforced_dark_concrete_support') + event.support('tfg:rebar_support', 4, 4, 8, 'rebar_support') + event.support('tfg:steel_support', 6, 6, 16, 'steel_support') + + const other_stone = ['pyroxenite', 'migmatite', 'travertine'] + const stone_types = global.TFC_STONE_TYPES.concat(other_stone) + + stone_types.forEach(stone => { + + event.support(`tfg:${stone}_support`, 2, 2, 4, `${stone}_support`) + }) +} +//#endregion diff --git a/kubejs/server_scripts/tfc/recipes.alabaster.js b/kubejs/server_scripts/tfc/recipes.alabaster.js new file mode 100644 index 000000000..cd9b78d91 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.alabaster.js @@ -0,0 +1,95 @@ +// priority: 0 + +function registerTFCAlabasterRecipes(event) { + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) + .id('tfc:crafting/alabaster_brick/raw_gypsum') + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels'])) + .id('tfc:crafting/alabaster_brick/poor_raw_gypsum') + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels'])) + .id('tfc:crafting/alabaster_brick/rich_raw_gypsum') + + // Alabaster Brick + event.recipes.gtceu.assembler('tfc:alabaster/bricks') + .itemInputs('5x tfc:alabaster_brick') + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs('4x tfc:alabaster/bricks') + .duration(50) + .EUt(2) + + event.recipes.gtceu.chemical_bath('tfc:alabaster/bricks') + .itemInputs('#tfc:colored_bricks_alabaster') + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('tfc:alabaster/bricks') + .duration(400) + .EUt(2) + .category(GTRecipeCategories.CHEM_DYES) + + for (let i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + .itemInputs('tfc:alabaster/bricks') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) + .itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + } + + // Raw Alabaster + event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum') + .itemInputs('gtceu:poor_raw_gypsum') + .inputFluids(Fluid.of('tfc:limewater', 50)) + .itemOutputs('tfc:alabaster/raw') + .duration(400) + .EUt(2) + + event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum') + .itemInputs('gtceu:raw_gypsum') + .inputFluids(Fluid.of('tfc:limewater', 100)) + .itemOutputs('2x tfc:alabaster/raw') + .duration(400) + .EUt(2) + + event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum') + .itemInputs('gtceu:rich_raw_gypsum') + .inputFluids(Fluid.of('tfc:limewater', 150)) + .itemOutputs('3x tfc:alabaster/raw') + .duration(400) + .EUt(2) + + event.recipes.gtceu.chemical_bath('tfc:alabaster/raw') + .itemInputs('#tfc:colored_bricks_alabaster') + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('tfc:alabaster/raw') + .duration(400) + .EUt(2) + .category(GTRecipeCategories.CHEM_DYES) + + for (let i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(`tfg:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) + .itemInputs('tfc:alabaster/raw') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36)) + .itemOutputs(`tfc:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`tfg:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`) + .itemInputs('tfc:alabaster/polished') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36)) + .itemOutputs(`tfc:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`tfg:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + .itemInputs('tfc:alabaster/bricks') + .inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36)) + .itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + .duration(20) + .EUt(7) + .category(GTRecipeCategories.CHEM_DYES) + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.dirt.js b/kubejs/server_scripts/tfc/recipes.dirt.js new file mode 100644 index 000000000..dc6f9cb88 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.dirt.js @@ -0,0 +1,124 @@ +// priority: 0 + +function registerTFCDirtRecipes(event) { + + //#region Земля + + // Loam + Silt -> Silty Loam (Миксер) + event.recipes.gtceu.mixer('silty_loam_dirt') + .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') + .itemOutputs('tfc:dirt/silty_loam') + .duration(200) + .EUt(16) + + // Loam + Sand -> Sandy Loam (Миксер) + event.recipes.gtceu.mixer('sandy_loam_dirt') + .itemInputs('tfc:dirt/loam', '#forge:sand') + .circuit(3) + .itemOutputs('tfc:dirt/sandy_loam') + .duration(200) + .EUt(16) + + // Dirt + Sticks -> Rooted Dirt + global.TFC_MUD_TYPES.forEach(mud => { + event.recipes.gtceu.mixer(`${mud}_to_rooted`) + .itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch") + .itemOutputs(`tfc:rooted_dirt/${mud}`) + .duration(200) + .EUt(16) + }) + + global.TFC_MUD_TYPES.forEach(mud => { + event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) + .id(`tfg:smelting/${mud}_mud_to_grass`) + }) + + //#endregion + + //#region Грязь + + global.TFC_MUD_TYPES.forEach(mud => { + // Dirt -> Mud + event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) + .itemInputs(`tfc:dirt/${mud}`) + .inputFluids(Fluid.of('minecraft:water', 100)) + .circuit(2) + .itemOutputs(`tfc:mud/${mud}`) + .duration(200) + .EUt(16) + }) + + //#endregion + + //AE Transform Mud + global.TFC_MUD_TYPES.forEach(mud => { + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + {item: `tfc:dirt/${mud}`}], + result: {item: `tfc:mud/${mud}`} + }).id(`tfg:ae_transform/${mud}_to_mud`) + }) + + + //#region Грязь кирпичи + + global.TFC_MUD_TYPES.forEach(mud => { + + // Влажный кирпич -> Кирпич + event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) + .id(`tfg:smelting/${mud}_drying_brick_to_brick`) + + event.custom({ + type: "firmalife:drying", + ingredient: { + item: `tfc:drying_bricks/${mud}` + }, + result: { + item: `tfc:mud_brick/${mud}` + } + }).id(`tfg:drying/${mud}_drying_brick_to_brick`) + + // Кирпич -> Блок кирпичей + event.shaped(`tfc:mud_bricks/${mud}`, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: `tfc:mud_brick/${mud}`, + B: '#tfc:mortar' + }).id(`tfc:crafting/soil/${mud}_mud_bricks`) + + event.recipes.gtceu.assembler(`mud_bricks_${mud}`) + .itemInputs(`5x tfc:mud_brick/${mud}`) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`4x tfc:mud_bricks/${mud}`) + .duration(50) + .EUt(2) + + // Блок кирпичей -> Ступени + event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) + + event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`) + + // Блок кирпичей -> Плиты + event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) + + event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`) + + // Блок кирпичей -> Стена + event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) + + event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) + + }) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js new file mode 100644 index 000000000..4c5da7b4e --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.dyes.js @@ -0,0 +1,132 @@ +// priority: 0 + +/** + * + * @param {Internal.RecipesEventJS} event + */ +function registerTFCDyeRecipes(event) { + + //#region Выход: Свечи + + event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) + .itemInputs('#tfc:colored_candles') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs('tfc:candle') + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + + event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) + .itemInputs('tfc:candle') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 36)) + .itemOutputs(`tfc:candle/${dye}`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + }) + + //#endregion + + //#region Обычный сосуд + + event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`) + .itemInputs('#tfg:colorized_unfired_vessels') + .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) + .itemOutputs('tfc:ceramic/unfired_vessel') + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`fired_vessel_decolor`) + .itemInputs('#tfg:colorized_fired_vessels') + .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) + .itemOutputs('tfc:ceramic/vessel') + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`) + .itemInputs('tfc:ceramic/unfired_vessel') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 36)) + .itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`) + .duration(150) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`${dye}_vessel`) + .itemInputs('tfc:ceramic/vessel') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 36)) + .itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`) + .duration(150) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + }) + + //#endregion + + //#region Большой сосуд + + event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`) + .itemInputs('#tfg:colorized_unfired_large_vessels') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs('tfc:ceramic/unfired_large_vessel') + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`) + .itemInputs('#tfg:colorized_fired_large_vessels') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs('tfc:ceramic/large_vessel') + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`) + .itemInputs('tfc:ceramic/unfired_large_vessel') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`) + .duration(150) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`) + .itemInputs('tfc:ceramic/large_vessel') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`tfc:ceramic/large_vessel/${dye}`) + .duration(150) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + }) + + //#endregion + + //#region Replace existing dyes + + global.MINECRAFT_DYE_NAMES.forEach(dyeName => { + + event.remove(`tfc:pot/${dyeName}_dye`); + + let inputArray = new Array(0); + + for (let i = 1; i < 5; i++) { + + inputArray.length = 0; + + for (let j = 1; j < i + 1; j++) { + inputArray.push(`#forge:dyes/${dyeName}`); + } + + event.recipes.tfc.pot(inputArray, Fluid.of('tfc:salt_water', 250 * i), 600, 2000) + .fluidOutput(Fluid.of(`tfc:${dyeName}_dye`, 144 * i)) + .id(`tfc:pot/${i}x_${dyeName}_dye`) + } + }) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 7ef02ecca..c54793e3b 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1,3612 +1,225 @@ // priority: 0 +/** + * + * @param {Internal.RecipesEventJS} event + */ const registerTFCRecipes = (event) => { - //return; TODO тут баг - //#region Металлы - - // Удаление рецептов руд TFC - event.remove({ id: /tfc:heating\/ore\/poor_*/ }) - event.remove({ id: /tfc:heating\/ore\/normal_*/ }) - event.remove({ id: /tfc:heating\/ore\/rich_*/ }) - // Удаление рецептов блоков - event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) - event.remove({ id: /tfc:heating\/metal\/*_block/ }) + removeTFCRecipes(event) + registerTFCMaterialsRecipes(event) + registerTFCMetalsRecipes(event) + registerTFCStoneRecipes(event) + registerTFCSandRecipes(event) + registerTFCDirtRecipes(event) + registerTFCWoodRecipes(event) + registerTFCKnappingRecipes(event) + registerTFCMachineRecipes(event) + registerTFCAlabasterRecipes(event) + registerTFCDyeRecipes(event) - // Удаление рецептов ступеней - event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ }) + //#region Рецепты порошков - // Удалание рецептов полублоков - event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_slab/ }) + // Добавление рецептов + global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(60) + .EUt(2) - let getFillingNBT = (material, amount) => { - return { - tank: { - FluidName: Fluid.of(material.getFluid()).getId(), - Amount: amount - } - } - } + event.recipes.tfc.quern(element.output, element.input) + .id(`tfg:quern/${element.name}`) + }) - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + //#endregion - if (tfcProperty != null) { - let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + //#region Рецепты зерен - // Ingots - let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (!ingotItem.isEmpty()) { - - // Декрафт слитка в жидкость - event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_ingot`) + global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { - if (material != GTMaterials.WroughtIron) { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .chancedOutput('tfc:straw', 7000, 500) + .duration(200) + .EUt(2) - // Отливка слитка в обычной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) - .id(`tfc:casting/${material.getName()}_ingot`) + event.recipes.tfc.quern(element.output, element.input) + .id(`tfg:quern/${element.name}`) + }) - // Отливка слитка в огнеупорной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01) - .id(`tfc:casting/${material.getName()}_fire_ingot`) + //#endregion - event.recipes.create.filling( - Item.of('tfc:ceramic/ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_ingot`) + //#region Рецепты муки - event.recipes.create.filling( - Item.of('tfc:ceramic/fire_ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`) - } - - // Double Ingots - let doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) - if (!doubleIngotItem.isEmpty()) { - - // Декрафт двойного слитка в жидкость - event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_ingot`) + global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) - // 2 слитка -> Двойной слиток - event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) - .id(`tfc:welding/${material.getName()}_double_ingot`) + //#endregion - // Plates - let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - if (!plateItem.isEmpty()) { - - // Декрафт пластины в жидкость - event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_sheet`) + //#region Рецепты обжарки мяса + + global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion - // Двойной слиток -> Пластина - event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_sheet`) + //#region Рецепты обжарки форм + + global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) + .id(`tfg:smelting/${dye}_glazed_vessel`) + + event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) + .id(`tfg:smelting/${dye}_large_vessel`) + }) + + //#endregion - // Double Plate - let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (!doublePlateItem.isEmpty()) { - // Декрафт двойных пластин - event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_sheet`) + //#region Рецепты электрической теплицы - // Две пластины -> Двойная пластина - event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_double_sheet`) - - // Armor - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - //#region Шлем - - // Декрафт незавершенного шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`) - - // Незавершенный шлем - event.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) - - // Декрафт шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_helmet`) - - // Шлем - event.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_helmet`) - - //#endregion - - //#region Нагрудник - - // Декрафт незавершенного нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`) - - // Незавершенный нагрудник - event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) - - // Декрафт нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chestplate`) - - // Нагрудник - event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_chestplate`) - - //#endregion - - //#region Поножи - - // Декрафт незавершенных поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`) - - // Незавершенные поножи - event.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, doublePlateItem, ['bend_any', 'draw_any', 'hit_any']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) - - // Декрафт поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_greaves`) - - // Поножи - event.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_greaves`) - - //#endregion - - //#region Ботинки - - // Декрафт незавершенных ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_boots`) - - // Незавершенные ботинки - event.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_boots`) - - // Декрафт ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_boots`) - - // Ботинки - event.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_boots`) - - //#endregion - } + // Дерево + global.TFC_WOOD_TYPES.forEach(wood => { + generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, 16000, `64x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`) + }) + + global.AFC_SAPLINGS.forEach(x => { + generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`) + }) + + // Семена фруктов + global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + }) + + // Семена овощей + global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + }) - // Tools (From Double Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Фурма - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/tuyere/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_tuyere`) + // Семена ягод + global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + }) - // Фурма - event.recipes.tfc.anvil(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem, ['bend_last', 'bend_second_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_tuyere`) + // Растения + Ingredient.of('#tfc:plants').stacks.forEach(element => { + const itemId = element.id; + const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - //#endregion + generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId); + }); - //#region Щит - - // Декрафт щита в жидкость - event.recipes.tfc.heating(`tfc:metal/shield/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shield`) + //#endregion - // Щит - event.recipes.tfc.anvil(`tfc:metal/shield/${material.getName()}`, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_shield`) + //#region Рецепты хлеба - //#endregion - - //#region Конская броня - - // Декрафт конской брони в жидкость - event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 864)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_horse_armor`) - - //#endregion - } + global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) - } + //#endregion - // Tools (From Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Удочка - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/fish_hook/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_fish_hook`) - // Крюк удочки - event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_fish_hook`) + // Доменная печь + event.shaped('tfc:blast_furnace', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: '#forge:double_plates/wrought_iron', + B: 'tfc:crucible' + }).id('tfc:crafting/blast_furnace') - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/fishing_rod/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + event.recipes.gtceu.macerator('recycle_tfc_blast_furnace') + .itemInputs('tfc:blast_furnace') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 16)) + .duration(GTMaterials.WroughtIron.getMass() * 16) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) - //#endregion - } + event.recipes.gtceu.arc_furnace('recycle_tfc_blast_furnace') + .itemInputs('tfc:blast_furnace') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 16)) + .duration(GTMaterials.WroughtIron.getMass() * 16) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - } + // Тыква -> Кусочки тыквы + event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ + 'AB' + ], { + A: '#tfc:knives', + B: 'tfc:pumpkin' + }) - // Tools (From Double Ingots) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Меч - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let swordItem = ToolHelper.get(GTToolType.SWORD, material) - if (!swordItem.isEmpty()) { - - event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_sword`) + // Lime + event.smelting('tfc:powder/lime', 'tfc:powder/flux') + .id('tfg:smelting/lime') - } - - let swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) - if (!swordHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_sword_blade`) + // Kaolinite Clay + event.smelting('tfc:powder/kaolinite', 'tfc:kaolin_clay') + .id('tfg:smelting/kaolinite_clay') - // Крафт оголовья - event.recipes.tfc.anvil(swordHeadItem, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_sword_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_sword_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/sword_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_sword_blade`) - } + // Fire Brick + //event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') + // .id('tfg:smelting/fireclay_brick') - - - } - - //#endregion - - //#region Дубина - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mace`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_mace_head`) + // Выпаривание соли + event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100) + .itemOutput('gtceu:small_salt_dust') + .id('tfg:tfc/pot/salt') - event.recipes.create.filling( - Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/mace_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_mace_head`) - - } - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mace_head`) - - //#endregion + // Salt Water + generateMixerRecipe(event, ['#forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], null, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water') - //#region Мясницкий нож - - // Декрафт инструмента в жидкость - let butcheryKnifeItem = ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material) - if (!butcheryKnifeItem.isEmpty()) { - - event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) - } - - let butcheryKnifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material, 1) - if (!butcheryKnifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) + // Seaweed and kelp + event.recipes.tfc.heating('tfc:groundcover/seaweed', 200) + .resultItem('tfc:food/dried_seaweed') + event.recipes.tfc.heating('tfc:plant/leafy_kelp', 200) + .resultItem('tfc:food/dried_kelp') + event.recipes.tfc.heating('tfc:plant/winged_kelp', 200) + .resultItem('tfc:food/dried_kelp') + + // Soda Ash + event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') + + //#region Обрушения + + event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') + event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') + event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') + + //#endregion + + //More accesible solar drier + event.replaceInput({ id: 'firmalife:crafting/solar_drier' }, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod') + + //Wood ash + event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch') + .id('tfg:splashing/wash_torch') - // Крафт оголовья - event.recipes.tfc.anvil(butcheryKnifeHeadItem, `#forge:ingots/${material.getName()}`, ['punch_last', 'bend_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) - - } - - //#endregion - - //#region Молот шахтера - - // Декрафт инструмента в жидкость - let miningHammerItem = ToolHelper.get(GTToolType.MINING_HAMMER, material) - if (!miningHammerItem.isEmpty()) { - - event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) - - } - - - let miningHammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1) - if (!miningHammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } - - //#endregion - - //#region Большая лопата - - // Декрафт инструмента в жидкость - let spadeItem = ToolHelper.get(GTToolType.SPADE, material) - if (!spadeItem.isEmpty()) { - - event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_spade`) - - } - - let spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) - if (!spadeHeadItem.isEmpty()) { - - // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, doubleIngotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_spade_head`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_spade_head`) - - } - - //#endregion - } - - } - - // Rods - let rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (!rodItem.isEmpty()) { - - // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${material.getName()}_rod`) - - // Слиток -> 2 Стержня - event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_rod`) - - // Long Rods - let longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) - if (!longRodItem.isEmpty()) { - - // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_long_rod`) - - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - - } - - // Bolt - let boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1) - if (!boltItem.isEmpty()) { - - // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bolt`) - - // Стержень -> Болт - event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bolt`) - - } - - // Screw - let screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1) - if (!screwItem.isEmpty()) { - - // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/metal/${material.getName()}_screw`) - - // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_screw`) - - } - - let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) - if (!ringItem.isEmpty()) { - - // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_ring`) - - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) - - } - - } - - // Tools (From Ingot) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) - if (!pickaxeItem.isEmpty()) { - - event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_pickaxe`) - - } - - let pickaxeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1) - if (!pickaxeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_pickaxe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_pickaxe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_pickaxe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`) - } - - } - - //#endregion - - //#region Топор - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let axeItem = ToolHelper.get(GTToolType.AXE, material) - if (!axeItem.isEmpty()) { - - event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_axe`) - - } - - let axeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1) - if (!axeHeadItem.isEmpty()) { - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_axe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_axe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_axe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/axe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_axe_head`) - } - } - - //#endregion - - //#region Лопата - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let shovelItem = ToolHelper.get(GTToolType.SHOVEL, material) - if (!shovelItem.isEmpty()) { - - event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shovel`) - - } - - let shovelHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1) - if (!shovelHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_shovel_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_shovel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_shovel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/shovel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`) - } - - } - - //#endregion - - //#region Мотыга - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hoeItem = ToolHelper.get(GTToolType.HOE, material) - if (!hoeItem.isEmpty()) { - event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hoe`) - } - - let hoeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1) - if (!hoeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hoe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hoe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hoe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hoe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`) - } - - } - - //#endregion - - //#region Молот - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hammerItem = ToolHelper.get(GTToolType.HARD_HAMMER, material) - if (!hammerItem.isEmpty()) { - - event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hammer`) - - } - - let hammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1) - if (!hammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hammer_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hammer_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hammer_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`) - } - - } - - //#endregion - - //#region Пила - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let sawItem = ToolHelper.get(GTToolType.SAW, material) - if (!sawItem.isEmpty()) { - - event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_saw`) - - } - - let sawHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1) - if (!sawHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_saw_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_saw_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_saw_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/saw_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`) - } - - } - - //#endregion - - //#region Коса - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let scytheItem = ToolHelper.get(GTToolType.SCYTHE, material) - if (!scytheItem.isEmpty()) { - event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_scythe`) - } - - let scytheHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1) - if (!scytheHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_scythe_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_scythe_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_scythe_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`) - } - - } - - //#endregion - - //#region Напильник - - // Декрафт инструмента в жидкость - let fileItem = ToolHelper.get(GTToolType.FILE, material) - if (!fileItem.isEmpty()) { - event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_file`) - } - - let fileHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1) - if (!fileHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_file_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_file_head`) - - } - - //#endregion - - //#region Нож - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let knifeItem = ToolHelper.get(GTToolType.KNIFE, material) - if (!knifeItem.isEmpty()) { - event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_knife`) - } - - let knifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) - if (!knifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_knife_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/knife_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`) - } - - //#region Ножницы - - // Сварка оголовий - event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_shears`) - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shears`) - - //#endregion - - } - - //#endregion - - //#region Проспектор - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_propick`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_propick_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_propick_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/propick_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`) - } - - //#endregion - - //#region Стамеска - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chisel`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_chisel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_chisel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/chisel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`) - } - - //#endregion - - //#region Копье - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_javelin`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_javelin_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_javelin_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/javelin_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`) - } - - //#endregion - } - - } - - // Blocks - let blockItem = ChemicalHelper.get(TagPrefix.block, material, 1) - if (!blockItem.isEmpty()) { - - // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) - - } - - // Anvils, Lamps, Trapdors, Chains - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) { - - // Декрафт незавершенной лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) - - // Декрафт лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_lamp`) - - // Декрафт люка в жидкость - event.recipes.tfc.heating(`tfc:metal/trapdoor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_trapdoor`) - - // Люк - event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, `gtceu:${material.getName()}_plate`, ['bend_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_trapdoor`) - - // Декрафт решетки в жидкость - event.recipes.tfc.heating(`tfc:metal/bars/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bars`) - - // 8x Решетка - event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, `gtceu:${material.getName()}_plate`, ['upset_last', 'punch_second_last', 'punch_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars`) - - // 16x Решетка - event.recipes.tfc.anvil(`16x tfc:metal/bars/${material.getName()}`, `gtceu:double_${material.getName()}_plate`, ['upset_last', 'punch_second_last', 'punch_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars_double`) - - // Декрафт цепи в жидкость - event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) - .id(`tfc:heating/metal/${material.getName()}_chain`) - - // Декрафт наковальни в жидкость - event.recipes.tfc.heating(`tfc:metal/anvil/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) - .id(`tfc:heating/metal/${material.getName()}_anvil`) - } - - //#region Щипцы - let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) - let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - - if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) { - // Ручка щипцов - event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfchotornot:heating/tong_part/${material.getName()}`) - - // Щипцы - event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfchotornot:heating/tongs/${material.getName()}`) - } - //#endregion - - // Small TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) { - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_${material.getName()}`) - } - - // Small Native TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) { - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_native_${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_native_${material.getName()}`) - } - - // Any Dusts from GTCEu - if (material.hasProperty(PropertyKey.DUST)) { - - // Декрафт мелкой пыли - let tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) - if (!tinyDust.isEmpty()) { - - event.recipes.tfc.heating(tinyDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/tiny_dust/${material.getName()}`) - - } - - // Декрафт средней пыли - let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - if (!smallDust.isEmpty()) { - - event.recipes.tfc.heating(smallDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/small_dust/${material.getName()}`) - - } - - // Декрафт пыли - let dust = ChemicalHelper.get(TagPrefix.dust, material, 1) - if (!dust.isEmpty()) { - - event.recipes.tfc.heating(dust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/dust/${material.getName()}`) - - } - - // Декрафт грязной пыли - let impureDust = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - if (!impureDust.isEmpty()) { - - event.recipes.tfc.heating(impureDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/impure_dust/${material.getName()}`) - - } - - // Декрафт очищенной пыли - let purifiedDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - if (!purifiedDust.isEmpty()) { - - event.recipes.tfc.heating(purifiedDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - - } - - } - - // Any Ores from GTCEu - if (material.hasProperty(PropertyKey.ORE)) { - - // Декрафт ломанной руды - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - if (!crushedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - - } - - // Декрафт ломанной очищенной руды - let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - if (!crushedPurifiedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - - } - - // Декрафт центрифугированной ломанной руды - let crushedRefinedOre = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) - if (!crushedRefinedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedRefinedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - - } - - // Декрафт богатого куска руды - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - if (!richRawOre.isEmpty()) { - - event.recipes.tfc.heating(richRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) - - } - - // Декрафт нормального куска руды - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - if (!normalRawOre.isEmpty()) { - - event.recipes.tfc.heating(normalRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) - - } - - // Декрафт бедного куска руды - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - if (!poorRawOre.isEmpty()) { - event.recipes.tfc.heating(poorRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) - } - } - - // Nuggets - let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1) - if (!nuggetItem.isEmpty()) { - - // Декрафт самородков пыли - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - - } - - } - }) - - - //#region Рецепты для новых сплавов - - event.recipes.tfc.alloy('tfg:red_alloy', [ - TFC.alloyPart('tfg:redstone', 0.75, 0.85), - TFC.alloyPart('tfc:copper', 0.15, 0.25) - ]).id('tfg:alloy/red_alloy') - - event.recipes.tfc.alloy('tfg:tin_alloy', [ - TFC.alloyPart('tfc:tin', 0.45, 0.55), - TFC.alloyPart('tfc:cast_iron', 0.45, 0.55) - ]).id('tfg:alloy/tin_alloy') - - //#endregion - - //#region Удаление рецептов для предметов из Cast Iron - - // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) - - // Ступень - event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) - - // Полублок - event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) - - // Слиток - event.remove({ id: `tfc:casting/cast_iron_ingot` }) - event.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) - event.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) - event.remove({ id: `tfc:welding/cast_iron_double_ingot` }) - event.remove({ id: `tfc:anvil/cast_iron_rod` }) - - // Двойной слиток - event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) - event.remove({ id: `tfc:anvil/cast_iron_sheet` }) - - // Пластина - event.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) - event.remove({ id: `tfc:welding/cast_iron_double_sheet` }) - - // Двойная пластина - event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) - - // Стержень - event.remove({ id: `tfc:heating/metal/cast_iron_rod` }) - - // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) - - // Ступенька - event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) - - // Полублок - event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) - - - - //#endregion - - //#region Фикс рецептов колоколов - - //#region Из золота - - event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1) - .id(`tfc:casting/gold_bell`) - - event.recipes.tfc.heating(`minecraft:bell`, 1060) - .resultFluid(Fluid.of('gtceu:gold', 144)) - .id(`tfc:heating/gold_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)), - [ - Fluid.of(GTMaterials.Gold.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`) - - //#endregion - - //#region Из латуни - - event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1) - .id(`tfc:casting/brass_bell`) - - event.recipes.tfc.heating(`tfc:brass_bell`, 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`tfc:heating/brass_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)), - [ - Fluid.of(GTMaterials.Brass.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`) - - //#endregion - - //#region Из бронзы - - event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1) - .id(`tfc:casting/bronze_bell`) - - event.recipes.tfc.heating(`tfc:bronze_bell`, 930) - .resultFluid(Fluid.of('gtceu:bronze', 144)) - .id(`tfc:heating/bronze_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)), - [ - Fluid.of(GTMaterials.Bronze.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`) - - //#endregion - - //#endregion - - //#region Рецепты ковки TFC слитков в GT машинах - - // Сырая крица -> Укрепленная крица - event.recipes.gtceu.forge_hammer('tfg/refined_bloom') - .itemInputs('tfc:raw_iron_bloom') - .itemOutputs('tfc:refined_iron_bloom') - .duration(1000) - .EUt(4) - - // Укрепленная крица -> Слиток кованного железа - event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') - .itemInputs('tfc:refined_iron_bloom') - .itemOutputs('gtceu:wrought_iron_ingot') - .duration(1000) - .EUt(4) - - // Чугун -> Высокоуглеродная сталь - event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') - .itemInputs('tfc:metal/ingot/pig_iron') - .itemOutputs('tfc:metal/ingot/high_carbon_steel') - .duration(1000) - .EUt(4) - - // Высокоуглеродная сталь -> Cталь - event.recipes.gtceu.forge_hammer('tfg/steel') - .itemInputs('tfc:metal/ingot/high_carbon_steel') - .itemOutputs('gtceu:steel_ingot') - .duration(1000) - .EUt(4) - - // Высокоуглеродная черная сталь -> черная сталь - event.recipes.gtceu.forge_hammer('tfg/black_steel') - .itemInputs('tfc:metal/ingot/high_carbon_black_steel') - .itemOutputs('gtceu:black_steel_ingot') - .duration(1000) - .EUt(4) - - // Высокоуглеродная синяя сталь -> синяя сталь - event.recipes.gtceu.forge_hammer('tfg/blue_steel') - .itemInputs('tfc:metal/ingot/high_carbon_blue_steel') - .itemOutputs('gtceu:blue_steel_ingot') - .duration(1000) - .EUt(4) - - // Высокоуглеродная красная сталь -> красная сталь - event.recipes.gtceu.forge_hammer('tfg/red_steel') - .itemInputs('tfc:metal/ingot/high_carbon_red_steel') - .itemOutputs('gtceu:red_steel_ingot') - .duration(1000) - .EUt(4) - - // Слабая сталь + Чугун -> Высокоуглеродная черная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') - .itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron') - .itemOutputs('tfc:metal/ingot/high_carbon_black_steel') - .duration(1600) - .EUt(4) - - // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') - .itemInputs('tfc:metal/ingot/weak_blue_steel', 'gtceu:black_steel_ingot') - .itemOutputs('tfc:metal/ingot/high_carbon_blue_steel') - .duration(1600) - .EUt(4) - - // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') - .itemInputs('tfc:metal/ingot/weak_red_steel', 'gtceu:black_steel_ingot') - .itemOutputs('tfc:metal/ingot/high_carbon_red_steel') - .duration(1600) - .EUt(4) - - //#endregion - - //#region Фикс рецептов металлических предметов - - // Рецепт Jacks - event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) - .id(`tfc:welding/jacks`) - - // Декрафт Jacks - event.recipes.tfc.heating('tfc:jacks', 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`tfc:heating/jacks`) - - // Декрафт Gem Saw - event.recipes.tfc.heating('tfc:gem_saw', 930) - .resultFluid(Fluid.of('gtceu:brass', 72)) - .id(`tfc:heating/gem_saw`) - - // Декрафт сырой крицы в жидкость - event.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`tfc:heating/raw_bloom`) - - // Декрафт укрепленной крицы в жидкость - event.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`tfc:heating/refined_bloom`) - - // Гриль - event.recipes.tfc.heating('tfc:wrought_iron_grill', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`tfc:heating/grill`) - - // Ванильная дверь декрафт - event.recipes.tfc.heating('minecraft:iron_door', 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`tfc:heating/iron_door`) - - // Ванильная дверь на наковальне - event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last']) - .tier(3) - .id(`tfc:anvil/iron_door`) - - // Bloom -> Wrought Iron Ingot - event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2) - .id('tfc:anvil/wrought_iron_from_bloom') - - // High Carbon Steel Ingot -> Steel Ingot - event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3) - .id('tfc:anvil/steel_ingot') - - // High Carbon Black Steel Ingot -> Black Steel Ingot - event.recipes.tfc.anvil('gtceu:black_steel_ingot', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4) - .id('tfc:anvil/black_steel_ingot') - - // High Carbon Red Steel Ingot -> Red Steel Ingot - event.recipes.tfc.anvil('gtceu:red_steel_ingot', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) - .id('tfc:anvil/red_steel_ingot') - - // High Carbon Blue Steel Ingot -> Blue Steel Ingot - event.recipes.tfc.anvil('gtceu:blue_steel_ingot', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) - .id('tfc:anvil/blue_steel_ingot') - - // Cast iron -> Raw Iron Bloom - event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000) - .id('tfc:bloomery/raw_iron_bloom') - - // Cast Iron -> Pig Iron - event.recipes.tfc.blast_furnace(Fluid.of('tfg:pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1)) - .id('tfc:blast_furnace/pig_iron') - - //#endregion - - //#region metal bars - - const METAL_BARS = [ - "copper", - "bronze", - "black_bronze", - "bismuth_bronze", - "wrought_iron", - "steel", - "black_steel", - "red_steel", - "blue_steel" - ]; - - METAL_BARS.forEach(metal => { - generateCutterRecipe(event, `gtceu:${metal}_plate`, 9, `8x tfc:metal/bars/${metal}`, 100, 16, `${metal}_plate_to_bars`) - }); - - //#endregion - - //#endregion - - //#region Земля - - // Loam + Silt -> Silty Loam (Миксер) - event.recipes.gtceu.mixer('silty_loam_dirt') - .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') - .itemOutputs('tfc:dirt/silty_loam') - .duration(200) - .EUt(16) - - // Loam + Sand -> Sandy Loam (Миксер) - event.recipes.gtceu.mixer('sandy_loam_dirt') - .itemInputs('tfc:dirt/loam', '#forge:sand') - .circuit(3) - .itemOutputs('tfc:dirt/sandy_loam') - .duration(200) - .EUt(16) - - // Dirt + Sticks -> Rooted Dirt - global.TFC_MUD_TYPES.forEach(mud => { - event.recipes.gtceu.mixer(`${mud}_to_rooted`) - .itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch") - .itemOutputs(`tfc:rooted_dirt/${mud}`) - .duration(200) - .EUt(16) - }) - - global.TFC_MUD_TYPES.forEach(mud => { - event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) - .id(`tfg:smelting/${mud}_mud_to_grass`) - }) - - //#endregion - - //#region Грязь - - global.TFC_MUD_TYPES.forEach(mud => { - // Dirt -> Mud - event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) - .itemInputs(`tfc:dirt/${mud}`) - .inputFluids(Fluid.of('minecraft:water', 100)) - .circuit(2) - .itemOutputs(`tfc:mud/${mud}`) - .duration(200) - .EUt(16) - }) - - //#endregion - - //#region Грязь кирпичи - - global.TFC_MUD_TYPES.forEach(mud => { - - // Влажный кирпич -> Кирпич - event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) - .id(`tfg:smelting/${mud}_drying_brick_to_brick`) - - event.custom({ - type: "firmalife:drying", - ingredient: { - item: `tfc:drying_bricks/${mud}` - }, - result: { - item: `tfc:mud_brick/${mud}` - } - }).id(`tfg:drying/${mud}_drying_brick_to_brick`) - - // Кирпич -> Блок кирпичей - event.shaped(`tfc:mud_bricks/${mud}`, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: `tfc:mud_brick/${mud}`, - B: '#tfc:mortar' - }).id(`tfc:crafting/soil/${mud}_mud_bricks`) - - event.recipes.gtceu.assembler(`mud_bricks_${mud}`) - .itemInputs(`5x tfc:mud_brick/${mud}`) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`4x tfc:mud_bricks/${mud}`) - .duration(50) - .EUt(2) - - // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) - - event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 0, `tfc:mud_bricks/${mud}_stairs`, 100, 8, `${mud}_mud_bricks_to_stairs`) - - // Блок кирпичей -> Плиты - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) - - event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 1, `2x tfc:mud_bricks/${mud}_slab`, 100, 8, `${mud}_mud_bricks_to_slab`) - - // Блок кирпичей -> Стена - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) - - event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 2, `tfc:mud_bricks/${mud}_wall`, 100, 8, `${mud}_mud_bricks_to_wall`) - - }) - - //#endregion - - //#region Камень - - global.TFC_STONE_TYPES.forEach(stone => { - - let stoneMaterial = TFGHelpers.getMaterial(stone); - let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1) - let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) - - // Кирпич (предмет) - event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) - .itemInputs(`tfc:rock/loose/${stone}`) - .itemOutputs(`tfc:brick/${stone}`) - .circuit(1) - .duration(40) - .EUt(8) - - //#region Сырой камень - - // Сырой камень -> Сырой камень - event.recipes.gtceu.rock_breaker(`${stone}_raw`) - .notConsumable(`tfc:rock/raw/${stone}`) - .itemOutputs(`tfc:rock/raw/${stone}`) - .duration(16) - .EUt(7) - - // Сырой камень -> Булыжник - event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) - .itemInputs(`tfc:rock/raw/${stone}`) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(10) - .EUt(16) - - // Сырой камень -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) - - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 0, [`tfc:rock/raw/${stone}_stairs`, stoneDust], 100, 8, `${stone}_raw_to_stairs`) - - // Сырой камень -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) - - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 1, [`2x tfc:rock/raw/${stone}_slab`, stoneDust], 100, 8, `${stone}_raw_to_slab`) - - // Сырой камень -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` }) - - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 2, [`tfc:rock/raw/${stone}_wall`, stoneDust], 100, 8, `${stone}_raw_to_wall`) - - // ? -> Сырая нажимная пластина - event.shaped(`tfc:rock/pressure_plate/${stone}`, [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:hammers', - C: `tfc:rock/raw/${stone}_slab`, - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id(`tfc:crafting/rock/${stone}_pressure_plate`) - - event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`) - .itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`) - .circuit(0) - .itemOutputs(`2x tfc:rock/pressure_plate/${stone}`) - .duration(50) - .EUt(2) - - // ? -> Сырая кнопка - event.remove({ id: `tfc:crafting/rock/${stone}_button` }) - - generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, 0, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) - - //#endregion - - //#region Булыжник - - // Булыжник -> Булыжник - event.recipes.gtceu.rock_breaker(`${stone}_cobble`) - .notConsumable(`tfc:rock/cobble/${stone}`) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(16) - .EUt(7) - - // Булыжник -> Гравий - event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) - .itemInputs(`tfc:rock/cobble/${stone}`) - .itemOutputs(`tfc:rock/gravel/${stone}`) - .duration(10) - .EUt(16) - - // Камни -> Булыжник - event.shaped(`tfc:rock/cobble/${stone}`, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: `tfc:rock/loose/${stone}`, - B: '#tfc:mortar' - }).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`) - - event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) - .itemInputs(`4x tfc:rock/loose/${stone}`) - .circuit(2) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(50) - .EUt(2) - - // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) - - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 0, [`tfc:rock/cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cobble_to_stairs`) - - // Булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) - - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 1, [`2x tfc:rock/cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_cobble_to_slab`) - - // Булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) - - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 2, [`tfc:rock/cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_cobble_to_wall`) - - //#endregion - - //#region Гладкий - - // Сырой камень -> Гладкий - event.recipes.gtceu.laser_engraver(`raw_${stone}_to_smooth`) - .itemInputs(`tfc:rock/raw/${stone}`) - .notConsumable('gtceu:glass_lens') - .itemOutputs(`tfc:rock/smooth/${stone}`) - .duration(32) - .EUt(100) - - // Укрепленный сырой камень -> Гладкий - event.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`) - .itemInputs(`tfc:rock/hardened/${stone}`) - .notConsumable('gtceu:glass_lens') - .itemOutputs(`tfc:rock/smooth/${stone}`) - .duration(32) - .EUt(100) - - // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) - - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 0, [`tfc:rock/smooth/${stone}_stairs`, stoneDust], 100, 8, `${stone}_smooth_to_stairs`) - - // Булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) - - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 1, [`2x tfc:rock/smooth/${stone}_slab`, stoneDust], 100, 8, `${stone}_smooth_to_slab`) - - // Булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) - - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 2, [`tfc:rock/smooth/${stone}_wall`, stoneDust], 100, 8, `${stone}_smooth_to_wall`) - - //#endregion - - //#region Кирпич - - // Кирпич -> Блок кирпичей - event.recipes.gtceu.assembler(`bricks_${stone}`) - .itemInputs(`5x tfc:brick/${stone}`) - .circuit(0) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`4x tfc:rock/bricks/${stone}`) - .duration(50) - .EUt(2) - - // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) - - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 0, [`tfc:rock/bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_bricks_to_stairs`) - - // Блок кирпичей -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) - - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 1, [`2x tfc:rock/bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_bricks_to_slab`) - - // Блок кирпичей -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) - - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 2, [`tfc:rock/bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_bricks_to_wall`) - - //#endregion - - //#region Потрескавшийся кирпич - - // Кирпич -> Потрескавшийся кирпич - event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .itemOutputs(`tfc:rock/cracked_bricks/${stone}`) - .duration(25) - .EUt(8) - - // Потрескавшийся кирпич -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) - - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 0, [`tfc:rock/cracked_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_stairs`) - - // Потрескавшийся кирпич -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) - - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 1, [`2x tfc:rock/cracked_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_slab`) - - // Потрескавшийся кирпич -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) - - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 2, [`tfc:rock/cracked_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_wall`) - - //#endregion - - //#region Замшелый булыжник - - // Булыжник -> Замшелый булыжник - event.shaped(`tfc:rock/mossy_cobble/${stone}`, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: `tfc:rock/mossy_loose/${stone}`, - B: '#tfc:mortar' - }).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`) - - event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) - .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) - .circuit(0) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) - .duration(50) - .EUt(2) - - event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) - .itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low') - .circuit(0) - .inputFluids(Fluid.of('minecraft:water', 144)) - .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) - .duration(50) - .EUt(2) - - // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) - - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 0, [`tfc:rock/mossy_cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_stairs`) - - //Замшелый булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) - - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 1, [`2x tfc:rock/mossy_cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_slab`) - - // Замшелый булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) - - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 2, [`tfc:rock/mossy_cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_wall`) - - //#endregion - - //#region Замшелый кирпич - - // Блок кирпичей -> Замшелый кирпич - event.recipes.gtceu.assembler(`mossy_bricks_${stone}`) - .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') - .circuit(0) - .inputFluids(Fluid.of('minecraft:water', 144)) - .itemOutputs(`tfc:rock/mossy_bricks/${stone}`) - .duration(50) - .EUt(2) - - // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) - - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 0, [`tfc:rock/mossy_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_stairs`) - - //Замшелый булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) - - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 1, [`2x tfc:rock/mossy_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_slab`) - - // Замшелый булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) - - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 2, [`tfc:rock/mossy_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_wall`) - - //#endregion - - //#region Укрепленный камень - - event.recipes.gtceu.assembler(`hardened_${stone}`) - .itemInputs(`5x tfc:rock/raw/${stone}`) - .circuit(0) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`2x tfc:rock/hardened/${stone}`) - .duration(250) - .EUt(8) - - //#endregion - - //#region Акведук - - event.recipes.gtceu.assembler(`aqueduct_${stone}`) - .itemInputs(`3x tfc:brick/${stone}`) - .circuit(1) - .inputFluids(Fluid.of('gtceu:concrete', 16)) - .itemOutputs(`tfc:rock/aqueduct/${stone}`) - .duration(50) - .EUt(2) - - //#endregion - - //#region Резной кирпич - - // Блок кирпичей -> Резной кирпич - event.recipes.gtceu.laser_engraver(`chiseled_${stone}`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .notConsumable('gtceu:glass_lens') - .itemOutputs(`tfc:rock/chiseled/${stone}`) - .duration(32) - .EUt(100) - - //#endregion - - //#region Декрафт блоков камня в пыль - - //#region Целый блок - - // Сырой - event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Булыжник - event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Гладкий - event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - //#endregion - - //#region Ступень - - // Сырой - event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Булыжник - event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Гладкий - event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) - .itemOutputs(smallStoneDust.withCount(6)) - .duration(4) - .EUt(75) - - //#endregion - - //#region Плита - - // Сырой - event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Булыжник - event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Гладкий - event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`) - .itemOutputs(smallStoneDust.withCount(2)) - .duration(4) - .EUt(75) - - //#endregion - - //#region Стена - - // Сырой - event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Булыжник - event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Гладкий - event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Кирпичи - event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - //#endregion - - // Резной кирпич - event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) - .itemInputs(`tfc:rock/chiseled/${stone}`) - .itemOutputs(stoneDust) - .duration(4) - .EUt(75) - - // Укрепленный - event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) - .itemInputs(`tfc:rock/hardened/${stone}`) - .itemOutputs(stoneDust.withCount(2)) - .duration(8) - .EUt(150) - - //#endregion - }) - - //#endregion - - //#region Песок - - // Песок душ -> Желтый песок - // TODO: Включить после добавления ада - /* - event.recipes.gtceu.centrifuge('soul_sand_separation') - .itemInputs('minecraft:soul_sand') - .chancedOutput('tfc:sand/yellow', 9000, 130) - .chancedOutput('gtceu:small_saltpeter_dust', 8000, 480) - .chancedOutput('gtceu:tiny_coal_dust', 2000, 340) - .outputFluids(Fluid.of('gtceu:oil', 80)) - .duration(200) - .EUt(80)*/ - - // Нефтеносный -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_ore_separation') - .itemInputs('#forge:ores/oilsands') - .chancedOutput('tfc:sand/yellow', 5000, 5000) - .outputFluids(Fluid.of('gtceu:oil', 2000)) - .duration(200) - .EUt(30) - - // Пыль нефтеносного песка -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_dust_separation') - .itemInputs('gtceu:oilsands_dust') - .chancedOutput('tfc:sand/yellow', 5000, 5000) - .outputFluids(Fluid.of('gtceu:oil', 2000)) - .duration(200) - .EUt(30) - - // Земля -> Желтый песок - event.recipes.gtceu.centrifuge('dirt_separation') - .itemInputs('#tfc:dirt') - .chancedOutput('gtceu:plant_ball', 1250, 700) - .chancedOutput('tfc:sand/yellow', 5000, 1200) - .chancedOutput('gtceu:tiny_clay_dust', 4000, 900) - .duration(250) - .EUt(30) - - // Рецепты где нужно итерироваться по всем цветам - global.SAND_COLORS.forEach(sandColor => { - // Песчанник -> Песок - event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) - .itemInputs(`tfc:raw_sandstone/${sandColor}`) - .itemOutputs(`tfc:sand/${sandColor}`) - .duration(400) - .EUt(2) - - // Гладкий песчанник -> Песок - event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`) - .itemInputs(`tfc:smooth_sandstone/${sandColor}`) - .itemOutputs(`tfc:sand/${sandColor}`) - .duration(400) - .EUt(2) - - // Обрезанный песчанник -> Песок - event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`) - .itemInputs(`tfc:cut_sandstone/${sandColor}`) - .itemOutputs(`tfc:sand/${sandColor}`) - .duration(400) - .EUt(2) - - // Песок -> Песчанник - event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`) - .itemInputs(`4x tfc:sand/${sandColor}`) - .itemOutputs(`tfc:raw_sandstone/${sandColor}`) - .duration(800) - .EUt(2) - - // Песчанник -> Гладкий песчанник - event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) - .id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`) - - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 3, `tfc:smooth_sandstone/${sandColor}`, 100, 8, `raw_sandstone_${sandColor}_to_smooth_sandstone`) - - // Песчанник -> Обрезанный песчанник - event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) - .id(`raw_sandstone_${sandColor}_to_cut_sandstone`) - - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 4, `tfc:cut_sandstone/${sandColor}`, 100, 8, `cut_sandstone_${sandColor}_to_smooth_sandstone`) - - // Песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) - - event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`) - - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 0, `tfc:raw_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_sandstone_to_stairs`) - - // Песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) - - event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`) - - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 1, `2x tfc:raw_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_sandstone_to_slab`) - - // Песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) - - event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`) - - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 2, `tfc:raw_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_sandstone_to_wall`) - - // Гладкий песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) - - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`) - - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 0, `tfc:smooth_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_smooth_sandstone_to_stairs`) - - // Гладкий песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) - - event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`) - - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 1, `2x tfc:smooth_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_smooth_sandstone_to_slab`) - - // Гладкий песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) - - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`) - - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 2, `tfc:smooth_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_smooth_sandstone_to_wall`) - - // Обрезанный песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) - - event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`) - - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 0, `tfc:cut_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_cut_sandstone_to_stairs`) - - // Обрезанный песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) - - event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`) - - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 1, `2x tfc:cut_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_cut_sandstone_to_slab`) - - // Обрезанный песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) - - event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) - .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`) - - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 2, `tfc:cut_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_cut_sandstone_to_wall`) - }) - - // Коричневый гравий -> Песок - event.recipes.gtceu.forge_hammer('brown_gravel_to_sand') - .itemInputs('#tfc:brown_gravel') - .itemOutputs('tfc:sand/brown') - .duration(400) - .EUt(2) - - // Белый гравий -> Песок - event.recipes.gtceu.forge_hammer('white_gravel_to_sand') - .itemInputs('#tfc:white_gravel') - .itemOutputs('tfc:sand/white') - .duration(400) - .EUt(2) - - // Черный гравий -> Песок - event.recipes.gtceu.forge_hammer('black_gravel_to_sand') - .itemInputs('#tfc:black_gravel') - .itemOutputs('tfc:sand/black') - .duration(400) - .EUt(2) - - // Красный гравий -> Песок - event.recipes.gtceu.forge_hammer('red_gravel_to_sand') - .itemInputs('#tfc:red_gravel') - .itemOutputs('tfc:sand/red') - .duration(400) - .EUt(2) - - // Желтый гравий -> Песок - event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand') - .itemInputs('#tfc:yellow_gravel') - .itemOutputs('tfc:sand/yellow') - .duration(400) - .EUt(2) - - // Зеленый гравий -> Песок - event.recipes.gtceu.forge_hammer('green_gravel_to_sand') - .itemInputs('#tfc:green_gravel') - .itemOutputs('tfc:sand/green') - .duration(400) - .EUt(2) - - // Розовый гравий -> Песок - event.recipes.gtceu.forge_hammer('pink_gravel_to_sand') - .itemInputs('#tfc:pink_gravel') - .itemOutputs('tfc:sand/pink') - .duration(400) - .EUt(2) - - //#endregion - - //#region Дерево - - // Какие то рецепты дерева - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove({ id: `tfc:crafting/wood/${wood}_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) - event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) - event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) - - // Бревна -> Пиломатериалы - generateCutterRecipe(event, `#tfc:${wood}_logs`, 1, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) - - // Доски -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) - - // Ступень -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) - - - // Плита -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) - - // ? -> Деревянная нажимная пластина - event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wood', - B: '#tfc:hammers', - C: `tfc:wood/planks/${wood}_slab`, - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id(`tfc:crafting/wood/${wood}_pressure_plate`) - - event.recipes.gtceu.assembler(`${wood}_pressure_plate`) - .itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`) - .circuit(0) - .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) - .duration(50) - .EUt(2) - - // ? -> Деревянная кнопка - event.remove({ id: `tfc:crafting/wood/${wood}_button` }) - - generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) - - }) - - //#endregion - - //#region Рецепты порошков - - // Удаление рецептов - event.remove({ id: 'tfc:quern/amethyst' }) - event.remove({ id: 'tfc:quern/amethyst_cut' }) - event.remove({ id: 'tfc:quern/blaze_rod' }) - event.remove({ id: 'tfc:quern/borax' }) - event.remove({ id: 'tfc:quern/charcoal' }) - event.remove({ id: 'tfc:quern/cinnabar' }) - event.remove({ id: 'tfc:quern/cryolite' }) - event.remove({ id: 'tfc:quern/diamond' }) - event.remove({ id: 'tfc:quern/diamond_cut' }) - event.remove({ id: 'tfc:quern/emerald' }) - event.remove({ id: 'tfc:quern/emerald_cut' }) - event.remove({ id: 'tfc:quern/graphite' }) - event.remove({ id: 'tfc:quern/lapis_lazuli' }) - event.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) - event.remove({ id: 'tfc:quern/normal_bismuthinite' }) - event.remove({ id: 'tfc:quern/normal_cassiterite' }) - event.remove({ id: 'tfc:quern/normal_garnierite' }) - event.remove({ id: 'tfc:quern/normal_hematite' }) - event.remove({ id: 'tfc:quern/normal_limonite' }) - event.remove({ id: 'tfc:quern/normal_magnetite' }) - event.remove({ id: 'tfc:quern/normal_malachite' }) - event.remove({ id: 'tfc:quern/normal_native_copper' }) - event.remove({ id: 'tfc:quern/normal_native_gold' }) - event.remove({ id: 'tfc:quern/normal_native_silver' }) - event.remove({ id: 'tfc:quern/normal_sphalerite' }) - event.remove({ id: 'tfc:quern/normal_tetrahedrite' }) - event.remove({ id: 'tfc:quern/opal' }) - event.remove({ id: 'tfc:quern/opal_cut' }) - event.remove({ id: 'tfc:quern/poor_bismuthinite' }) - event.remove({ id: 'tfc:quern/poor_cassiterite' }) - event.remove({ id: 'tfc:quern/poor_garnierite' }) - event.remove({ id: 'tfc:quern/poor_hematite' }) - event.remove({ id: 'tfc:quern/poor_limonite' }) - event.remove({ id: 'tfc:quern/poor_magnetite' }) - event.remove({ id: 'tfc:quern/poor_malachite' }) - event.remove({ id: 'tfc:quern/poor_native_copper' }) - event.remove({ id: 'tfc:quern/poor_native_gold' }) - event.remove({ id: 'tfc:quern/poor_native_silver' }) - event.remove({ id: 'tfc:quern/poor_sphalerite' }) - event.remove({ id: 'tfc:quern/poor_tetrahedrite' }) - event.remove({ id: 'tfc:quern/pyrite' }) - event.remove({ id: 'tfc:quern/pyrite_cut' }) - event.remove({ id: 'tfc:quern/raw_limestone' }) - event.remove({ id: 'tfc:quern/rich_bismuthinite' }) - event.remove({ id: 'tfc:quern/rich_cassiterite' }) - event.remove({ id: 'tfc:quern/rich_garnierite' }) - event.remove({ id: 'tfc:quern/rich_hematite' }) - event.remove({ id: 'tfc:quern/rich_limonite' }) - event.remove({ id: 'tfc:quern/rich_magnetite' }) - event.remove({ id: 'tfc:quern/rich_malachite' }) - event.remove({ id: 'tfc:quern/rich_native_copper' }) - event.remove({ id: 'tfc:quern/rich_native_gold' }) - event.remove({ id: 'tfc:quern/rich_native_silver' }) - event.remove({ id: 'tfc:quern/rich_sphalerite' }) - event.remove({ id: 'tfc:quern/rich_tetrahedrite' }) - event.remove({ id: 'tfc:quern/ruby' }) - event.remove({ id: 'tfc:quern/ruby_cut' }) - event.remove({ id: 'tfc:quern/salt' }) - event.remove({ id: 'tfc:quern/saltpeter' }) - event.remove({ id: 'tfc:quern/sapphire' }) - event.remove({ id: 'tfc:quern/sapphire_cut' }) - event.remove({ id: 'tfc:quern/sulfur' }) - event.remove({ id: 'tfc:quern/sylvite' }) - event.remove({ id: 'tfc:quern/topaz' }) - event.remove({ id: 'tfc:quern/topaz_cut' }) - - // Добавление рецептов - global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) - .itemInputs(element.input) - .itemOutputs(element.output) - .duration(60) - .EUt(2) - - event.recipes.tfc.quern(element.output, element.input) - .id(`tfg:quern/${element.name}`) - - event.recipes.createMilling(element.output, element.input) - .id(`tfg:milling/${element.name}`) - }) - - //#endregion - - //#region Рецепты зерен - - global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { - - event.recipes.gtceu.macerator(`tfg:${element.name}`) - .itemInputs(element.input) - .itemOutputs(element.output) - .chancedOutput('tfc:straw', 7000, 500) - .duration(200) - .EUt(16) - - event.recipes.tfc.quern(element.output, element.input) - .id(`tfg:quern/${element.name}`) - - event.recipes.createMilling(element.output, element.input) - .id(`tfg:milling/${element.name}`) - }) - - //#endregion - - //#region Рецепты муки - - global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) - .itemInputs(element.input) - .itemOutputs(element.output) - .duration(200) - .EUt(16) - - event.recipes.createMilling(element.output, element.input) - .id(`tfg:milling/${element.name}`) - }) - - //#endregion - - //#region Рецепты обжарки мяса - - global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) - .id(`tfg:smelting/${element.name}`) - }) - - //#endregion - - //#region Рецепты обжарки форм - - global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) - .id(`tfg:smelting/${element.name}`) - }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) - .id(`tfg:smelting/${dye}_glazed_vessel`) - - event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) - .id(`tfg:smelting/${dye}_large_vessel`) - }) - - //#endregion - - //#region Покраска малых и больших сосудов - - //#region Обычный сосуд - - event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`) - .itemInputs('#tfg:colorized_unfired_vessels') - .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) - .itemOutputs('tfc:ceramic/unfired_vessel') - .duration(300) - .EUt(4) - - event.recipes.gtceu.chemical_bath(`fired_vessel_decolor`) - .itemInputs('#tfg:colorized_fired_vessels') - .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) - .itemOutputs('tfc:ceramic/vessel') - .duration(300) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`) - .itemInputs('tfc:ceramic/unfired_vessel') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) - .itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`) - .duration(150) - .EUt(4) - - event.recipes.gtceu.chemical_bath(`${dye}_vessel`) - .itemInputs('tfc:ceramic/vessel') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) - .itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`) - .duration(150) - .EUt(4) - }) - - //#endregion - - //#region Большой сосуд - - event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`) - .itemInputs('#tfg:colorized_unfired_large_vessels') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs('tfc:ceramic/unfired_large_vessel') - .duration(300) - .EUt(4) - - event.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`) - .itemInputs('#tfg:colorized_fired_large_vessels') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs('tfc:ceramic/large_vessel') - .duration(300) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`) - .itemInputs('tfc:ceramic/unfired_large_vessel') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) - .itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`) - .duration(150) - .EUt(4) - - event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`) - .itemInputs('tfc:ceramic/large_vessel') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) - .itemOutputs(`tfc:ceramic/large_vessel/${dye}`) - .duration(150) - .EUt(4) - }) - - //#endregion - - //#endregion - - //#region Удаление рецептов лопастей ветряной мельницы - - event.remove({ id: `tfc:crafting/windmill_blade` }) - event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) - }) - - //#endregion - - //#region Удаление рецептов каменных инструментов TFC - - //#region Топор - - // Инструмент - event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/axe_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/axe_sedimentary` }) - - // Оголовья - event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` }) - - event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ - " X ", - "XXXX ", - "XXXXX", - "XXXX ", - " X " - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_axe_head') - - //#endregion - - //#region Молот - - // Инструмент - event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` }) - - // Оголовья - event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` }) - - event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ - "XXXXX", - "XXXXX", - " X " - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_hammer_head') - - //#endregion - - //#region Мотыга - - // Инструмент - event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` }) - - // Оголовья - event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` }) - - event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ - "XXXXX", - " XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_hoe_head') - - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ - "XXXXX", - "XX ", - " ", - "XXXXX", - "XX " - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_hoe_head_1') - - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ - "XXXXX", - "XX ", - " ", - "XXXXX", - " XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_hoe_head_2') - - //#endregion - - //#region Нож - - // Инструмент - event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/knife_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/knife_sedimentary` }) - - // Оголовья - event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` }) - - event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ - "X ", - "XX", - "XX", - "XX", - "XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_knife_head') - - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ - "X X ", - "XX XX", - "XX XX", - "XX XX", - "XX XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_knife_head_1') - - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ - "X X", - "XX XX", - "XX XX", - "XX XX", - "XX XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_knife_head_2') - - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ - " X X ", - "XX XX", - "XX XX", - "XX XX", - "XX XX" - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_knife_head_3') - - //#endregion - - //#region Лопата - - // Инструмент - event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` }) - - // Оголовья - event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` }) - - event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ - "XXX", - "XXX", - "XXX", - "XXX", - " X " - ]) - .ingredient('#tfc:rock_knapping') - .outsideSlotRequired(false) - .id('tfg:rock_knapping/stone_shovel_head') - - //#endregion - - //#endregion - - //#region Рецепты электрической теплицы - - // Дерево - global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `tfc:wood/sapling/${wood}`, 16000, `32x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`) - }) - - // Семена фруктов - global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) - - // Семена овощей - global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) - - // Семена ягод - global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) - - // Растения - Ingredient.of('#tfc:plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId); - }); - - //#endregion - - //#region Рецепты плоского теста - - global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.mixer(element.name) - .itemInputs(element.input) - .inputFluids(Fluid.of('minecraft:water', 100)) - .itemOutputs(element.output) - .duration(300) - .EUt(16) - .circuit(3) - }) - - //#endregion - - //#region Рецепты хлеба - - global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) - .id(`tfg:smelting/${element.name}`) - }) - - //#endregion - - //#region Молды в ассемблере - - for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { - - let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; - - event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) - .itemInputs(element.input) - .circuit(i) - .itemOutputs(element.output) - .duration(450) - .EUt(2) - } - - - //#endregion - - //#region Стеклянные смеси в бутылки в ассемблере - - global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) - .itemInputs(element.input) - .notConsumable('gtceu:bottle_casting_mold') - .itemOutputs(element.output) - .duration(100) - .EUt(2) - }) - - //#endregion - - //#region СЫЫЫР 0_0 - - // Rennet - event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet') - .itemInputs('#tfg:ferments_to_rennet') - .itemOutputs('firmalife:rennet') - .duration(400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet') - .inputFluids(Fluid.of('gtceu:fermented_biomass', 100)) - .itemOutputs('firmalife:rennet') - .duration(2400) - .EUt(16) - - // Curdled milk - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') - .inputFluids(Fluid.of('minecraft:milk', 1000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('tfc:curdled_milk')) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') - .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk')) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') - .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk')) - .duration(2400) - .EUt(16) - - //Curds - event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd') - .inputFluids(Fluid.of('tfc:curdled_milk', 1000)) - .itemOutputs('firmalife:food/milk_curd') - .duration(1200) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd') - .inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) - .itemOutputs('firmalife:food/yak_curd') - .duration(1200) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd') - .inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) - .itemOutputs('firmalife:food/goat_curd') - .duration(1200) - .EUt(16) - - // Cheese wheels - event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel') - .inputFluids(Fluid.of('tfc:salt_water', 750)) - .itemInputs('3x firmalife:food/milk_curd') - .itemOutputs('firmalife:gouda_wheel') - .duration(12000) - .EUt(24) - - event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel') - .inputFluids(Fluid.of('tfc:salt_water', 750)) - .itemInputs('3x firmalife:food/yak_curd') - .itemOutputs('firmalife:shosha_wheel') - .duration(12000) - .EUt(24) - - event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel') - .inputFluids(Fluid.of('tfc:salt_water', 750)) - .itemInputs('3x firmalife:food/goat_curd') - .itemOutputs('firmalife:feta_wheel') - .duration(12000) - .EUt(24) - - // Cutting - event.recipes.gtceu.cutter('tfg:cutter/gouda') - .itemInputs('firmalife:gouda_wheel') - .itemOutputs('4x firmalife:food/gouda') - .duration(40) - .EUt(28) - - event.recipes.gtceu.cutter('tfg:cutter/shosha') - .itemInputs('firmalife:shosha_wheel') - .itemOutputs('4x firmalife:food/shosha') - .duration(40) - .EUt(28) - - event.recipes.gtceu.cutter('tfg:cutter/feta') - .itemInputs('firmalife:feta_wheel') - .itemOutputs('4x firmalife:food/feta') - .duration(40) - .EUt(28) - - event.recipes.gtceu.cutter('tfg:cutter/cheddar') - .itemInputs('firmalife:cheddar_wheel') - .itemOutputs('4x firmalife:food/cheddar') - .duration(40) - .EUt(28) - - event.recipes.gtceu.cutter('tfg:cutter/chevre') - .itemInputs('firmalife:chevre_wheel') - .itemOutputs('4x firmalife:food/chevre') - .duration(40) - .EUt(28) - - event.recipes.gtceu.cutter('tfg:cutter/rajya_metok') - .itemInputs('firmalife:rajya_metok_wheel') - .itemOutputs('4x firmalife:food/rajya_metok') - .duration(40) - .EUt(28) - - // Misc - global.TFC_MILKS.forEach(milk => { - event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`) - .inputFluids(Fluid.of(milk.id, 1000)) - .outputFluids(Fluid.of('firmalife:cream')) - .duration(1200) - .EUt(24) - }) - - event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce') - .itemInputs('firmalife:food/tomato_sauce_mix') - .inputFluids(Fluid.of('minecraft:water', 200)) - .itemOutputs('firmalife:food/tomato_sauce') - .duration(200) - .EUt(24) - - - //endregion - - //#region Оливки - - event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) - .itemInputs('tfc:food/olive') - .itemOutputs('2x tfc:olive_paste') - .duration(60) - .EUt(2) - - event.recipes.createMilling('2x tfc:olive_paste', 'tfc:food/olive') - .id(`tfg:milling/tfc/olive_paste`) - - event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') - .inputFluids(Fluid.of('water', 200)) - .itemInputs('2x tfc:olive_paste') - .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) - .duration(200) - .EUt(28) - - event.recipes.gtceu.distillery('tfg:tfc/olive_oil') - .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) - .outputFluids(Fluid.of('tfc:olive_oil', 50)) - .duration(600) - .EUt(28) - - //#endregion - - //#region Рецепты бочки в миксере - // А где? - //#endregion - - // Бумага - event.recipes.gtceu.cutter('tfg:unrefined_paper') - .itemInputs('tfc:unrefined_paper') - .itemOutputs('minecraft:paper') - .duration(100) - .EUt(16) - - // Limewater - event.recipes.gtceu.mixer('tfg:limewater_from_lime') - .itemInputs('tfc:powder/lime') - .inputFluids(Fluid.of('water', 500)) - .outputFluids(Fluid.of('tfc:limewater', 500)) - .duration(20) - .EUt(16) - - event.recipes.gtceu.mixer('tfg:limewater_from_flux') - .itemInputs('tfc:powder/flux') - .inputFluids(Fluid.of('water', 500)) - .outputFluids(Fluid.of('tfc:limewater', 500)) - .duration(20) - .EUt(16) - - // Tannin - event.recipes.gtceu.chemical_bath('tfg:tannin') - .itemInputs('#tfc:makes_tannin') - .inputFluids(Fluid.of('water', 1000)) - .outputFluids(Fluid.of('tfc:tannin', 1000)) - .duration(2400) - .EUt(16) - - // Soaked hides - event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide') - .itemInputs('tfc:small_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 300)) - .itemOutputs('tfc:small_soaked_hide') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide') - .itemInputs('tfc:medium_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 400)) - .itemOutputs('tfc:medium_soaked_hide') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide') - .itemInputs('tfc:large_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 500)) - .itemOutputs('tfc:large_soaked_hide') - .duration(3200) - .EUt(16) - - // Scraped Hides - event.recipes.gtceu.cutter('tfg:small_scraped_hide') - .itemInputs('tfc:small_soaked_hide') - .itemOutputs('tfc:small_scraped_hide') - .duration(100) - .EUt(16) - - event.recipes.gtceu.cutter('tfg:medium_scraped_hide') - .itemInputs('tfc:medium_soaked_hide') - .itemOutputs('tfc:medium_scraped_hide') - .duration(100) - .EUt(16) - - event.recipes.gtceu.cutter('tfg:large_scraped_hide') - .itemInputs('tfc:large_soaked_hide') - .itemOutputs('tfc:large_scraped_hide') - .duration(100) - .EUt(16) - - // Prepared hides - event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide') - .itemInputs('tfc:small_soaked_hide') - .inputFluids(Fluid.of('water', 300)) - .itemOutputs('tfc:small_prepared_hide') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide') - .itemInputs('tfc:medium_soaked_hide') - .inputFluids(Fluid.of('water', 400)) - .itemOutputs('tfc:medium_prepared_hide') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide') - .itemInputs('tfc:large_soaked_hide') - .inputFluids(Fluid.of('water', 500)) - .itemOutputs('tfc:large_prepared_hide') - .duration(3200) - .EUt(16) - - // Leather - event.recipes.gtceu.chemical_bath('tfg:small_leather') - .itemInputs('tfc:small_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 300)) - .itemOutputs('minecraft:leather') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_leather') - .itemInputs('tfc:medium_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 400)) - .itemOutputs('2x minecraft:leather') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_leather') - .itemInputs('tfc:large_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 500)) - .itemOutputs('3x minecraft:leather') - .duration(3200) - .EUt(16) - - // Другое - event.remove({ id: `tfc:crafting/trip_hammer` }) - event.remove({ id: `tfc:anvil/steel_pump` }) - event.remove({ id: `tfc:crafting/steel_pump` }) - event.remove({ id: `tfc:crafting/crankshaft` }) - - - - // Доменная печь - event.shaped('tfc:blast_furnace', [ - 'AAA', - 'ABA', - 'AAA' - ], { - A: '#forge:double_plates/wrought_iron', - B: 'tfc:crucible' - }).id('tfc:crafting/blast_furnace') - - // Тыква -> Кусочки тыквы - event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ - 'AB' - ], { - A: '#tfc:knives', - B: 'tfc:pumpkin' - }) - - // Lime - event.smelting('tfc:powder/lime', 'tfc:powder/flux') - .id('tfg:smelting/lime') - - // Kaolinite Clay - event.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite') - .id('tfg:smelting/kaolinite_clay') - - // Fire Brick - event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') - .id('tfg:smelting/fireclay_brick') - - // Выпаривание соли - event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100) - .itemOutput('gtceu:small_salt_dust') - .id('tfg:tfc/pot/salt') - - // Salt Water - generateMixerRecipe( - event, - ['#forge:dusts/salt'], - Fluid.of('minecraft:water', 1000), - [], - null, - Fluid.of('tfc:salt_water', 1000), - 40, - 7, - 64, - 'tfg:tfc/salt_water' - ) - - // Lamp Glass - event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) - .itemInputs('#tfc:glass_batches') - .notConsumable('#tfg:unfinished_lamps') - .itemOutputs('tfc:lamp_glass') - .duration(100) - .EUt(2) - - // Glass lens - event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) - .itemInputs('tfc:silica_glass_batch') - .notConsumable('#forge:lenses') - .itemOutputs('tfc:lens') - .duration(100) - .EUt(2) - - // Empty Jar - event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) - .itemInputs('#tfc:glass_batches_tier_2') - .circuit(2) - .itemOutputs('tfc:empty_jar') - .duration(100) - .EUt(2) - - // Wool Yarn - event.recipes.gtceu.macerator('macerate_wool') - .itemInputs('#minecraft:wool') - .itemOutputs('tfc:wool_yarn') - .chancedOutput('tfc:wool_yarn', 9000, 0) - .chancedOutput('tfc:wool_yarn', 5000, 0) - .chancedOutput('tfc:wool_yarn', 2000, 0) - .duration(200) - .EUt(2) - - // LimeWater + Sand -> Mortar - event.recipes.gtceu.centrifuge('mortar') - .itemInputs('#forge:sand') - .inputFluids(Fluid.of('tfc:limewater', 100)) - .itemOutputs('16x tfc:mortar') - .duration(800) - .EUt(8) - - // Brass Mechanism - event.recipes.gtceu.assembler('tfg:tfc/brass_mechanism') - .itemInputs('#forge:plates/brass') - .circuit(10) - .itemOutputs('2x tfc:brass_mechanisms') - .duration(100) - .EUt(4) - - // 1x Small SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_1') - .itemInputs('tfc:small_sheepskin_hide') - .itemOutputs('tfc:wool') - .duration(100) - .EUt(4) - - // 1x Medium SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_2') - .itemInputs('tfc:medium_sheepskin_hide') - .itemOutputs('2x tfc:wool') - .duration(100) - .EUt(4) - - // 1x Large SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_3') - .itemInputs('tfc:large_sheepskin_hide') - .itemOutputs('3x tfc:wool') - .duration(100) - .EUt(4) - - // Wool Yarn - event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') - .itemInputs('tfc:wool') - .itemOutputs('8x tfc:wool_yarn') - .duration(100) - .EUt(4) - - // Burlap Cloth - event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') - .itemInputs('12x tfc:jute_fiber') - .circuit(0) - .itemOutputs('tfc:burlap_cloth') - .duration(100) - .EUt(4) - - // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') - .itemInputs('24x minecraft:string') - .circuit(0) - .itemOutputs('tfc:silk_cloth') - .duration(100) - .EUt(4) - - // Wool Cloth - event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') - .itemInputs('16x tfc:wool_yarn') - .circuit(0) - .itemOutputs('tfc:wool_cloth') - .duration(100) - .EUt(4) - - // Cloths to Wool - event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool') - .itemInputs('4x #tfc:sewing_light_cloth') - .itemOutputs('8x minecraft:white_wool') - .circuit(16) - .duration(100) - .EUt(4) - - // Jute Fiber - generateMixerRecipe(event, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') - - // Seaweed and kelp - event.recipes.tfc.heating('tfc:groundcover/seaweed', 200) - .resultItem('tfc:food/dried_seaweed') - event.recipes.tfc.heating('tfc:plant/leafy_kelp', 200) - .resultItem('tfc:food/dried_kelp') - event.recipes.tfc.heating('tfc:plant/winged_kelp', 200) - .resultItem('tfc:food/dried_kelp') - - // Soda Ash - event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') - event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') - - //#region Обрушения - - event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') - event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') - event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') - - global.TFC_STONE_TYPES.forEach(stoneType => { - event.custom({ - type: "tfc:collapse", - ingredient: { - tag: `forge:ores_in_ground/${stoneType}` - }, - result: `tfc:rock/cobble/${stoneType}` - }).id(`tfg:collapse/${stoneType}_gt_ores`) - }) - - //#endregion - - //#region Выход: Свечи - - event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) - .itemInputs('#tfc:colored_candles') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs('tfc:candle') - .duration(300) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - - event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) - .itemInputs('tfc:candle') - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) - .itemOutputs(`tfc:candle/${dye}`) - .duration(300) - .EUt(4) - - }) - - //#endregion - - //#region Алебастр - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) - .id('tfc:crafting/alabaster_brick/raw_gypsum') - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels'])) - .id('tfc:crafting/alabaster_brick/poor_raw_gypsum') - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels'])) - .id('tfc:crafting/alabaster_brick/rich_raw_gypsum') - - // Alabaster Brick - event.recipes.gtceu.assembler('tfc:alabaster/bricks') - .itemInputs('5x tfc:alabaster_brick') - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs('4x tfc:alabaster/bricks') - .duration(50) - .EUt(2) - - event.recipes.gtceu.chemical_bath('tfc:alabaster/bricks') - .itemInputs('#tfc:colored_bricks_alabaster') - .inputFluids(Fluid.of('gtceu:chlorine', 72)) - .itemOutputs('tfc:alabaster/bricks') - .duration(400) - .EUt(2) - - for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) - .itemInputs('tfc:alabaster/bricks') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) - .duration(20) - .EUt(7) - } - - // Raw Alabaster - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum') - .itemInputs('gtceu:poor_raw_gypsum') - .inputFluids(Fluid.of('tfc:limewater', 50)) - .itemOutputs('tfc:alabaster/raw') - .duration(400) - .EUt(2) - - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum') - .itemInputs('gtceu:raw_gypsum') - .inputFluids(Fluid.of('tfc:limewater', 100)) - .itemOutputs('2x tfc:alabaster/raw') - .duration(400) - .EUt(2) - - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum') - .itemInputs('gtceu:rich_raw_gypsum') - .inputFluids(Fluid.of('tfc:limewater', 150)) - .itemOutputs('3x tfc:alabaster/raw') - .duration(400) - .EUt(2) - - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw') - .itemInputs('#tfc:colored_bricks_alabaster') - .inputFluids(Fluid.of('gtceu:chlorine', 72)) - .itemOutputs('tfc:alabaster/raw') - .duration(400) - .EUt(2) - - for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) - .itemInputs('tfc:alabaster/raw') - .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) - .itemOutputs(`tfc:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) - .duration(20) - .EUt(7) - } - //#endregion - - //More accesible solar drier - event.replaceInput({id: 'firmalife:crafting/solar_drier'}, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod') - - //Wood ash - event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch') - .id('tfg:splashing/wash_torch') - - //Lye in mixer - generateMixerRecipe(event, 'tfc:powder/wood_ash', Fluid.of('minecraft:water', 200), [], null, Fluid.of('tfc:lye', 200), 100, 2, 64, 'lye_in_mixer') + //Lye in mixer + generateMixerRecipe(event, 'tfc:powder/wood_ash', Fluid.of('minecraft:water', 200), [], null, Fluid.of('tfc:lye', 200), 100, 2, 64, 'lye_in_mixer') + + // Brass Mechanism + event.recipes.shapeless('gtceu:small_brass_gear', [ 'tfc:brass_mechanisms' ]).id('tfg:replace_brass_mechanisms') + event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') } diff --git a/kubejs/server_scripts/tfc/recipes.knapping.js b/kubejs/server_scripts/tfc/recipes.knapping.js new file mode 100644 index 000000000..fa853a122 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.knapping.js @@ -0,0 +1,210 @@ +// priority: 0 + +function registerTFCKnappingRecipes(event) { + + //#region Топор + + // Инструмент + event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` }) + event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` }) + event.remove({ id: `tfc:crafting/stone/axe_metamorphic` }) + event.remove({ id: `tfc:crafting/stone/axe_sedimentary` }) + + // Оголовья + event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` }) + + event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ + " X ", + "XXXX ", + "XXXXX", + "XXXX ", + " X " + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_axe_head') + + //#endregion + + //#region Молот + + // Инструмент + event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` }) + event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` }) + event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` }) + event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` }) + + // Оголовья + event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` }) + + event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ + "XXXXX", + "XXXXX", + " X " + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_hammer_head') + + //#endregion + + //#region Мотыга + + // Инструмент + event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` }) + event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` }) + event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` }) + event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` }) + + // Оголовья + event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` }) + event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` }) + + event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ + "XXXXX", + " XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_hoe_head') + + event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + "XXXXX", + "XX ", + " ", + "XXXXX", + "XX " + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_hoe_head_1') + + event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + "XXXXX", + "XX ", + " ", + "XXXXX", + " XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_hoe_head_2') + + //#endregion + + //#region Нож + + // Инструмент + event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` }) + event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` }) + event.remove({ id: `tfc:crafting/stone/knife_metamorphic` }) + event.remove({ id: `tfc:crafting/stone/knife_sedimentary` }) + + // Оголовья + event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` }) + event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` }) + event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` }) + event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` }) + + event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ + "X ", + "XX", + "XX", + "XX", + "XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_knife_head') + + event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + "X X ", + "XX XX", + "XX XX", + "XX XX", + "XX XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_knife_head_1') + + event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + "X X", + "XX XX", + "XX XX", + "XX XX", + "XX XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_knife_head_2') + + event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + " X X ", + "XX XX", + "XX XX", + "XX XX", + "XX XX" + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_knife_head_3') + + //#endregion + + //#region Лопата + + // Инструмент + event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` }) + event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` }) + event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` }) + event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` }) + + // Оголовья + event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` }) + event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` }) + event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` }) + event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` }) + + event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ + "XXX", + "XXX", + "XXX", + "XXX", + " X " + ]) + .ingredient('#tfc:rock_knapping') + .outsideSlotRequired(false) + .id('tfg:rock_knapping/stone_shovel_head') + + //#endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js new file mode 100644 index 000000000..577f57db4 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.machines.js @@ -0,0 +1,423 @@ +// priority: 0 + +function registerTFCMachineRecipes(event) { + + // Бумага + event.recipes.gtceu.cutter('tfg:unrefined_paper') + .itemInputs('tfc:unrefined_paper') + .itemOutputs('minecraft:paper') + .duration(100) + .EUt(7) + + // Limewater + event.recipes.gtceu.mixer('tfg:limewater_from_lime') + .itemInputs('tfc:powder/lime') + .inputFluids(Fluid.of('water', 500)) + .outputFluids(Fluid.of('tfc:limewater', 500)) + .duration(20) + .EUt(16) + + event.recipes.gtceu.mixer('tfg:limewater_from_flux') + .itemInputs('tfc:powder/flux') + .inputFluids(Fluid.of('water', 500)) + .outputFluids(Fluid.of('tfc:limewater', 500)) + .duration(20) + .EUt(16) + + // Tannin + event.recipes.gtceu.chemical_bath('tfg:tannin') + .itemInputs('#tfc:makes_tannin') + .inputFluids(Fluid.of('water', 1000)) + .outputFluids(Fluid.of('tfc:tannin', 1000)) + .duration(2400) + .EUt(16) + + // Soaked hides + event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide') + .itemInputs('tfc:small_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 300)) + .itemOutputs('tfc:small_soaked_hide') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide') + .itemInputs('tfc:medium_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 400)) + .itemOutputs('tfc:medium_soaked_hide') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide') + .itemInputs('tfc:large_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 500)) + .itemOutputs('tfc:large_soaked_hide') + .duration(3200) + .EUt(16) + + // Scraped Hides + event.recipes.gtceu.cutter('tfg:small_scraped_hide') + .itemInputs('tfc:small_soaked_hide') + .itemOutputs('tfc:small_scraped_hide') + .duration(100) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:medium_scraped_hide') + .itemInputs('tfc:medium_soaked_hide') + .itemOutputs('tfc:medium_scraped_hide') + .duration(100) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:large_scraped_hide') + .itemInputs('tfc:large_soaked_hide') + .itemOutputs('tfc:large_scraped_hide') + .duration(100) + .EUt(7) + + // Prepared hides + event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide') + .itemInputs('tfc:small_soaked_hide') + .inputFluids(Fluid.of('water', 300)) + .itemOutputs('tfc:small_prepared_hide') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide') + .itemInputs('tfc:medium_soaked_hide') + .inputFluids(Fluid.of('water', 400)) + .itemOutputs('tfc:medium_prepared_hide') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide') + .itemInputs('tfc:large_soaked_hide') + .inputFluids(Fluid.of('water', 500)) + .itemOutputs('tfc:large_prepared_hide') + .duration(3200) + .EUt(16) + + // Leather + event.recipes.gtceu.chemical_bath('tfg:small_leather') + .itemInputs('tfc:small_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 300)) + .itemOutputs('minecraft:leather') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_leather') + .itemInputs('tfc:medium_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 400)) + .itemOutputs('2x minecraft:leather') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_leather') + .itemInputs('tfc:large_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('3x minecraft:leather') + .duration(3200) + .EUt(16) + + //#region Рецепты плоского теста + + global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(3) + }) + + //#endregion + + //#region Молды в ассемблере + + for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + + event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .circuit(i) + .itemOutputs(element.output) + .duration(450) + .EUt(2) + } + + //#endregion + + //#region Стеклянные смеси в бутылки в ассемблере + + global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .notConsumable('gtceu:bottle_casting_mold') + .itemOutputs(element.output) + .duration(100) + .EUt(2) + }) + + //#endregion + + //#region СЫЫЫР 0_0 + + // Rennet + event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet') + .itemInputs('#tfg:ferments_to_rennet') + .itemOutputs('firmalife:rennet') + .duration(400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet') + .inputFluids(Fluid.of('gtceu:fermented_biomass', 100)) + .itemOutputs('firmalife:rennet') + .duration(2400) + .EUt(16) + + // Curdled milk + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('tfc:curdled_milk')) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_yak_milk')) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_goat_milk')) + .duration(2400) + .EUt(16) + + //Curds + event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd') + .inputFluids(Fluid.of('tfc:curdled_milk', 1000)) + .itemOutputs('firmalife:food/milk_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd') + .inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) + .itemOutputs('firmalife:food/yak_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd') + .inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) + .itemOutputs('firmalife:food/goat_curd') + .duration(1200) + .EUt(16) + + // Cheese wheels + event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/milk_curd') + .itemOutputs('firmalife:gouda_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/yak_curd') + .itemOutputs('firmalife:shosha_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/goat_curd') + .itemOutputs('firmalife:feta_wheel') + .duration(12000) + .EUt(24) + + // Cutting + event.recipes.gtceu.cutter('tfg:cutter/gouda') + .itemInputs('firmalife:gouda_wheel') + .itemOutputs('4x firmalife:food/gouda') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/shosha') + .itemInputs('firmalife:shosha_wheel') + .itemOutputs('4x firmalife:food/shosha') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/feta') + .itemInputs('firmalife:feta_wheel') + .itemOutputs('4x firmalife:food/feta') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/cheddar') + .itemInputs('firmalife:cheddar_wheel') + .itemOutputs('4x firmalife:food/cheddar') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/chevre') + .itemInputs('firmalife:chevre_wheel') + .itemOutputs('4x firmalife:food/chevre') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/rajya_metok') + .itemInputs('firmalife:rajya_metok_wheel') + .itemOutputs('4x firmalife:food/rajya_metok') + .duration(40) + .EUt(7) + + // Misc + global.TFC_MILKS.forEach(milk => { + event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`) + .inputFluids(Fluid.of(milk.id, 1000)) + .outputFluids(Fluid.of('firmalife:cream')) + .duration(1200) + .EUt(24) + }) + + event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce') + .itemInputs('firmalife:food/tomato_sauce_mix') + .inputFluids(Fluid.of('minecraft:water', 200)) + .itemOutputs('firmalife:food/tomato_sauce') + .duration(200) + .EUt(24) + + //#endregion + + //#region Оливки + + event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:food/olive') + .itemOutputs('2x tfc:olive_paste') + .duration(60) + .EUt(2) + + event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') + .inputFluids(Fluid.of('water', 200)) + .itemInputs('2x tfc:olive_paste') + .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) + .duration(200) + .EUt(28) + + event.recipes.gtceu.distillery('tfg:tfc/olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) + .outputFluids(Fluid.of('tfc:olive_oil', 50)) + .duration(600) + .EUt(28) + + //#endregion + + // Lamp Glass + event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) + .itemInputs('#tfc:glass_batches') + .notConsumable('#tfg:unfinished_lamps') + .itemOutputs('tfc:lamp_glass') + .duration(100) + .EUt(2) + + // Glass lens + event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) + .itemInputs('tfc:silica_glass_batch') + .notConsumable('#forge:lenses') + .itemOutputs('tfc:lens') + .duration(100) + .EUt(2) + + // Empty Jar + event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) + .itemInputs('#tfc:glass_batches_tier_2') + .circuit(2) + .itemOutputs('tfc:empty_jar') + .duration(100) + .EUt(2) + + // Wool Yarn + event.recipes.gtceu.macerator('macerate_wool') + .itemInputs('#minecraft:wool') + .itemOutputs('tfc:wool_yarn') + .chancedOutput('tfc:wool_yarn', 9000, 0) + .chancedOutput('tfc:wool_yarn', 5000, 0) + .chancedOutput('tfc:wool_yarn', 2000, 0) + .duration(200) + .EUt(2) + + // LimeWater + Sand -> Mortar + event.recipes.gtceu.centrifuge('mortar') + .itemInputs('#forge:sand') + .inputFluids(Fluid.of('tfc:limewater', 100)) + .itemOutputs('16x tfc:mortar') + .duration(800) + .EUt(8) + + + // 1x Small SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_1') + .itemInputs('tfc:small_sheepskin_hide') + .itemOutputs('tfc:wool') + .duration(100) + .EUt(4) + + // 1x Medium SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_2') + .itemInputs('tfc:medium_sheepskin_hide') + .itemOutputs('2x tfc:wool') + .duration(100) + .EUt(4) + + // 1x Large SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_3') + .itemInputs('tfc:large_sheepskin_hide') + .itemOutputs('3x tfc:wool') + .duration(100) + .EUt(4) + + // Wool Yarn + event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') + .itemInputs('tfc:wool') + .itemOutputs('8x tfc:wool_yarn') + .duration(100) + .EUt(4) + + // Burlap Cloth + event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') + .itemInputs('12x tfc:jute_fiber') + .circuit(0) + .itemOutputs('tfc:burlap_cloth') + .duration(100) + .EUt(4) + + // Silk Cloth + event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') + .itemInputs('24x minecraft:string') + .circuit(0) + .itemOutputs('tfc:silk_cloth') + .duration(100) + .EUt(4) + + // Wool Cloth + event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') + .itemInputs('16x tfc:wool_yarn') + .circuit(0) + .itemOutputs('tfc:wool_cloth') + .duration(100) + .EUt(4) + + // Cloths to Wool + event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool') + .itemInputs('4x #tfc:sewing_light_cloth') + .itemOutputs('8x minecraft:white_wool') + .circuit(16) + .duration(100) + .EUt(4) + + // Jute Fiber + generateMixerRecipe(event, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js new file mode 100644 index 000000000..bf433b977 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -0,0 +1,1283 @@ +// priority: 0 + +function registerTFCMaterialsRecipes(event) { + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + + if (tfcProperty == null) { + return; + } + + let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + + // Ingots + let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (!ingotItem.isEmpty()) { + + // Декрафт слитка в жидкость + event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_ingot`) + + if (material != GTMaterials.WroughtIron) { + + // Отливка слитка в обычной форме + event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) + .id(`tfc:casting/${material.getName()}_ingot`) + + // Отливка слитка в огнеупорной форме + event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01) + .id(`tfc:casting/${material.getName()}_fire_ingot`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/ingot_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_ingot`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/fire_ingot_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`) + } + + // Double Ingots + let doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (!doubleIngotItem.isEmpty()) { + + // Декрафт двойного слитка в жидкость + event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_ingot`) + + // 2 слитка -> Двойной слиток + event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) + .id(`tfc:welding/${material.getName()}_double_ingot`) + + // Plates + let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (!plateItem.isEmpty()) { + + // Декрафт пластины в жидкость + event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_sheet`) + + // Двойной слиток -> Пластина + event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_sheet`) + + // Double Plate + let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (!doublePlateItem.isEmpty()) { + + // Декрафт двойных пластин + event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_sheet`) + + // Две пластины -> Двойная пластина + event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_double_sheet`) + + // Armor + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { + //#region Шлем + + // Декрафт незавершенного шлема в жидкость + event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`) + + // Незавершенный шлем + event.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) + + // Декрафт шлема в жидкость + event.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_helmet`) + + // Шлем + event.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_helmet`) + + //#endregion + + //#region Нагрудник + + // Декрафт незавершенного нагрудника в жидкость + event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`) + + // Незавершенный нагрудник + event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) + + // Декрафт нагрудника в жидкость + event.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chestplate`) + + // Нагрудник + event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_chestplate`) + + //#endregion + + //#region Поножи + + // Декрафт незавершенных поножей в жидкость + event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`) + + // Незавершенные поножи + event.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, doublePlateItem, ['bend_any', 'draw_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) + + // Декрафт поножей в жидкость + event.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_greaves`) + + // Поножи + event.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_greaves`) + + //#endregion + + //#region Ботинки + + // Декрафт незавершенных ботинок в жидкость + event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_boots`) + + // Незавершенные ботинки + event.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_boots`) + + // Декрафт ботинок в жидкость + event.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_boots`) + + // Ботинки + event.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_boots`) + + //#endregion + } + + // Tools (From Double Plate) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + //#region Фурма + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/tuyere/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_tuyere`) + + // Фурма + event.recipes.tfc.anvil(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem, ['bend_last', 'bend_second_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_tuyere`) + + //#endregion + + //#region Щит + + // Декрафт щита в жидкость + event.recipes.tfc.heating(`tfc:metal/shield/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shield`) + + // Щит + event.recipes.tfc.anvil(`tfc:metal/shield/${material.getName()}`, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_shield`) + + //#endregion + + //#region Конская броня + + // Декрафт конской брони в жидкость + event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 864)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_horse_armor`) + + //#endregion + } + + } + + // Tools (From Plate) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + //#region Удочка + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(`tfc:metal/fish_hook/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_fish_hook`) + + // Крюк удочки + event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_fish_hook`) + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/fishing_rod/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + + //#endregion + + + } + + // Plated Blocks - applies for everything with a double ingot (except tin/red alloy) + if (material != GTMaterials.TinAlloy && material != GTMaterials.RedAlloy) { + generatePlatedBlockRecipe(event, material); + } + } + + // Tools (From Double Ingots) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + //#region Меч + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let swordItem = ToolHelper.get(GTToolType.SWORD, material) + if (!swordItem.isEmpty()) { + + event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_sword`) + + } + + let swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) + if (!swordHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_sword_blade`) + + // Крафт оголовья + event.recipes.tfc.anvil(swordHeadItem, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_sword_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + .id(`tfc:casting/${material.getName()}_sword_blade`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), + [ + Fluid.of(outputMaterial.getFluid(), 288), + Item.of('tfc:ceramic/sword_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_sword_blade`) + } + } + + //#endregion + + //#region Дубина + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mace`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + .id(`tfc:casting/${material.getName()}_mace_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), + [ + Fluid.of(outputMaterial.getFluid(), 288), + Item.of('tfc:ceramic/mace_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_mace_head`) + + } + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mace_head`) + + //#endregion + + //#region Мясницкий нож + + // Декрафт инструмента в жидкость + let butcheryKnifeItem = ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material) + if (!butcheryKnifeItem.isEmpty()) { + + event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) + + } + + let butcheryKnifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) + if (!butcheryKnifeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(butcheryKnifeHeadItem, `#forge:ingots/${material.getName()}`, ['punch_last', 'bend_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) + + } + + //#endregion + + //#region Молот шахтера + + // Декрафт инструмента в жидкость + let miningHammerItem = ToolHelper.get(GTToolType.MINING_HAMMER, material) + if (!miningHammerItem.isEmpty()) { + + event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) + + } + + + let miningHammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1) + if (!miningHammerHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + + //#endregion + + //#region Большая лопата + + // Декрафт инструмента в жидкость + let spadeItem = ToolHelper.get(GTToolType.SPADE, material) + if (!spadeItem.isEmpty()) { + + event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_spade`) + + } + + let spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + event.recipes.tfc.anvil(spadeHeadItem, doubleIngotItem, ['punch_last', 'hit_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_spade_head`) + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_spade_head`) + + } + + //#endregion + } + + } + + // Rods + let rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (!rodItem.isEmpty()) { + + // Декрафт стержня в жидкость + event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_rod`) + + // Слиток -> 2 Стержня + event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_rod`) + + // Long Rods + let longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) + if (!longRodItem.isEmpty()) { + + // Декрафт длинного стержня в жидкость + event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + // Стержни -> Длинный стержень + event.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + + } + + // Bolt + let boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1) + if (!boltItem.isEmpty()) { + + // Болт -> Металл + event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) + + // Стержень -> Болт + event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bolt`) + + } + + // Screw + let screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1) + if (!screwItem.isEmpty()) { + + // Винт -> Металл + event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + // Стержень -> Винт + event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + + } + + let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) + if (!ringItem.isEmpty()) { + + // Кольцо -> Металл + event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) + + // Стержень -> Кольцо + event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + + } + + } + + // Tools (From Ingot) + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + + //#region Кирка + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) + if (!pickaxeItem.isEmpty()) { + + event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_pickaxe`) + + } + + let pickaxeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1) + if (!pickaxeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_pickaxe_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_pickaxe_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_pickaxe_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`) + } + + } + //#endregion + + // #region Mattock + event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`rnr:heating/metal/${material.getName()}_mattock`) + + // event.recipes.tfc.anvil(`rnr:metal/mattock_head/${material.getName()}`, ingotItem, ['punch_last', 'punch_not_last', 'draw_not_last']) + // .tier(tfcProperty.getTier()) + // .bonus(true) + // .id(`rnr:anvil/${material.getName()}_mattock_head`) + + event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_mattock_head`) + //#endregion + + //#region Топор + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let axeItem = ToolHelper.get(GTToolType.AXE, material) + if (!axeItem.isEmpty()) { + + event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_axe`) + + } + + let axeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1) + if (!axeHeadItem.isEmpty()) { + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_axe_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_axe_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_axe_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/axe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_axe_head`) + } + } + + //#endregion + + //#region Лопата + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let shovelItem = ToolHelper.get(GTToolType.SHOVEL, material) + if (!shovelItem.isEmpty()) { + + event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shovel`) + + } + + let shovelHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1) + if (!shovelHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_shovel_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_shovel_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_shovel_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/shovel_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`) + } + + } + + //#endregion + + //#region Мотыга + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let hoeItem = ToolHelper.get(GTToolType.HOE, material) + if (!hoeItem.isEmpty()) { + event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_hoe`) + } + + let hoeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1) + if (!hoeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_hoe_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_hoe_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_hoe_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/hoe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`) + } + + } + + //#endregion + + //#region Молот + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let hammerItem = ToolHelper.get(GTToolType.HARD_HAMMER, material) + if (!hammerItem.isEmpty()) { + + event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_hammer`) + + } + + let hammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1) + if (!hammerHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_hammer_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_hammer_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_hammer_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/hammer_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`) + } + + } + + //#endregion + + //#region Пила + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let sawItem = ToolHelper.get(GTToolType.SAW, material) + if (!sawItem.isEmpty()) { + + event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_saw`) + + } + + let sawHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1) + if (!sawHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_saw_blade`) + + // Крафт оголовья + event.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_saw_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_saw_blade`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/saw_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`) + } + + } + + //#endregion + + //#region Коса + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let scytheItem = ToolHelper.get(GTToolType.SCYTHE, material) + if (!scytheItem.isEmpty()) { + event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_scythe`) + } + + let scytheHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1) + if (!scytheHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_scythe_blade`) + + // Крафт оголовья + event.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_scythe_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_scythe_blade`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`) + } + + } + + //#endregion + + //#region Напильник + + // Декрафт инструмента в жидкость + let fileItem = ToolHelper.get(GTToolType.FILE, material) + if (!fileItem.isEmpty()) { + event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_file`) + } + + let fileHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1) + if (!fileHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_file_head`) + + // Крафт оголовья + event.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_file_head`) + + } + + //#endregion + + //#region Нож + + // Крафт инструмента + event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) + + // Декрафт инструмента в жидкость + let knifeItem = ToolHelper.get(GTToolType.KNIFE, material) + if (!knifeItem.isEmpty()) { + event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_knife`) + } + + let knifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) + if (!knifeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_knife_blade`) + + // Крафт оголовья + event.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_knife_blade`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/knife_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`) + } + + //#region Ножницы + + // Сварка оголовий + event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_shears`) + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shears`) + + //#endregion + + } + + //#endregion + + //#region Проспектор + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_propick`) + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_propick_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_propick_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/propick_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`) + } + + //#endregion + + //#region Стамеска + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chisel`) + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_chisel_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_chisel_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/chisel_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`) + } + + //#endregion + + //#region Копье + + // Декрафт инструмента в жидкость + event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_javelin`) + + // Декрафт оголовья в жидкость + event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_javelin_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_javelin_head`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/javelin_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`) + } + + //#endregion + } + } + + // Blocks + let blockItem = ChemicalHelper.get(TagPrefix.block, material, 1) + if (!blockItem.isEmpty()) { + + // Декрафт блока в жидкость + event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) + .id(`tfc:heating/metal/${material.getName()}_block`) + + } + + // Anvils, Lamps, Trapdors, Chains + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) { + + // Декрафт незавершенной лампы в жидкость + event.recipes.tfc.heating(`tfc:metal/unfinished_lamp/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) + + // Декрафт лампы в жидкость + event.recipes.tfc.heating(`tfc:metal/lamp/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_lamp`) + + // Декрафт люка в жидкость + event.recipes.tfc.heating(`tfc:metal/trapdoor/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_trapdoor`) + + let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + + // Люк + event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_trapdoor`) + + // Декрафт решетки в жидкость + event.recipes.tfc.heating(`tfc:metal/bars/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bars`) + + // 8x Решетка + event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars`) + + // 16x Решетка + event.recipes.tfc.anvil(`16x tfc:metal/bars/${material.getName()}`, ChemicalHelper.get(TagPrefix.plateDouble, material, 1), ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars_double`) + + // Декрафт цепи в жидкость + event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) + .id(`tfc:heating/metal/${material.getName()}_chain`) + + // Декрафт наковальни в жидкость + event.recipes.tfc.heating(`tfc:metal/anvil/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) + .id(`tfc:heating/metal/${material.getName()}_anvil`) + } + + //#region Щипцы + let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) + let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) + + if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) { + // Ручка щипцов + event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfchotornot:heating/tong_part/${material.getName()}`) + + // Щипцы + event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfchotornot:heating/tongs/${material.getName()}`) + } + //#endregion + + // Small TFC Ores + if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) { + + // Workaround for limonite/bismuth + let materialName = material.getName(); + if (materialName == "yellow_limonite") { + materialName = "limonite"; + } + else if (materialName == "bismuth") { + materialName = "bismuthinite"; + } + + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(`tfc:ore/small_${materialName}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_${materialName}`) + } + + // Small Native TFC Ores + if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) { + // Декрафт мелкого кусочка в жидкость + event.recipes.tfc.heating(`tfc:ore/small_native_${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_native_${material.getName()}`) + } + + // Any Dusts from GTCEu + if (material.hasProperty(PropertyKey.DUST)) { + + // Декрафт мелкой пыли + let tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) + if (!tinyDust.isEmpty()) { + + event.recipes.tfc.heating(tinyDust, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + + } + + // Декрафт средней пыли + let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) + if (!smallDust.isEmpty()) { + + event.recipes.tfc.heating(smallDust, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + + } + + // Декрафт пыли + let dust = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (!dust.isEmpty()) { + + event.recipes.tfc.heating(dust, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + + } + + // Декрафт грязной пыли + let impureDust = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) + if (!impureDust.isEmpty()) { + + event.recipes.tfc.heating(impureDust, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + + } + + // Декрафт очищенной пыли + let purifiedDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + if (!purifiedDust.isEmpty()) { + + event.recipes.tfc.heating(purifiedDust, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + + } + + } + + // Any Ores from GTCEu + if (material.hasProperty(PropertyKey.ORE)) { + + // Декрафт ломанной руды + let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (!crushedOre.isEmpty()) { + + event.recipes.tfc.heating(crushedOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + + } + + // Декрафт ломанной очищенной руды + let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) + if (!crushedPurifiedOre.isEmpty()) { + + event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + + } + + // Декрафт центрифугированной ломанной руды + let crushedRefinedOre = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) + if (!crushedRefinedOre.isEmpty()) { + + event.recipes.tfc.heating(crushedRefinedOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + + } + + // Декрафт богатого куска руды + let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) + if (!richRawOre.isEmpty()) { + + event.recipes.tfc.heating(richRawOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + // Декрафт нормального куска руды + let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) + if (!normalRawOre.isEmpty()) { + + event.recipes.tfc.heating(normalRawOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + // Декрафт бедного куска руды + let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) + if (!poorRawOre.isEmpty()) { + event.recipes.tfc.heating(poorRawOre, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + } + + // Nuggets + let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1) + if (!nuggetItem.isEmpty()) { + + // Декрафт самородков пыли + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js new file mode 100644 index 000000000..5aed8261d --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -0,0 +1,335 @@ +// priority: 0 + +function registerTFCMetalsRecipes(event) { + + //#region Рецепты для новых сплавов + + event.recipes.tfc.alloy('tfg:red_alloy', [ + TFC.alloyPart('tfg:redstone', 0.75, 0.85), + TFC.alloyPart('tfc:copper', 0.15, 0.25) + ]).id('tfg:alloy/red_alloy') + + event.recipes.tfc.alloy('tfg:tin_alloy', [ + TFC.alloyPart('tfc:tin', 0.45, 0.55), + TFC.alloyPart('tfc:cast_iron', 0.45, 0.55) + ]).id('tfg:alloy/tin_alloy') + + //#endregion + + + //#region Фикс рецептов колоколов + + //#region Из золота + + event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1) + .id(`tfc:casting/gold_bell`) + + event.recipes.tfc.heating(`minecraft:bell`, 1060) + .resultFluid(Fluid.of('gtceu:gold', 144)) + .id(`tfc:heating/gold_bell`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)), + [ + Fluid.of(GTMaterials.Gold.getFluid(), 144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`) + + //#endregion + + //#region Из латуни + + event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1) + .id(`tfc:casting/brass_bell`) + + event.recipes.tfc.heating(`tfc:brass_bell`, 930) + .resultFluid(Fluid.of('gtceu:brass', 144)) + .id(`tfc:heating/brass_bell`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)), + [ + Fluid.of(GTMaterials.Brass.getFluid(), 144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`) + + //#endregion + + //#region Из бронзы + + event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1) + .id(`tfc:casting/bronze_bell`) + + event.recipes.tfc.heating(`tfc:bronze_bell`, 930) + .resultFluid(Fluid.of('gtceu:bronze', 144)) + .id(`tfc:heating/bronze_bell`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)), + [ + Fluid.of(GTMaterials.Bronze.getFluid(), 144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`) + + //#endregion + + //#endregion + + //#region Рецепты ковки TFC слитков в GT машинах + + // Сырая крица -> Укрепленная крица + event.recipes.gtceu.forge_hammer('tfg/refined_bloom') + .itemInputs('tfc:raw_iron_bloom') + .itemOutputs('tfc:refined_iron_bloom') + .duration(1000) + .EUt(4) + + // Укрепленная крица -> Слиток кованного железа + event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') + .itemInputs('tfc:refined_iron_bloom') + .itemOutputs('gtceu:wrought_iron_ingot') + .duration(1000) + .EUt(4) + + // Чугун -> Высокоуглеродная сталь + event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') + .itemInputs('tfc:metal/ingot/pig_iron') + .itemOutputs('tfc:metal/ingot/high_carbon_steel') + .duration(700) + .EUt(4) + + // Высокоуглеродная сталь -> Cталь + event.recipes.gtceu.forge_hammer('tfg/steel') + .itemInputs('tfc:metal/ingot/high_carbon_steel') + .itemOutputs('gtceu:steel_ingot') + .duration(700) + .EUt(4) + + // Высокоуглеродная черная сталь -> черная сталь + event.recipes.gtceu.forge_hammer('tfg/black_steel') + .itemInputs('tfc:metal/ingot/high_carbon_black_steel') + .itemOutputs('tfc:metal/ingot/black_steel') + .duration(900) + .EUt(4) + + // Высокоуглеродная синяя сталь -> синяя сталь + event.recipes.gtceu.forge_hammer('tfg/blue_steel') + .itemInputs('tfc:metal/ingot/high_carbon_blue_steel') + .itemOutputs('tfc:metal/ingot/blue_steel') + .duration(1000) + .EUt(4) + + // Высокоуглеродная красная сталь -> красная сталь + event.recipes.gtceu.forge_hammer('tfg/red_steel') + .itemInputs('tfc:metal/ingot/high_carbon_red_steel') + .itemOutputs('tfc:metal/ingot/red_steel') + .duration(1000) + .EUt(4) + + // Слабая сталь + Чугун -> Высокоуглеродная черная сталь + event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') + .itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron') + .itemOutputs('2x tfc:metal/ingot/high_carbon_black_steel') + .duration(1000) + .EUt(4) + + // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь + event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') + .itemInputs('tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel') + .itemOutputs('2x tfc:metal/ingot/high_carbon_blue_steel') + .duration(1000) + .EUt(4) + + // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь + event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') + .itemInputs('tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel') + .itemOutputs('2x tfc:metal/ingot/high_carbon_red_steel') + .duration(1000) + .EUt(4) + + const TFC_INTERMEDIATE_METALS = + [ + { metal: 'pig_iron', meltTemp: 1535 }, + { metal: 'high_carbon_steel', meltTemp: 1540 }, + { metal: 'high_carbon_black_steel', meltTemp: 1540 }, + { metal: 'high_carbon_red_steel', meltTemp: 1540 }, + { metal: 'high_carbon_blue_steel', meltTemp: 1540 }, + { metal: 'weak_steel', meltTemp: 1540 }, + { metal: 'weak_blue_steel', meltTemp: 1540 }, + { metal: 'weak_red_steel', meltTemp: 1540 }, + { metal: 'unknown', meltTemp: 400 } + ] + + TFC_INTERMEDIATE_METALS.forEach(x => { + + event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.1) + .id(`tfc:casting/${x.metal}_ingot`) + + event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/fire_ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.01) + .id(`tfc:casting/${x.metal}_fire_ingot`) + + event.recipes.tfc.heating(`tfc:metal/ingot/${x.metal}`, x.meltTemp) + .resultFluid(Fluid.of(`tfc:metal/${x.metal}`, 144)) + .id(`tfc:heating/metal/${x.metal}_ingot`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/ingot_mold', + { + tank: { + FluidName: `tfc:metal/${x.metal}`, + Amount: 144 + } + }), + [ + Fluid.of(`tfc:metal/${x.metal}`, 144), + Item.of('tfc:ceramic/ingot_mold').strongNBT() + ]) + .id(`tfg:tfc/filling/${x.metal}_ingot`) + + event.recipes.create.filling( + Item.of('tfc:ceramic/fire_ingot_mold', + { + tank: { + FluidName: `tfc:metal/${x.metal}`, + Amount: 144 + } + }), + [ + Fluid.of(`tfc:metal/${x.metal}`, 144), + Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${x.metal}_fire_ingot`) + }) + + //#endregion + + //#region Фикс рецептов металлических предметов + + // Рецепт Jacks + event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) + .id(`tfc:welding/jacks`) + + // Декрафт Jacks + event.recipes.tfc.heating('tfc:jacks', 930) + .resultFluid(Fluid.of('gtceu:brass', 144)) + .id(`tfc:heating/jacks`) + + // Декрафт Gem Saw + event.recipes.tfc.heating('tfc:gem_saw', 930) + .resultFluid(Fluid.of('gtceu:brass', 72)) + .id(`tfc:heating/gem_saw`) + + // Декрафт сырой крицы в жидкость + event.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .id(`tfc:heating/raw_bloom`) + + // Декрафт укрепленной крицы в жидкость + event.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .id(`tfc:heating/refined_bloom`) + + // Гриль + event.recipes.tfc.heating('tfc:wrought_iron_grill', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`tfc:heating/grill`) + + // Ванильная дверь декрафт + event.recipes.tfc.heating('minecraft:iron_door', 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .id(`tfc:heating/iron_door`) + + // Ванильная дверь на наковальне + event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last']) + .tier(3) + .id(`tfc:anvil/iron_door`) + + // Bloom -> Wrought Iron Ingot + event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2) + .id('tfc:anvil/wrought_iron_from_bloom') + + // High Carbon Steel Ingot -> Steel Ingot + event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3) + .id('tfc:anvil/steel_ingot') + + // High Carbon Black Steel Ingot -> Black Steel Ingot + event.recipes.tfc.anvil('tfc:metal/ingot/black_steel', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4) + .id('tfc:anvil/black_steel_ingot') + + // High Carbon Red Steel Ingot -> Red Steel Ingot + event.recipes.tfc.anvil('tfc:metal/ingot/red_steel', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + .id('tfc:anvil/red_steel_ingot') + + // High Carbon Blue Steel Ingot -> Blue Steel Ingot + event.recipes.tfc.anvil('tfc:metal/ingot/blue_steel', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + .id('tfc:anvil/blue_steel_ingot') + + // Gears + event.recipes.tfc.anvil('gtceu:bronze_gear', '#forge:double_plates/bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + .id('tfc:anvil/bronze_gear') + event.recipes.tfc.anvil('gtceu:black_bronze_gear', '#forge:double_plates/black_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + .id('tfc:anvil/black_bronze_gear') + event.recipes.tfc.anvil('gtceu:bismuth_bronze_gear', '#forge:double_plates/bismuth_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + .id('tfc:anvil/bismuth_bronze_gear') + event.recipes.tfc.anvil('gtceu:wrought_iron_gear', '#forge:double_plates/wrought_iron', ['punch_last', 'shrink_any', 'draw_any']).tier(3) + .id('tfc:anvil/wrought_iron_gear') + event.recipes.tfc.anvil('gtceu:steel_gear', '#forge:double_plates/steel', ['punch_last', 'shrink_any', 'draw_any']).tier(4) + .id('tfc:anvil/steel_gear') + event.recipes.tfc.anvil('gtceu:black_steel_gear', '#forge:double_plates/black_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(5) + .id('tfc:anvil/black_steel_gear') + event.recipes.tfc.anvil('gtceu:red_steel_gear', '#forge:double_plates/red_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6) + .id('tfc:anvil/red_steel_gear') + event.recipes.tfc.anvil('gtceu:blue_steel_gear', '#forge:double_plates/blue_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6) + .id('tfc:anvil/blue_steel_gear') + + event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(3) + .id('tfc:anvil/small_wrought_iron_gear') + event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(4) + .id('tfc:anvil/small_steel_gear') + event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2) + .id('tfc:anvil/small_brass_gear') + event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2) + .id('tfc:anvil/small_bronze_gear') + + // Cast iron -> Raw Iron Bloom + event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000) + .id('tfc:bloomery/raw_iron_bloom') + + // Cast Iron -> Pig Iron + event.recipes.tfc.blast_furnace(Fluid.of('tfc:metal/pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1)) + .id('tfc:blast_furnace/pig_iron') + + //#endregion + + //#region Gravel Deposit Washing + const deposit_ores = [ + 'native_gold', + 'native_copper', + 'native_silver', + 'cassiterite' + ]; + + global.TFC_STONE_TYPES.forEach(stone => { + deposit_ores.forEach(ore => { + + event.recipes.gtceu.ore_washer(`tfc:ore_washer/water/deposit/${ore}/${stone}`) + .itemInputs(`1x tfc:deposit/${ore}/${stone}`) + .inputFluids(Fluid.of('minecraft:water', 100)) + .circuit(4) + .itemOutputs(`1x tfc:ore/normal_${ore}`) + .duration(400) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`) + .itemInputs(`1x tfc:deposit/${ore}/${stone}`) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .circuit(4) + .itemOutputs(`1x tfc:ore/normal_${ore}`) + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + })}) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js new file mode 100644 index 000000000..213f2b033 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -0,0 +1,147 @@ +// priority: 0 + +function removeTFCRecipes(event) { + + // Удаление рецептов руд TFC + event.remove({ id: /tfc:heating\/ore\/poor_*/ }) + event.remove({ id: /tfc:heating\/ore\/normal_*/ }) + event.remove({ id: /tfc:heating\/ore\/rich_*/ }) + + // Удаление рецептов блоков + event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) + event.remove({ id: /tfc:heating\/metal\/*_block/ }) + + // Удаление рецептов ступеней + event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) + event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ }) + + // Удалание рецептов полублоков + event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) + event.remove({ id: /tfc:heating\/metal\/*_block_slab/ }) + + //#region Удаление рецептов для предметов из Cast Iron + + // Блок + event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) + event.remove({ id: `tfc:heating/metal/cast_iron_block` }) + + // Ступень + event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) + event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) + + // Полублок + event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) + event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) + + // Слиток + event.remove({ id: `tfc:casting/cast_iron_ingot` }) + event.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) + event.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) + event.remove({ id: `tfc:welding/cast_iron_double_ingot` }) + event.remove({ id: `tfc:anvil/cast_iron_rod` }) + + // Двойной слиток + event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) + event.remove({ id: `tfc:anvil/cast_iron_sheet` }) + + // Пластина + event.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) + event.remove({ id: `tfc:welding/cast_iron_double_sheet` }) + + // Двойная пластина + event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) + + // Стержень + event.remove({ id: `tfc:heating/metal/cast_iron_rod` }) + + //#endregion + + + // #region Удаление рецептов + event.remove({ id: 'tfc:quern/amethyst' }) + event.remove({ id: 'tfc:quern/amethyst_cut' }) + event.remove({ id: 'tfc:quern/blaze_rod' }) + event.remove({ id: 'tfc:quern/borax' }) + event.remove({ id: 'tfc:quern/charcoal' }) + event.remove({ id: 'tfc:quern/cinnabar' }) + event.remove({ id: 'tfc:quern/cryolite' }) + event.remove({ id: 'tfc:quern/diamond' }) + event.remove({ id: 'tfc:quern/diamond_cut' }) + event.remove({ id: 'tfc:quern/emerald' }) + event.remove({ id: 'tfc:quern/emerald_cut' }) + event.remove({ id: 'tfc:quern/graphite' }) + event.remove({ id: 'tfc:quern/lapis_lazuli' }) + event.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) + event.remove({ id: 'tfc:quern/normal_bismuthinite' }) + event.remove({ id: 'tfc:quern/normal_cassiterite' }) + event.remove({ id: 'tfc:quern/normal_garnierite' }) + event.remove({ id: 'tfc:quern/normal_hematite' }) + event.remove({ id: 'tfc:quern/normal_limonite' }) + event.remove({ id: 'tfc:quern/normal_magnetite' }) + event.remove({ id: 'tfc:quern/normal_malachite' }) + event.remove({ id: 'tfc:quern/normal_native_copper' }) + event.remove({ id: 'tfc:quern/normal_native_gold' }) + event.remove({ id: 'tfc:quern/normal_native_silver' }) + event.remove({ id: 'tfc:quern/normal_sphalerite' }) + event.remove({ id: 'tfc:quern/normal_tetrahedrite' }) + event.remove({ id: 'tfc:quern/opal' }) + event.remove({ id: 'tfc:quern/opal_cut' }) + event.remove({ id: 'tfc:quern/poor_bismuthinite' }) + event.remove({ id: 'tfc:quern/poor_cassiterite' }) + event.remove({ id: 'tfc:quern/poor_garnierite' }) + event.remove({ id: 'tfc:quern/poor_hematite' }) + event.remove({ id: 'tfc:quern/poor_limonite' }) + event.remove({ id: 'tfc:quern/poor_magnetite' }) + event.remove({ id: 'tfc:quern/poor_malachite' }) + event.remove({ id: 'tfc:quern/poor_native_copper' }) + event.remove({ id: 'tfc:quern/poor_native_gold' }) + event.remove({ id: 'tfc:quern/poor_native_silver' }) + event.remove({ id: 'tfc:quern/poor_sphalerite' }) + event.remove({ id: 'tfc:quern/poor_tetrahedrite' }) + event.remove({ id: 'tfc:quern/pyrite' }) + event.remove({ id: 'tfc:quern/pyrite_cut' }) + event.remove({ id: 'tfc:quern/raw_limestone' }) + event.remove({ id: 'tfc:quern/rich_bismuthinite' }) + event.remove({ id: 'tfc:quern/rich_cassiterite' }) + event.remove({ id: 'tfc:quern/rich_garnierite' }) + event.remove({ id: 'tfc:quern/rich_hematite' }) + event.remove({ id: 'tfc:quern/rich_limonite' }) + event.remove({ id: 'tfc:quern/rich_magnetite' }) + event.remove({ id: 'tfc:quern/rich_malachite' }) + event.remove({ id: 'tfc:quern/rich_native_copper' }) + event.remove({ id: 'tfc:quern/rich_native_gold' }) + event.remove({ id: 'tfc:quern/rich_native_silver' }) + event.remove({ id: 'tfc:quern/rich_sphalerite' }) + event.remove({ id: 'tfc:quern/rich_tetrahedrite' }) + event.remove({ id: 'tfc:quern/ruby' }) + event.remove({ id: 'tfc:quern/ruby_cut' }) + event.remove({ id: 'tfc:quern/salt' }) + event.remove({ id: 'tfc:quern/saltpeter' }) + event.remove({ id: 'tfc:quern/sapphire' }) + event.remove({ id: 'tfc:quern/sapphire_cut' }) + event.remove({ id: 'tfc:quern/sulfur' }) + event.remove({ id: 'tfc:quern/topaz' }) + event.remove({ id: 'tfc:quern/topaz_cut' }) + //#endregion + + //#region Удаление рецептов лопастей ветряной мельницы + + event.remove({ id: `tfc:crafting/windmill_blade` }) + event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) + }) + + //#endregion + + // Другое + event.remove({ id: `tfc:crafting/trip_hammer` }) + event.remove({ id: `tfc:anvil/steel_pump` }) + event.remove({ id: `tfc:anvil/brass_mechanisms` }) + event.remove({ id: `tfc:crafting/steel_pump` }) + event.remove({ id: `tfc:crafting/crankshaft` }) + + + event.remove({ id: 'tfc:crafting/sandpaper' }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.sand.js b/kubejs/server_scripts/tfc/recipes.sand.js new file mode 100644 index 000000000..09a797e21 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.sand.js @@ -0,0 +1,173 @@ +// priority: 0 + +function registerTFCSandRecipes(event) { + + // Нефтеносный -> Желтый песок + event.recipes.gtceu.centrifuge('oilsands_ore_separation') + .itemInputs('#forge:ores/oilsands') + .chancedOutput('tfc:sand/yellow', 5000, 5000) + .outputFluids(Fluid.of('gtceu:oil', 2000)) + .duration(200) + .EUt(30) + + // Пыль нефтеносного песка -> Желтый песок + event.recipes.gtceu.centrifuge('oilsands_dust_separation') + .itemInputs('gtceu:oilsands_dust') + .chancedOutput('tfc:sand/yellow', 5000, 5000) + .outputFluids(Fluid.of('gtceu:oil', 2000)) + .duration(200) + .EUt(30) + + // Земля -> Желтый песок + event.recipes.gtceu.centrifuge('dirt_separation') + .itemInputs('#tfc:dirt') + .chancedOutput('gtceu:plant_ball', 1250, 700) + .chancedOutput('tfc:sand/yellow', 5000, 1200) + .chancedOutput('gtceu:tiny_clay_dust', 4000, 900) + .duration(250) + .EUt(30) + + // Рецепты где нужно итерироваться по всем цветам + global.SAND_COLORS.forEach(sandColor => { + // Песчанник -> Песок + event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) + .itemInputs(`tfc:raw_sandstone/${sandColor}`) + .itemOutputs(`tfc:sand/${sandColor}`) + .duration(400) + .EUt(2) + + // Гладкий песчанник -> Песок + event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`) + .itemInputs(`tfc:smooth_sandstone/${sandColor}`) + .itemOutputs(`tfc:sand/${sandColor}`) + .duration(400) + .EUt(2) + + // Обрезанный песчанник -> Песок + event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`) + .itemInputs(`tfc:cut_sandstone/${sandColor}`) + .itemOutputs(`tfc:sand/${sandColor}`) + .duration(400) + .EUt(2) + + // Песок -> Песчанник + event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`) + .itemInputs(`4x tfc:sand/${sandColor}`) + .itemOutputs(`tfc:raw_sandstone/${sandColor}`) + .duration(800) + .EUt(2) + + // Песчанник -> Гладкий песчанник + event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) + .id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`) + + // Песчанник -> Обрезанный песчанник + event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) + .id(`raw_sandstone_${sandColor}_to_cut_sandstone`) + + // Песчанник -> Ступень + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) + + event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`) + + // Песчанник -> Плита + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) + + event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`) + + // Песчанник -> Стена + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) + + event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`) + + // Гладкий песчанник -> Ступень + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) + + event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`) + + // Гладкий песчанник -> Плита + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) + + event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`) + + // Гладкий песчанник -> Стена + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) + + event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`) + + // Обрезанный песчанник -> Ступень + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) + + event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`) + + // Обрезанный песчанник -> Плита + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) + + event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`) + + // Обрезанный песчанник -> Стена + event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) + + event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) + .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`) + + }) + + // Коричневый гравий -> Песок + event.recipes.gtceu.forge_hammer('brown_gravel_to_sand') + .itemInputs('#tfc:brown_gravel') + .itemOutputs('tfc:sand/brown') + .duration(400) + .EUt(2) + + // Белый гравий -> Песок + event.recipes.gtceu.forge_hammer('white_gravel_to_sand') + .itemInputs('#tfc:white_gravel') + .itemOutputs('tfc:sand/white') + .duration(400) + .EUt(2) + + // Черный гравий -> Песок + event.recipes.gtceu.forge_hammer('black_gravel_to_sand') + .itemInputs('#tfc:black_gravel') + .itemOutputs('tfc:sand/black') + .duration(400) + .EUt(2) + + // Красный гравий -> Песок + event.recipes.gtceu.forge_hammer('red_gravel_to_sand') + .itemInputs('#tfc:red_gravel') + .itemOutputs('tfc:sand/red') + .duration(400) + .EUt(2) + + // Желтый гравий -> Песок + event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand') + .itemInputs('#tfc:yellow_gravel') + .itemOutputs('tfc:sand/yellow') + .duration(400) + .EUt(2) + + // Зеленый гравий -> Песок + event.recipes.gtceu.forge_hammer('green_gravel_to_sand') + .itemInputs('#tfc:green_gravel') + .itemOutputs('tfc:sand/green') + .duration(400) + .EUt(2) + + // Розовый гравий -> Песок + event.recipes.gtceu.forge_hammer('pink_gravel_to_sand') + .itemInputs('#tfc:pink_gravel') + .itemOutputs('tfc:sand/pink') + .duration(400) + .EUt(2) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js new file mode 100644 index 000000000..c74b8bfb1 --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.stone.js @@ -0,0 +1,745 @@ +// priority: 0 + +function registerTFCStoneRecipes(event) { + + global.TFC_STONE_TYPES.forEach(stone => { + + let stoneMaterial = TFGHelpers.getMaterial(stone); + let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1) + let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) + + // Кирпич (предмет) + event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) + .itemInputs(`tfc:rock/loose/${stone}`) + .itemOutputs(`tfc:brick/${stone}`) + .circuit(1) + .duration(40) + .EUt(8) + + //#region Сырой камень + + // Сырой камень -> Сырой камень + event.recipes.gtceu.rock_breaker(`${stone}_raw`) + .notConsumable(`tfc:rock/raw/${stone}`) + .itemOutputs(`tfc:rock/raw/${stone}`) + .duration(16) + .EUt(7) + + // Сырой камень -> Булыжник + event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) + .itemInputs(`tfc:rock/raw/${stone}`) + .itemOutputs(`tfc:rock/cobble/${stone}`) + .duration(10) + .EUt(16) + + // ? -> Сырая нажимная пластина + event.shaped(`tfc:rock/pressure_plate/${stone}`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wrought_iron', + B: '#tfc:hammers', + C: `tfc:rock/raw/${stone}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`tfc:crafting/rock/${stone}_pressure_plate`) + + event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`) + .itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`) + .circuit(0) + .itemOutputs(`2x tfc:rock/pressure_plate/${stone}`) + .duration(50) + .EUt(2) + + // ? -> Сырая кнопка + event.remove({ id: `tfc:crafting/rock/${stone}_button` }) + + generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) + + // Gravel Crafting + event.shapeless(`1x tfc:rock/gravel/${stone}`, [ + `4x tfc:rock/loose/${stone}` + ]).id(`tfc:shapeless/loose_${stone}_to_gravel`) + + event.shapeless(`1x tfc:rock/gravel/${stone}`, [ + `4x tfc:rock/mossy_loose/${stone}` + ]).id(`tfc:shapeless/mossy_loose_${stone}_to_gravel`) + + event.shapeless(`16x tfc:rock/loose/${stone}`, [ + `4x tfc:rock/gravel/${stone}` + ]).id(`tfc:shapeless/gravel_to_loose_${stone}`) + + //#endregion + + // #region Stonecutting + + // Сырой камень -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) + + // Сырой камень -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) + + // Сырой камень -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` }) + + // Булыжник -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) + + // Булыжник -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) + + // Булыжник -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) + + // Булыжник -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) + + // Булыжник -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) + + // Булыжник -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) + + // Блок кирпичей -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) + + // Блок кирпичей -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) + + // Блок кирпичей -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) + + // Потрескавшийся кирпич -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) + + // Потрескавшийся кирпич -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) + + // Потрескавшийся кирпич -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) + + // Замшелый булыжник -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) + + //Замшелый булыжник -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) + + // Замшелый булыжник -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) + + // Замшелый булыжник -> Ступени + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) + + //Замшелый булыжник -> Плиты + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) + + // Замшелый булыжник -> Стена + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) + + // Укрепленный сырой камень -> Гладкий + event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`) + + // Блок кирпичей -> Резной кирпич + event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`) + + // #endregion + + //#region Булыжник + + // Булыжник -> Булыжник + event.recipes.gtceu.rock_breaker(`${stone}_cobble`) + .notConsumable(`tfc:rock/cobble/${stone}`) + .itemOutputs(`tfc:rock/cobble/${stone}`) + .duration(16) + .EUt(7) + + // Булыжник -> Гравий + event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) + .itemInputs(`tfc:rock/cobble/${stone}`) + .itemOutputs(`tfc:rock/gravel/${stone}`) + .duration(10) + .EUt(16) + + // Камни -> Булыжник + event.shaped(`tfc:rock/cobble/${stone}`, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: `tfc:rock/loose/${stone}`, + B: '#tfc:mortar' + }).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`) + + event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) + .itemInputs(`4x tfc:rock/loose/${stone}`) + .circuit(2) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`tfc:rock/cobble/${stone}`) + .duration(50) + .EUt(2) + + // #endregion + + + //#region Кирпич -> Блок кирпичей + + event.recipes.gtceu.assembler(`bricks_${stone}`) + .itemInputs(`5x tfc:brick/${stone}`) + .circuit(0) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`4x tfc:rock/bricks/${stone}`) + .duration(50) + .EUt(2) + + //#endregion + + //#region Кирпич -> Потрескавшийся кирпич + + event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) + .itemInputs(`tfc:rock/bricks/${stone}`) + .itemOutputs(`tfc:rock/cracked_bricks/${stone}`) + .duration(25) + .EUt(8) + + //#endregion + + //#region Замшелый булыжник + + // Булыжник -> Замшелый булыжник + event.shaped(`tfc:rock/mossy_cobble/${stone}`, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: `tfc:rock/mossy_loose/${stone}`, + B: '#tfc:mortar' + }).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`) + + event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) + .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) + .circuit(0) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) + .duration(50) + .EUt(2) + + event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) + .itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low') + .circuit(0) + .inputFluids(Fluid.of('minecraft:water', 144)) + .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) + .duration(50) + .EUt(2) + + //#endregion + + //#region Блок кирпичей -> Замшелый кирпич + + event.recipes.gtceu.assembler(`mossy_bricks_${stone}`) + .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') + .circuit(0) + .inputFluids(Fluid.of('minecraft:water', 144)) + .itemOutputs(`tfc:rock/mossy_bricks/${stone}`) + .duration(50) + .EUt(2) + + //#endregion + + //#region Укрепленный камень + + event.recipes.gtceu.assembler(`hardened_${stone}`) + .itemInputs(`5x tfc:rock/raw/${stone}`) + .circuit(0) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`2x tfc:rock/hardened/${stone}`) + .duration(250) + .EUt(8) + + //#endregion + + //#region Акведук + + event.recipes.gtceu.assembler(`aqueduct_${stone}`) + .itemInputs(`3x tfc:brick/${stone}`) + .circuit(1) + .inputFluids(Fluid.of('gtceu:concrete', 16)) + .itemOutputs(`tfc:rock/aqueduct/${stone}`) + .duration(50) + .EUt(2) + + //#endregion + + //#region Декрафт блоков камня в пыль + + //#region Целый блок + + // Сырой + event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) + .itemInputs(`tfc:rock/raw/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Булыжник + event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) + .itemInputs(`tfc:rock/cobble/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Гладкий + event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Кирпичи + event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Потрескавшиеся кирпичи + event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый булыжник + event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_cobble/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый кирпич + event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_bricks/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + //#region Ступень + + // Сырой + event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/raw/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Булыжник + event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/cobble/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Гладкий + event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Кирпичи + event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Потрескавшиеся кирпичи + event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый булыжник + event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый кирпич + event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) + .itemOutputs(smallStoneDust.withCount(6)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + //#region Плита + + // Сырой + event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/raw/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Булыжник + event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/cobble/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Гладкий + event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Кирпичи + event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Потрескавшиеся кирпичи + event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый булыжник + event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый кирпич + event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`) + .itemOutputs(smallStoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + //#region Стена + + // Сырой + event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/raw/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Булыжник + event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/cobble/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Гладкий + event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/smooth/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Кирпичи + event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/bricks/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Потрескавшиеся кирпичи + event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый булыжник + event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Замшелый кирпич + event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) + .itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + // Резной кирпич + event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) + .itemInputs(`tfc:rock/chiseled/${stone}`) + .itemOutputs(stoneDust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Укрепленный + event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) + .itemInputs(`tfc:rock/hardened/${stone}`) + .itemOutputs(stoneDust.withCount(2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion + + + event.custom({ + type: "tfc:collapse", + ingredient: { + tag: `forge:ores_in_ground/${stone}` + }, + result: `tfc:rock/cobble/${stone}` + }).id(`tfg:collapse/${stone}_gt_ores`) + }) + + + // #region Rock decomposition recipes + + let oxygenFluid = GTMaterials.Oxygen.getFluid(); + + // Replacements + + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' }) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diorite, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mirabilite, 1), 2000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 7000, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__marble') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Marble, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 1500, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 8000, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__andesite') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Andesite, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Asbestos, 1), 8000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Saltpeter, 1), 2000, 700) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__basalt') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Basalt, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 1700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Flint, 1), 5000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__granite') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Granite, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 2000, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__deepslate') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Deepslate, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 2000, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Stone, 1), 3700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + event.recipes.gtceu.centrifuge('blackstone_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Blackstone, 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 3700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 4700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 16)) + + // New + + event.recipes.gtceu.centrifuge('gabbro_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gabbro'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Rutile, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Iron, 1), 3700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700) + + event.recipes.gtceu.centrifuge('shale_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('shale'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 7500, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700) + .outputFluids(Fluid.of(oxygenFluid, 16)) + + event.recipes.gtceu.centrifuge('claystone_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('claystone'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('limestone_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('limestone'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 8700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700) + .outputFluids(Fluid.of(oxygenFluid, 36)) + + event.recipes.gtceu.centrifuge('conglomerate_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('conglomerate'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 4700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('dolomite_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dolomite'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 16)) + + event.recipes.gtceu.centrifuge('chert_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chert'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 24)) + + event.recipes.gtceu.centrifuge('chalk_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chalk'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Carbon, 1), 3700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + event.recipes.gtceu.centrifuge('rhyolite_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('rhyolite'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 800, 700) + + event.recipes.gtceu.centrifuge('dacite_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dacite'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 3700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + event.recipes.gtceu.centrifuge('slate_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('slate'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 24)) + + event.recipes.gtceu.centrifuge('phyllite_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('phyllite'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 5700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1), 1700, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('schist_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('schist'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mica, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Talc, 1), 5700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 4700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 780, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + event.recipes.gtceu.centrifuge('gneiss_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gneiss'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 6700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 3700, 700) + .outputFluids(Fluid.of(oxygenFluid, 5)) + + event.recipes.gtceu.centrifuge('dripstone_dust_separation') + .EUt(GTValues.VA[GTValues.MV]) + .duration(480) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dripstone'), 1)) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumCarbonate, 1), 8700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumHydroxide, 1), 1700, 700) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700) + .outputFluids(Fluid.of(oxygenFluid, 12)) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.wood.js b/kubejs/server_scripts/tfc/recipes.wood.js new file mode 100644 index 000000000..ce7f3296f --- /dev/null +++ b/kubejs/server_scripts/tfc/recipes.wood.js @@ -0,0 +1,53 @@ +// priority: 0 + +function registerTFCWoodRecipes(event) { + + // Какие то рецепты дерева + global.TFC_WOOD_TYPES.forEach(wood => { + event.remove({ id: `tfc:crafting/wood/${wood}_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) + event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) + event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`) + + + // Плита -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wood', + B: '#tfc:hammers', + C: `tfc:wood/planks/${wood}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`tfc:crafting/wood/${wood}_pressure_plate`) + + event.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`) + .circuit(0) + .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) + .duration(50) + .EUt(2) + + // ? -> Деревянная кнопка + event.remove({ id: `tfc:crafting/wood/${wood}_button` }) + + generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`) + + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/select_climates.js b/kubejs/server_scripts/tfc/select_climates.js new file mode 100644 index 000000000..3245e4499 --- /dev/null +++ b/kubejs/server_scripts/tfc/select_climates.js @@ -0,0 +1,25 @@ +TFCEvents.selectClimateModel(event => { + + let location = event.level.dimensionKey.location(); + + switch (location) { + + /*case 'ad_astra:moon': + event.setModel('tfg:moon_climate'); + break; + + case 'ad_astra:mars': + event.setModel('tfg:mars_climate'); + break; + + case 'ad_astra:earth_orbit': + case 'ad_astra:moon_orbit': + case 'ad_astra:mars_orbit': + event.setModel('tfg:orbit_climate'); + break;*/ + + case 'minecraft:the_nether': + event.setModel('tfg:nether_climate'); + break; + } +}) \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 0c495cdce..7330c3d47 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,5 +1,9 @@ // priority: 0 +/** + * + * @param {TagEvent.Item} event + */ const registerTFCItemTags = (event) => { // Теги для соответствия инструментов TFC и GT @@ -48,6 +52,10 @@ const registerTFCItemTags = (event) => { event.add('minecraft:fishes', 'tfc:food/rainbow_trout') event.add('minecraft:fishes', 'tfc:food/smallmouth_bass') + // Make eggs not useless + event.add('tfc:foods/usable_in_salad', 'tfc:food/cooked_egg') + event.add('tfc:foods/usable_in_salad', 'tfc:food/boiled_egg') + // Чтобы жарились бревна из TFC в пиролиз. печке // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... global.TFC_WOOD_TYPES.forEach(woodType => { @@ -57,26 +65,35 @@ const registerTFCItemTags = (event) => { // Allows TFC stick bundles to be burned in the coke/pyrolyse ovens event.add("minecraft:logs_that_burn", "tfc:stick_bundle"); - // Определеяет какое оружие может появиться у зомбя/скелета в руках - // Мечи - event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword') - event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_sword') - event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_sword') - // Топоры - event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_axe') - event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_axe') - event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_axe') - // Косы - event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_scythe') - event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_scythe') - event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_scythe') + // Remove sulfur dust overlap + event.remove('forge:dusts/sulfur', 'tfc:powder/sulfur'); // Тэги для возможности использования разных углей в кузне event.add('tfc:forge_fuel', 'minecraft:coal') + event.add('tfc:forge_fuel', 'beneath:cursecoal') event.add('tfc:forge_fuel', 'gtceu:coke_gem') event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal') event.add('tfc:forge_fuel', 'gtceu:raw_coal') event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal') + event.add('tfc:forge_fuel', 'gtceu:coal_dust') + event.add('tfc:forge_fuel', 'gtceu:charcoal_dust') + + // Change blast furnace to use coke + event.remove('tfc:blast_furnace_fuel', 'minecraft:coal') + event.remove('tfc:blast_furnace_fuel', 'minecraft:charcoal') + event.add('tfc:blast_furnace_fuel', 'gtceu:coke_gem') + event.add('tfc:blast_furnace_fuel', 'beneath:cursecoal') + + // Create a tag for Steam Bloomery + + event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:coal') + event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:charcoal') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:raw_coal') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:poor_raw_coal') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:coal_dust') + event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:charcoal_dust') // Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach(woodType => { @@ -224,6 +241,23 @@ const registerTFCItemTags = (event) => { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + + //Stone javelins + event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_extrusive') + event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_intrusive') + event.add('tfc:stone_javelins', 'tfc:stone/javelin/metamorphic') + event.add('tfc:stone_javelins', 'tfc:stone/javelin/sedimentary') + + //Moss + event.add('tfc:moss', 'tfc:plant/moss') + event.add('tfc:moss', 'tfc:plant/spanish_moss') + event.add('tfc:moss', 'tfc:plant/reindeer_lichen') + event.add('tfc:moss', 'tfc:plant/cobblestone_lichen') + + //Cloth + event.add('forge:cloth', 'tfc:burlap_cloth') + event.add('forge:cloth', 'tfc:wool_cloth') + event.add('forge:cloth', 'tfc:silk_cloth') } const registerTFCBlockTags = (event) => { @@ -245,9 +279,6 @@ const registerTFCBlockTags = (event) => { }) }) - // Отключение ломания блоков установленных на полу - event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') - // Возможность обрушения полу-блоков event.add('tfc:can_collapse', '#tfg:rock_slabs') event.add('tfc:can_start_collapse', '#tfg:rock_slabs') @@ -271,8 +302,8 @@ const registerTFCBlockTags = (event) => { event.add('tfc:monster_spawns_on', '#forge:ores') event.add('tfc:prospectable', '#forge:ores') - event.add('tfc:glass_basin_blocks', 'gtceu:brass_block') - event.add('tfc:glass_pouring_table', 'gtceu:brass_block') + event.add('tfc:glass_basin_blocks', 'create:brass_block') + event.add('tfc:glass_pouring_table', 'create:brass_block') event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay') @@ -297,6 +328,46 @@ const registerTFCBlockTags = (event) => { event.add('create:passive_boiler_heaters', el) }) //#endregion + + //#region Nether + + event.add('beneath:nether_bush_plantable_on', '#tfc:clay_grass') + event.add('minecraft:small_dripleaf_placeable', '#tfc:clay_grass') + event.add('minecraft:big_dripleaf_placeable', '#tfc:clay_grass') + event.add('minecraft:frogs_spawnable_on', '#tfc:clay_grass') + event.add('minecraft:axolotls_spawnable_on', '#tfc:clay_grass') + + event.add('minecraft:small_dripleaf_placeable', '#tfc:clay') + event.add('minecraft:big_dripleaf_placeable', '#tfc:clay') + event.add('minecraft:frogs_spawnable_on', '#tfc:clay') + event.add('minecraft:axolotls_spawnable_on', '#tfc:clay') + + event.add('beneath:nether_bush_plantable_on', '#tfc:mud') + event.add('minecraft:frogs_spawnable_on', '#tfc:mud') + + event.add('beneath:nether_bush_plantable_on', '#tfc:dirt') + event.add('minecraft:frogs_spawnable_on', '#tfc:dirt') + + + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gneiss') + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/schist') + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/diorite') + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/granite') + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gabbro') + event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/basalt') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gneiss') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/schist') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/diorite') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/granite') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gabbro') + event.add('minecraft:base_stone_nether', 'tfc:rock/raw/basalt') + event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gneiss') + event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/schist') + event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/diorite') + event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/granite') + event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gabbro') + + //#endregion } const registerTFCFluidTags = (event) => { @@ -320,15 +391,10 @@ const registerTFCFluidTags = (event) => { event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/pig_iron') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel') event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/unknown') // Добавление GTCEu металлов в форму слитков event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth') @@ -350,15 +416,6 @@ const registerTFCFluidTags = (event) => { event.add('tfc:usable_in_ingot_mold', 'gtceu:black_steel') event.add('tfc:usable_in_ingot_mold', 'gtceu:blue_steel') event.add('tfc:usable_in_ingot_mold', 'gtceu:red_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:pig_iron') - event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_black_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_red_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_blue_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:weak_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:weak_red_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:weak_blue_steel') - event.add('tfc:usable_in_ingot_mold', 'tfg:unknown') event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy') event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy') @@ -374,11 +431,6 @@ const registerTFCFluidTags = (event) => { event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') - // - event.add('tfc:usable_in_pot', 'tfg:latex') - event.add('tfc:usable_in_barrel', 'tfg:latex') - event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') - // event.add('tfc:usable_in_barrel', 'gtceu:creosote') event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') @@ -405,107 +457,77 @@ const registerTFCFluidTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'tfc:metal/red_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/blue_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/cast_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/pig_iron') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_black_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/unknown') } const registerTFCPlacedFeatures = (event) => { // Удаление - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_copper') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_malachite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_tetrahedrite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_malachite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_tetrahedrite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/rich_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/fake_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_silver') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_silver') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_cassiterite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_bismuthinite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_bismuthinite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_sphalerite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_sphalerite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_hematite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_magnetite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_limonite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_garnierite') - event.remove('tfc:in_biome/veins', 'tfc:vein/gabbro_garnierite') - event.remove('tfc:in_biome/veins', 'tfc:vein/graphite') - event.remove('tfc:in_biome/veins', 'tfc:vein/lignite') - event.remove('tfc:in_biome/veins', 'tfc:vein/bituminous_coal') - event.remove('tfc:in_biome/veins', 'tfc:vein/sulfur') - event.remove('tfc:in_biome/veins', 'tfc:vein/cryolite') - event.remove('tfc:in_biome/veins', 'tfc:vein/cinnabar') - event.remove('tfc:in_biome/veins', 'tfc:vein/saltpeter') - event.remove('tfc:in_biome/veins', 'tfc:vein/sylvite') - event.remove('tfc:in_biome/veins', 'tfc:vein/borax') - event.remove('tfc:in_biome/veins', 'tfc:vein/gypsum') - event.remove('tfc:in_biome/veins', 'tfc:vein/halite') - event.remove('tfc:in_biome/veins', 'tfc:vein/lapis_lazuli') - event.remove('tfc:in_biome/veins', 'tfc:vein/diamond') - event.remove('tfc:in_biome/veins', 'tfc:vein/emerald') - event.remove('tfc:in_biome/veins', 'tfc:vein/amethyst') - event.remove('tfc:in_biome/veins', 'tfc:vein/opal') - event.remove('tfc:in_biome/veins', 'tfc:geode') + event.removeAll('tfc:in_biome/veins') // Добавление - event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_amethyst') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_opal') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_gold') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_hematite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_limonite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_magnetite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_molybdenum') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_naquadah') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_pitchblende') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_sapphire') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_scheelite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_sheldonite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_topaz') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_apatite_') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_basaltic_sands') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_bauxite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_beryllium') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_certus_quartz') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_coal') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_copper') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnet_tin') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnierite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_gold') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_graphite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_hematite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_spodumene') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_oilsands') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_lapis') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_limonite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_lubricant') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_magnetite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_manganese') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_mica') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_monazite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_olivine') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_redstone') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_salt') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_saltpeter') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_silver') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_sulfur') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_tetrahedrite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_copper') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_tetrahedrite') - event.add('tfc:in_biome/veins', 'tfg:geode') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_amethyst') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_opal') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_gold') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_hematite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_limonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_magnetite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_molybdenum') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_pitchblende') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sapphire') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_scheelite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sheldonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_coal') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_copper') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnet_tin') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnierite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_gold') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_graphite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_hematite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_oilsands') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lapis') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_limonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lubricant') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_magnetite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_manganese') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_mica') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_monazite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_olivine') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_quartz') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_redstone') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_salt') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_saltpeter') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_silver') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_copper') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_sphalerite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_tetrahedrite') + + event.add('tfc:in_biome/veins', 'tfg:earth/geode/amethyst') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/barite') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/calcite') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/gypsum') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/opal') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/pyrite') + event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite') + + event.add('tfc:in_biome/veins', 'tfg:earth/nether_hint_vein') + + event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen') + event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch') } diff --git a/kubejs/server_scripts/tfc_grooming_station/recipes.js b/kubejs/server_scripts/tfc_grooming_station/recipes.js index d8d58d98e..04253287f 100644 --- a/kubejs/server_scripts/tfc_grooming_station/recipes.js +++ b/kubejs/server_scripts/tfc_grooming_station/recipes.js @@ -14,7 +14,6 @@ const registerTFCGroomingStationRecipes = (event) => { ] materials.forEach(material => { - console.log(material) event.shaped(`tfcgroomer:${material}_grooming_station`, [ 'ABA', 'AAA', diff --git a/kubejs/server_scripts/tfcambiental/tags.js b/kubejs/server_scripts/tfcambiental/tags.js index b87eeef63..03c72d91c 100644 --- a/kubejs/server_scripts/tfcambiental/tags.js +++ b/kubejs/server_scripts/tfcambiental/tags.js @@ -1,21 +1,21 @@ -// priority: 0 - -const registerTFCAmbientalItemTags = (event) => { - - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') +// priority: 0 + +const registerTFCAmbientalItemTags = (event) => { + + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfcbetterbf/data.js b/kubejs/server_scripts/tfcbetterbf/data.js new file mode 100644 index 000000000..27d19dacd --- /dev/null +++ b/kubejs/server_scripts/tfcbetterbf/data.js @@ -0,0 +1,5 @@ +// priority: 0 + +const registerTFCDataForTFCBetterBF = (event) => { + event.itemHeat('tfcbetterbf:insulation', 8.571, null, null) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcbetterbf/recipes.js b/kubejs/server_scripts/tfcbetterbf/recipes.js new file mode 100644 index 000000000..88a4095fb --- /dev/null +++ b/kubejs/server_scripts/tfcbetterbf/recipes.js @@ -0,0 +1,30 @@ +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerTFCBetterBFRecipes = (event) => +{ + event.remove("tfcbetterbf:heating/metal/insulation") + + event.recipes.tfc.heating('tfcbetterbf:insulation', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulation`) + + event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulated_fire_bricks`) + + event.recipes.gtceu.macerator('tfcbetterbf:insulated_fire_bricks') + .itemInputs('tfcbetterbf:insulated_fire_bricks') + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 3)) + .duration(GTMaterials.WroughtIron.getMass() * 3) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('tfcbetterbf:insulated_fire_bricks') + .itemInputs('tfcbetterbf:insulated_fire_bricks') + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 3)) + .duration(GTMaterials.Steel.getMass() * 3) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfctextile/tags.js b/kubejs/server_scripts/tfctextile/tags.js new file mode 100644 index 000000000..55643c7e7 --- /dev/null +++ b/kubejs/server_scripts/tfctextile/tags.js @@ -0,0 +1,14 @@ +// priority: 0 + +function registerTFCTextileItemTags(event) { + + const DISABLED_ITEMS = [ + 'tfc_textile:cotton_string' + ] + + DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js new file mode 100644 index 000000000..91f924648 --- /dev/null +++ b/kubejs/server_scripts/tfg/events.js @@ -0,0 +1,117 @@ + +//pills & tablets + +const pill_event = [ + 'haste', + 'luck', + 'night_vision', + 'poison', + 'regeneration', + 'slowness', + 'speed', + 'water_breathing', + 'weakness', +]; + +pill_event.forEach(pill_event => { + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:${pill_event}_pill`) return + item.count-- + player.addItemCooldown(item, 100) + player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 480 0 true`) + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`) + }); + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:${pill_event}_tablet`) return + item.count-- + player.addItemCooldown(item, 100) + player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 1800 0 true`) + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`) + }); +}); + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:antipoison_pill`) return + item.count-- + player.addItemCooldown(item, 50) + event.player.removeEffect('minecraft:poison') + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`) + }); + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:antipoison_tablet`) return + item.count-- + player.addItemCooldown(item, 50) + event.player.removeEffect('minecraft:poison') + event.player.removeEffect('minecraft:wither') + event.player.removeEffect('minecraft:weakness') + event.player.removeEffect('minecraft:slowness') + event.player.removeEffect('minecraft:mining_fatigue') + event.player.removeEffect('minecraft:nausea') + event.player.removeEffect('minecraft:blindness') + event.player.removeEffect('minecraft:hunger') + event.player.removeEffect('minecraft:bad_omen') + event.player.removeEffect('minecraft:darkness') + event.player.removeEffect('minecraft:unluck') + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`) + }); + +//salvos + +const salvo_event = [ + 'fire_resistance', + 'invisibility', + 'luck', + 'resistance', +]; + +salvo_event.forEach(salvo_event => { + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:${salvo_event}_salvo`) return + item.count-- + player.addItemCooldown(item, 100) + player.runCommandSilent(`effect give ${username} minecraft:${salvo_event} 480 0 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) + }); +}); + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:absorption_salvo`) return + item.count-- + player.addItemCooldown(item, 200) + player.runCommandSilent(`effect give ${username} minecraft:absorption 480 4 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) + }); + + ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:instant_health_salvo`) return + item.count-- + player.addItemCooldown(item, 100) + player.runCommandSilent(`effect give ${username} minecraft:instant_health 1 1 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) + }); + +// Vase Sounds + global.MINECRAFT_DYE_NAMES.forEach(color => { + BlockEvents.rightClicked(event => { + const {block,server,player,player:{x,y,z,username}} = event + if (block.id != `tfg:decorative_vase/${color}`) {return}{ + server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) + }}) + }); + + BlockEvents.rightClicked(event => { + const {block,server,player,player:{x,y,z,username}} = event + if (block.id != 'tfg:decorative_vase') {return}{ + server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) + }}); \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/loot_tables.block.js b/kubejs/server_scripts/tfg/loot_tables.block.js new file mode 100644 index 000000000..4e7cef3b7 --- /dev/null +++ b/kubejs/server_scripts/tfg/loot_tables.block.js @@ -0,0 +1,84 @@ + +LootJS.modifiers((event) => { + + //Generated Vases Loot + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.addBlockLootModifier(`tfg:decorative_vase/generated/${color}`) + .removeLoot(Ingredient.all) + //ore + .pool((pool) => { + pool.rolls([4, 6]); + pool.addAlternativesLoot( + LootEntry.of('tfc:ore/normal_bismuthinite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_bismuthinite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_copper').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_copper').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_sphalerite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_sphalerite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_cassiterite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_cassiterite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_gold').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_gold').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_silver').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_silver').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_hematite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_hematite').when((c) => c.randomChance(0.2)), + + LootEntry.of('gtceu:rich_raw_rock_salt').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:rich_raw_salt').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1)), + ); + }) + //seeds + .pool((pool) => { + pool.rolls([2, 8]); + pool.addAlternativesLoot( + LootEntry.of('tfc:seeds/onion').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/cabbage').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/potato').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/jute').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:seeds/sugarcane').when((c) => c.randomChance(0.1)), + LootEntry.of('firmalife:plant/pineapple_bush').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:plant/peach_sapling').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1)), + ); + }) + //loot + .pool((pool) => { + pool.rolls([0, 3]); + pool.addAlternativesLoot( + LootEntry.of('tfc:wool_yarn').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:blubber').when((c) => c.randomChance(0.1)), + LootEntry.of('minecraft:bone').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:kaolin_clay').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:glue').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:burlap_cloth').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:wool_cloth').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:mortar').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:leather').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:black_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:red_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:white_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('minecraft:goat_horn').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:regeneration_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:water_breathing_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:night_vision_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:haste_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:small_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:medium_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:large_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('firmalife:beeswax').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_pickaxe_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_axe_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_shovel_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1)), + ); + }) + }); +}); \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js new file mode 100644 index 000000000..3fc20d86c --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -0,0 +1,20 @@ +// priority: 0 + +function registerTFGCollapseRecipes(event) { + + event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate') + event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate') + event.recipes.tfc.collapse('minecraft:blackstone', 'minecraft:blackstone') + event.recipes.tfc.collapse('minecraft:blackstone', 'tfg:rock/hardened_blackstone') + event.recipes.tfc.collapse('minecraft:dripstone_block', 'minecraft:dripstone_block') + event.recipes.tfc.collapse('minecraft:dripstone_block', 'tfg:rock/hardened_dripstone') + + event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') + event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate') + event.recipes.tfc.collapse('minecraft:blackstone', '#forge:ores_in_ground/pyroxenite') + event.recipes.tfc.collapse('minecraft:dripstone_block', '#forge:ores_in_ground/dripstone') + + + event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') + event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.converting.js b/kubejs/server_scripts/tfg/recipes.converting.js new file mode 100644 index 000000000..b36839cf5 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.converting.js @@ -0,0 +1,123 @@ +// priority: 0 + +function registerTFGConvertingRecipes(event) { + + event.shapeless("afc:tree_tap", "treetap:tap") + + event.shapeless('greate:steel_cogwheel', 'create:cogwheel') + + event.shapeless('greate:large_steel_cogwheel', 'create:large_cogwheel') + + event.shapeless('greate:steel_shaft', 'create:shaft') + + event.shapeless('greate:steel_crushing_wheel', 'create:crushing_wheel') + + event.shapeless('greate:steel_encased_fan', 'create:encased_fan') + + event.shapeless('greate:steel_gearbox', 'create:gearbox') + + event.shapeless('greate:steel_mechanical_mixer', 'create:mechanical_mixer') + + event.shapeless('greate:steel_mechanical_saw', 'create:mechanical_saw') + + event.shapeless('greate:steel_mechanical_pump', 'create:mechanical_pump') + + event.shapeless('greate:rubber_belt_connector', 'create:belt_connector') + + event.shapeless('greate:steel_vertical_gearbox', 'create:vertical_gearbox') + + event.shapeless('create:zinc_ingot', 'gtceu:zinc_ingot') + event.shapeless('create:brass_ingot', 'gtceu:brass_ingot') + event.shapeless('vintageimprovements:vanadium_ingot', 'gtceu:vanadium_ingot') + event.shapeless('tfc:metal/ingot/black_steel', 'gtceu:black_steel_ingot') + event.shapeless('tfc:metal/ingot/red_steel', 'gtceu:red_steel_ingot') + event.shapeless('tfc:metal/ingot/blue_steel', 'gtceu:blue_steel_ingot') + + event.shapeless('tfc:metal/double_ingot/cast_iron', 'gtceu:iron_double_ingot') + event.shapeless('tfc:metal/double_ingot/black_steel', 'gtceu:black_steel_double_ingot') + event.shapeless('tfc:metal/double_ingot/red_steel', 'gtceu:red_steel_double_ingot') + event.shapeless('tfc:metal/double_ingot/blue_steel', 'gtceu:blue_steel_double_ingot') + + event.shapeless('create:zinc_nugget', 'gtceu:zinc_nugget') + event.shapeless('create:brass_nugget', 'gtceu:brass_nugget') + event.shapeless('create:copper_nugget', 'gtceu:copper_nugget') + event.shapeless('vintageimprovements:vanadium_nugget', 'gtceu:vanadium_nugget') + + event.shapeless('create:copper_sheet', 'gtceu:copper_plate') + event.shapeless('create:brass_sheet', 'gtceu:brass_plate') + event.shapeless('create:golden_sheet', 'gtceu:gold_plate') + event.shapeless('vintageimprovements:cast_iron_sheet', 'gtceu:iron_plate') + event.shapeless('vintageimprovements:cobalt_sheet', 'gtceu:cobalt_plate') + event.shapeless('vintageimprovements:rose_gold_sheet', 'gtceu:rose_gold_plate') + event.shapeless('vintageimprovements:aluminum_sheet', 'gtceu:aluminium_plate') + event.shapeless('vintageimprovements:invar_sheet', 'gtceu:invar_plate') + event.shapeless('vintageimprovements:lead_sheet', 'gtceu:lead_plate') + event.shapeless('vintageimprovements:nickel_sheet', 'gtceu:nickel_plate') + event.shapeless('vintageimprovements:osmium_sheet', 'gtceu:osmium_plate') + event.shapeless('vintageimprovements:palladium_sheet', 'gtceu:palladium_plate') + event.shapeless('vintageimprovements:platinum_sheet', 'gtceu:platinum_plate') + event.shapeless('vintageimprovements:rhodium_sheet', 'gtceu:rhodium_plate') + event.shapeless('vintageimprovements:silver_sheet', 'gtceu:silver_plate') + event.shapeless('vintageimprovements:vanadium_sheet', 'gtceu:vanadium_plate') + event.shapeless('vintageimprovements:zinc_sheet', 'gtceu:zinc_plate') + + event.shapeless('vintageimprovements:vanadium_block', 'gtceu:vanadium_block') + event.shapeless('create:zinc_block', 'gtceu:zinc_block') + event.shapeless('create:brass_block', 'gtceu:brass_block') + + event.shapeless('create:crushed_raw_gold', 'gtceu:gold_purified_ore') + event.shapeless('create:crushed_raw_copper', 'gtceu:copper_purified_ore') + event.shapeless('create:crushed_raw_zinc', 'gtceu:zinc_purified_ore') + event.shapeless('create:crushed_raw_silver', 'gtceu:silver_purified_ore') + event.shapeless('create:crushed_raw_tin', 'gtceu:tin_purified_ore') + event.shapeless('create:crushed_raw_lead', 'gtceu:lead_purified_ore') + + + event.shapeless('tfc:ore/rich_native_copper', 'gtceu:rich_raw_copper') + event.shapeless('tfc:ore/normal_native_copper', 'minecraft:raw_copper') + event.shapeless('tfc:ore/poor_native_copper', 'gtceu:poor_raw_copper') + + event.shapeless('tfc:ore/rich_native_gold', 'gtceu:rich_raw_gold') + event.shapeless('tfc:ore/normal_native_gold', 'minecraft:raw_gold') + event.shapeless('tfc:ore/poor_native_gold', 'gtceu:poor_raw_gold') + + event.shapeless('tfc:ore/rich_tetrahedrite', 'gtceu:rich_raw_tetrahedrite') + event.shapeless('tfc:ore/normal_tetrahedrite', 'gtceu:raw_tetrahedrite') + event.shapeless('tfc:ore/poor_tetrahedrite', 'gtceu:poor_raw_tetrahedrite') + + event.shapeless('tfc:ore/rich_malachite', 'gtceu:rich_raw_malachite') + event.shapeless('tfc:ore/normal_malachite', 'gtceu:raw_malachite') + event.shapeless('tfc:ore/poor_malachite', 'gtceu:poor_raw_malachite') + + event.shapeless('tfc:ore/rich_hematite', 'gtceu:rich_raw_hematite') + event.shapeless('tfc:ore/normal_hematite', 'gtceu:raw_hematite') + event.shapeless('tfc:ore/poor_hematite', 'gtceu:poor_raw_hematite') + + event.shapeless('tfc:ore/rich_cassiterite', 'gtceu:rich_raw_cassiterite') + event.shapeless('tfc:ore/normal_cassiterite', 'gtceu:raw_cassiterite') + event.shapeless('tfc:ore/poor_cassiterite', 'gtceu:poor_raw_cassiterite') + + event.shapeless('tfc:ore/rich_bismuthinite', 'gtceu:rich_raw_bismuth') + event.shapeless('tfc:ore/normal_bismuthinite', 'gtceu:raw_bismuth') + event.shapeless('tfc:ore/poor_bismuthinite', 'gtceu:poor_raw_bismuth') + + event.shapeless('tfc:ore/rich_magnetite', 'gtceu:rich_raw_magnetite') + event.shapeless('tfc:ore/normal_magnetite', 'gtceu:raw_magnetite') + event.shapeless('tfc:ore/poor_magnetite', 'gtceu:poor_raw_magnetite') + + event.shapeless('tfc:ore/rich_limonite', 'gtceu:rich_raw_yellow_limonite') + event.shapeless('tfc:ore/normal_limonite', 'gtceu:raw_yellow_limonite') + event.shapeless('tfc:ore/poor_limonite', 'gtceu:poor_raw_yellow_limonite') + + event.shapeless('tfc:ore/rich_garnierite', 'gtceu:rich_raw_garnierite') + event.shapeless('tfc:ore/normal_garnierite', 'gtceu:raw_garnierite') + event.shapeless('tfc:ore/poor_garnierite', 'gtceu:poor_raw_garnierite') + + event.shapeless('tfc:ore/rich_native_silver', 'gtceu:rich_raw_silver') + event.shapeless('tfc:ore/normal_native_silver', 'gtceu:raw_silver') + event.shapeless('tfc:ore/poor_native_silver', 'gtceu:poor_raw_silver') + + event.shapeless('tfc:ore/rich_sphalerite', 'gtceu:rich_raw_sphalerite') + event.shapeless('tfc:ore/normal_sphalerite', 'gtceu:raw_sphalerite') + event.shapeless('tfc:ore/poor_sphalerite', 'gtceu:poor_raw_sphalerite') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 765c43999..2740895a7 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -1,155 +1,17 @@ +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerTFGRecipes = (event) => { + + registerTFGPapermakingRecipes(event) + registerTFGRockRecipes(event) + registerTFGCollapseRecipes(event) + registerTFGMoldRecipes(event) + registerTFGTerrariumRecipes(event) + registerTFGMedicineRecipes(event) + registerTFGMiscellaneousRecipes(event) + registerTFGSupportRecipes(event) -const registerTFGRecipes = (event) => -{ - var generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => - { - event.custom({ - "type": "firmalife:vat", - "input_item": { - "ingredient": { - "item": inputItem - } - }, - "input_fluid": { - "ingredient": fluid, - "amount": fluidAmount - }, - "output_item": { - "item": output - } - }).id(id) - } - - var generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => - { - for(let i = 0; i < maxAmountOfInputItems; i++) - { - var iPlusOne = i + 1 - let inputsArray = new Array(iPlusOne) - for(let j = 0; j < iPlusOne; j++) - { - inputsArray[j] = inputItem - } - - event.recipes.tfc.pot(inputsArray, Fluid.of(inputFluid, inputFluidAmount * iPlusOne), ticks, temperature) - .itemOutput(`${iPlusOne}x ${outputItem}`) - .id(`tfg:pot/${iPlusOne}x_${id}`) - } - } - //remove chemical bath recipe - event.remove({id: 'gtceu:chemical_bath/paper_from_wood_dust'}) - event.remove({id: 'gtceu:chemical_bath/paper_from_wood_dust_distilled'}) - - //Lathe - Replace regular logs tag with softwood tag - event.replaceInput({id: 'gtceu:lathe/lathe_logs'}, '#minecraft:logs', '#tfg:softwood') - //Create identical lathe recipe for hardwood - event.recipes.gtceu.lathe('lathe_hardwood') - .itemInputs('#tfg:hardwood') - .itemOutputs('4x gtceu:long_wood_rod', '2x gtceu:hardwood_dust') - .duration(160) - .EUt(7) - - //Replace macerate logs into macerate softwood logs - event.replaceInput({id: 'gtceu:macerator/macerate_logs'}, '#minecraft:logs', '#tfg:softwood') - //Create identical macerator recipe for hardwood - event.recipes.gtceu.macerator('macerate_hardwood') - .itemInputs('#tfg:hardwood') - .itemOutputs('6x gtceu:hardwood_dust') - .chancedOutput('gtceu:hardwood_dust', 8000, 680) - .duration(70) - .EUt(2) - - //Replace any recipe that outputs wood dust to use hardwood dust if it's ID string contains the name of one of the hardwood types. - //This absolutely fuckin sucks but it works - event.forEachRecipe({output: 'gtceu:wood_dust'}, r =>{ - global.TFC_HARDWOOD_TYPES.forEach(hardwoodType => - { - if(r.id.toString().includes(hardwoodType)) - { - r.replaceOutput('gtceu:wood_dust', 'gtceu:hardwood_dust') - r.replaceOutput('gtceu:small_wood_dust', 'gtceu:small_hardwood_dust') - r.replaceOutput('gtceu:tiny_wood_dust', 'gtceu_tiny_hardwood_dust') - return; - } - }) - }) - - //Replace any input that uses softwood dust to use our custom tag (we cant add it to the forge tag because it will literally fuck everything up by making softwood pulp obtainable using hardwood pulp) - event.replaceInput([ - {not:{output: 'gtceu:small_wood_dust'}}, - {not:{output: 'gtceu:tiny_wood_dust'}} - ], 'gtceu:wood_dust', '#tfg:wood_dusts') - - //Craft hardwood strips - event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless('4x tfg:hardwood_strip', ['#minecraft:axes', '#tfg:stripped_hardwood'])) - .id('tfg:crafting/strip_hardwood') - generateCutterRecipe(event, `#tfg:hardwood`, 2, `8x tfg:hardwood_strip`, 200, 6, 'cutter/strip_hardwood') - - //Soak hardwood strips - event.recipes.tfc.barrel_sealed('12000') - .inputs('tfg:hardwood_strip', TFC.fluidStackIngredient('#tfc:water', 100)) - .outputItem('tfg:soaked_hardwood_strip') - .id('tfg:barrel/soak_hardwood_strip') - - //Create Hardwood Dust using Quern and Millstone/Crushing Wheels - event.recipes.createMilling(['3x gtceu:small_hardwood_dust', Item.of('gtceu:small_hardwood_dust').withChance(0.5)], 'tfg:soaked_hardwood_strip') - .processingTime(100) - .id('tfg:mill/mill_soaked_hardwood_strip') - event.recipes.gtceu.macerator('tfg:macerator/macerate_hardwood_strips') - .itemInputs('#tfg:hardwood_strips') - .itemOutputs('gtceu:hardwood_dust') - .duration(50) - .EUt(2) - event.recipes.tfc.quern('2x gtceu:small_hardwood_dust', 'tfg:soaked_hardwood_strip') - .id('tfg:quern/soaked_hardwood_strip') - - //Cook hardwood dust in lye - generateVatRecipe('tfg:vat/thermochemically_treat_hardwood_dust', 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust') - generateVatRecipe('tfg:vat/thermochemically_treat_small_hardwood_dust', 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust') - generateVatRecipe('tfg:vat/thermochemically_treat_tiny_hardwood_dust', 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust') - generatePotRecipe('thermochemically_treat_hardwood_dust', 3, 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust', 600, 300) - generatePotRecipe('thermochemically_treat_small_hardwood_dust', 5, 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust', 600, 300) - generatePotRecipe('thermochemically_treat_tiny_hardwood_dust', 5, 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust', 600, 300) - generateMixerRecipe(event, 'gtceu:hardwood_dust', Fluid.of('tfc:lye', 150), 'gtceu:thermochemically_treated_hardwood_dust', null, [], 150, 4, 64, 'tfg:mixer/mix_hardwood_dust_with_lye') - generateMixerRecipe(event, 'gtceu:small_hardwood_dust', Fluid.of('tfc:lye', 37), 'gtceu:small_thermochemically_treated_hardwood_dust', null, [], 100, 3, 64, 'tfg:mixer/mix_small_hardwood_dust_with_lye') - generateMixerRecipe(event, 'gtceu:tiny_hardwood_dust', Fluid.of('tfc:lye', 16), 'gtceu:tiny_thermochemically_treated_hardwood_dust', null, [], 50, 2, 64, 'tfg:mixer/mix_tiny_hardwood_dust_with_lye') - - //Beat thermochemically treated hardwood dust into soaked unrefined paper - event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_last', 'hit_last']) - .id('tfg:anvil/soaked_unrefined_paper') - event.recipes.createPressing(Item.of('tfg:soaked_unrefined_paper').withChance(0.8), 'gtceu:thermochemically_treated_hardwood_dust') - .id('tfg:pressing/soaked_unrefined_paper') - event.custom({ - type: "firmalife:stomping", - ingredient: { - item: "gtceu:thermochemically_treated_hardwood_dust" - }, - result:{ - item: 'tfg:soaked_unrefined_paper' - }, - input_texture: 'tfg:blocks/thermochemically_treated_hardwood_dust', - output_texture: 'tfg:blocks/soaked_unrefined_paper', - sound: 'minecraft:entity.slime.squish' - }).id('tfg:stomping/soaked_unrefined_paper') - - //Dry the soaked unrefined paper - event.recipes.firmalife.drying('tfc:unrefined_paper', 'tfg:soaked_unrefined_paper') - .id('tfg:drying/unrefined_paper') - - //alternatively, just put the thermochemically treated hardwood dust inside a forge hamemr - event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_thermochemically_treated_hardwood_dust') - .itemInputs('gtceu:thermochemically_treated_hardwood_dust') - .itemOutputs('minecraft:paper') - .duration(20) - .EUt(4) - event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_small_thermochemically_treated_hardwood_dust') - .itemInputs('4x gtceu:small_thermochemically_treated_hardwood_dust') - .itemOutputs('minecraft:paper') - .duration(30) - .EUt(4) - event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_tiny_thermochemically_treated_hardwood_dust') - .itemInputs('9x gtceu:tiny_thermochemically_treated_hardwood_dust') - .itemOutputs('minecraft:paper') - .duration(40) - .EUt(4) + registerTFGConvertingRecipes(event) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.medicine.js b/kubejs/server_scripts/tfg/recipes.medicine.js new file mode 100644 index 000000000..bad5b1954 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.medicine.js @@ -0,0 +1,518 @@ +// priority: 0 + +function registerTFGMedicineRecipes(event) { + + //#region Antipoison + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:antipoison_pill') + .id(`tfg:mixing_bowl/pill_antipoison`) + + event.recipes.create.mixing( + '1x tfg:antipoison_pill', + ['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_antipoison`) + event.recipes.create.mixing( + '1x tfg:antipoison_pill', + ['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_antipoison`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_antipoison`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:antipoison_pill') + .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_antipoison`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:antipoison_pill') + .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_antipoison`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:antipoison_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_antipoison`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:antipoison_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Poison + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:poison_pill') + .id(`tfg:mixing_bowl/pill_poison`) + + event.recipes.create.mixing( + '1x tfg:poison_pill', + ['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_poison`) + event.recipes.create.mixing( + '1x tfg:poison_pill', + ['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_poison`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_poison`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:poison_pill') + .itemInputs('#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_poison`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:poison_pill') + .itemInputs('#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_poison`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:poison_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_poison`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:poison_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + + //#endregion + + //#region Regeneration + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:regeneration_pill') + .id(`tfg:mixing_bowl/pill_regeneration`) + + event.recipes.create.mixing( + '1x tfg:regeneration_pill', + ['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_regeneration`) + event.recipes.create.mixing( + '1x tfg:regeneration_pill', + ['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_regeneration`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_regeneration`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:regeneration_pill') + .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_regeneration`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:regeneration_pill') + .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_regeneration`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:regeneration_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_regeneration`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:regeneration_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Speed + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:speed_pill') + .id(`tfg:mixing_bowl/pill_speed`) + + event.recipes.create.mixing( + '1x tfg:speed_pill', + ['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_speed`) + event.recipes.create.mixing( + '1x tfg:speed_pill', + ['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_speed`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_speed`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:speed_pill') + .itemInputs('#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_speed`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:speed_pill') + .itemInputs('#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_speed`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:speed_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_speed`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:speed_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Slowness + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:slowness_pill') + .id(`tfg:mixing_bowl/pill_slowness`) + + event.recipes.create.mixing( + '1x tfg:slowness_pill', + ['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_slowness`) + event.recipes.create.mixing( + '1x tfg:slowness_pill', + ['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_slowness`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_slowness`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:slowness_pill') + .itemInputs('#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_slowness`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:slowness_pill') + .itemInputs('#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_slowness`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:slowness_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_slowness`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:slowness_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + + //#endregion + + //#region Weakness + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:weakness_pill') + .id(`tfg:mixing_bowl/pill_weakness`) + + event.recipes.create.mixing( + '1x tfg:weakness_pill', + ['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_weakness`) + event.recipes.create.mixing( + '1x tfg:weakness_pill', + ['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_weakness`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_weakness`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:weakness_pill') + .itemInputs('#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_weakness`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:weakness_pill') + .itemInputs('#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_weakness`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:weakness_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_weakness`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:weakness_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .duration(200) + .EUt(21) + + //#endregion + + //#region Haste + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:haste_pill') + .id(`tfg:mixing_bowl/pill_haste`) + + event.recipes.create.mixing( + '1x tfg:haste_pill', + ['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_haste`) + event.recipes.create.mixing( + '1x tfg:haste_pill', + ['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_haste`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_haste`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:haste_pill') + .itemInputs('#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_haste`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:haste_pill') + .itemInputs('#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_haste`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:haste_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_haste`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:haste_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Water Breathing + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:water_breathing_pill') + .id(`tfg:mixing_bowl/pill_water_breathing`) + + event.recipes.create.mixing( + '1x tfg:water_breathing_pill', + ['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_water_breathing`) + event.recipes.create.mixing( + '1x tfg:water_breathing_pill', + ['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_water_breathing`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_water_breathing`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:water_breathing_pill') + .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_water_breathing`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:water_breathing_pill') + .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_water_breathing`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:water_breathing_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_water_breathing`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:water_breathing_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Night Vision + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .outputItem('1x tfg:night_vision_pill') + .id(`tfg:mixing_bowl/pill_night_vision`) + + event.recipes.create.mixing( + '1x tfg:night_vision_pill', + ['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) + .id(`tfg:create/mixer/spring_water/pill_night_vision`) + event.recipes.create.mixing( + '1x tfg:night_vision_pill', + ['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) + .id(`tfg:create/mixer/distilled_water/pill_night_vision`) + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_night_vision`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:night_vision_pill') + .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_night_vision`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:night_vision_pill') + .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_night_vision`) + .circuit(4) + .inputFluids(Fluid.of('tfc:spring_water', 250)) + .itemOutputs('2x tfg:night_vision_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_night_vision`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:distilled_water', 50)) + .itemOutputs('2x tfg:night_vision_tablet') + .notConsumable('gtceu:pill_casting_mold') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Invisibility + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_invisibility`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:aminophenol', 250)) + .itemOutputs('1x tfg:invisibility_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:invisibility_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Fire Resistance + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_fire_resistance`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:aminophenol', 250)) + .itemOutputs('1x tfg:fire_resistance_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:fire_resistance_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Resistance + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_resistance`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:aminophenol', 250)) + .itemOutputs('1x tfg:resistance_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:resistance_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Instant Health + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_instant_health`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:aminophenol', 250)) + .itemOutputs('1x tfg:instant_health_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:instant_health_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Absorption + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_absorption`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:aminophenol', 250)) + .itemOutputs('1x tfg:absorption_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:absorption_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + + //#region Luck + + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/salvo_luck`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:phenol', 250)) + .itemOutputs('1x tfg:luck_salvo') + .itemInputs('gtceu:sticky_resin', '#tfg:luck_ingredients', 'gtceu:tricalcium_phosphate_dust') + .duration(200) + .EUt(21) + + //#endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js new file mode 100644 index 000000000..eb7e78b55 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -0,0 +1,192 @@ +// priority: 0 + +/** + * + * @param {Internal.RecipesEventJS_} event + */ +function registerTFGMiscellaneousRecipes(event) { + + //tfc:moss + event.replaceInput({}, 'minecraft:vine', '#tfc:moss') + + //forge:wax + event.replaceInput({}, 'firmalife:beeswax', '#forge:wax') + + //Moss + event.shapeless('1x minecraft:moss_block', [ + '#tfc:dirt', + '#tfc:moss' + ]).id(`tfg:shapeless/moss_block`) + + event.shaped('6x minecraft:moss_carpet', [ + 'AA' + ], { + A: 'minecraft:moss_block' + }).id(`tfg:shaped/moss_carpet`) + + //paraffin + event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant') + .circuit(7) + .itemOutputs('2x tfg:paraffin_wax') + .outputFluids(Fluid.of('gtceu:oil_light', 25)) + .inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25)) + .duration(500) + .EUt(21) + + // Rosin + event.recipes.firmalife.vat() + .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) + .outputItem('tfg:conifer_rosin') + .id('tfg:vat/conifer_pitch_to_rosin'); + + event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 5000, 300) + .itemOutput('tfg:conifer_rosin') + .id('tfg:pot/conifer_pitch_to_rosin') + + // Decorative Vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/dyeing/decorative_vase/unfired/${color}`) + .itemInputs('#tfg:decorative_vases/unfired') + .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) + .itemOutputs(`tfg:decorative_vase/unfired/${color}`) + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399) + .resultItem(`tfg:decorative_vase/${color}`) + .id(`tfg:heating/decorative_vase/unfired/${color}`) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`tfg:decorative_vase/unfired/${color}`) + .inputItem(Ingredient.of('#tfg:decorative_vases/unfired').subtract(`tfg:decorative_vase/unfired/${color}`)) + .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) + .id(`tfg:barrel/dyeing/decorative_vase/${color}`) + + event.smelting( + `1x tfg:decorative_vase/${color}`, + `tfg:decorative_vase/unfired/${color}` + ).id(`tfg:smelting/decorative_vase/${color}`) + }) + + event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/bleaching/decorative_vase/unfired`) + .itemInputs('#tfg:decorative_vases/unfired') + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('tfg:decorative_vase/unfired') + .duration(80) + .EUt(20) + .category(GTRecipeCategories.CHEM_DYES) + + event.smelting( + '1x tfg:decorative_vase', + 'tfg:decorative_vase/unfired' + ).id('tfg:smelting/decorative_vase') + + event.recipes.tfc.heating('tfg:decorative_vase/unfired', 1399) + .resultItem('tfg:decorative_vase') + .id('tfg:heating/decorative_vase/unfired') + + event.recipes.tfc.knapping( + 'tfg:decorative_vase/unfired', + 'tfc:clay', + [ + ' X X ', + 'XX XX', + 'X X', + 'X X', + 'XXXXX' + ] + ).outsideSlotRequired(false) + .id('tfg:knapping/decorative_vase/unfired') + + + // lactose & curd + event.recipes.gtceu.mixer('lactose_milk_cow') + .circuit(1) + .inputFluids(Fluid.of('minecraft:milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) + .itemOutputs('1x gtceu:lactose_dust') + .outputFluids(Fluid.of('tfc:curdled_milk', 1000)) + .duration(300) + .EUt(30) + + event.recipes.gtceu.mixer('lactose_milk_yak') + .circuit(1) + .inputFluids(Fluid.of('firmalife:yak_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) + .itemOutputs('1x gtceu:lactose_dust') + .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) + .duration(300) + .EUt(30) + + event.recipes.gtceu.mixer('lactose_milk_goat') + .circuit(1) + .inputFluids(Fluid.of('firmalife:goat_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) + .itemOutputs('1x gtceu:lactose_dust') + .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) + .duration(300) + .EUt(30) + + //Scaffolding Frame + event.shaped('tfg:scaffolding_frame', + [ + 'AAA', + 'ABA', + 'AAA' + ], + { + A: '#forge:rods/wood', + B: '#forge:cloth' + }).id('tfg:shaped/scaffolding_frame'); + + event.recipes.gtceu.assembler('tfg:assembler/scaffolding_frame') + .itemInputs('8x #forge:rods/wood', '#forge:cloth') + .itemOutputs('tfg:scaffolding_frame') + .duration(10) + .EUt(2); + + //Airship Hull + event.shaped('tfg:airship_hull', [ + 'A B', + 'C C', + 'CCC' + ], { + A: '#forge:tools/screwdrivers', + B: '#forge:tools/hammers', + C: 'immersive_aircraft:hull' + }).id('tfg:shaped/airship_hull'); + event.recipes.gtceu.assembler('tfg:assembler/airship_hull') + .itemInputs('5x immersive_aircraft:hull') + .itemOutputs('tfg:airship_hull') + .duration(40) + .circuit(1) + .EUt(10); + + //Airship Balloon + event.shaped('tfg:airship_balloon', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:string', + B: 'immersive_aircraft:sail', + C: 'tfc:bone_needle' + }).id('tfg:shaped/airship_balloon') + event.recipes.gtceu.assembler('tfg:assembler/airship_balloon') + .itemInputs('4x immersive_aircraft:sail', '4x #forge:string') + .itemOutputs('tfg:airship_balloon') + .duration(40) + .circuit(1) + .EUt(10) + + // Steam bloomery + event.shaped('gtceu:steam_bloomery', [ + 'CEC', + 'DAD', + 'CBC' + ], { + A: 'tfc:bloomery', + B: '#forge:frames/bronze', + C: '#forge:rods/black_steel', + D: '#forge:screws/wrought_iron', + E: '#forge:tools/wrenches' + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.molds.js b/kubejs/server_scripts/tfg/recipes.molds.js new file mode 100644 index 000000000..a1c16a114 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.molds.js @@ -0,0 +1,276 @@ +// priority: 0 + +function registerTFGMoldRecipes(event) { + + event.shaped('tfg:mining_hammer_head_extruder_mold', [ + 'Sfh', + ' ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:sword_head_extruder_mold', [ + 'Shf', + ' ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:pickaxe_head_extruder_mold', [ + 'S ', + 'hf ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:axe_head_extruder_mold', [ + 'S ', + ' fh', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:hoe_head_extruder_mold', [ + 'S ', + ' hf', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:scythe_head_extruder_mold', [ + 'S ', + ' ', + 'fh ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:file_head_extruder_mold', [ + 'S ', + ' ', + 'hf ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:hammer_head_extruder_mold', [ + 'Sf ', + ' h ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:saw_head_extruder_mold', [ + 'Sh ', + ' f ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:knife_head_extruder_mold', [ + 'S f', + ' ', + ' h' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:butchery_knife_head_extruder_mold', [ + 'S h', + ' ', + ' f' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:shovel_head_extruder_mold', [ + 'S ', + 'f ', + 'h ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:spade_head_extruder_mold', [ + 'S ', + 'f ', + ' h' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + event.shaped('tfg:propick_head_extruder_mold', [ + 'Sxf', + ' ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + x: '#forge:tools/wire_cutters' + }) + + event.shaped('tfg:javelin_head_extruder_mold', [ + 'S x', + 'f ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + x: '#forge:tools/wire_cutters' + }) + + event.shaped('tfg:chisel_head_extruder_mold', [ + 'S ', + 'xf ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + x: '#forge:tools/wire_cutters' + }) + + event.shaped('tfg:mace_head_extruder_mold', [ + 'S ', + ' xf', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + x: '#forge:tools/wire_cutters' + }) + + event.shaped('tfg:lamp_casting_mold', [ + 'Sh ', + ' ', + ' m' + ], { + S: 'gtceu:empty_mold', + h: '#forge:tools/hammers', + m: '#forge:tools/mallets' + }) + + event.shaped('tfg:trapdoor_casting_mold', [ + 'S h', + ' ', + ' m' + ], { + S: 'gtceu:empty_mold', + h: '#forge:tools/hammers', + m: '#forge:tools/mallets' + }) + + event.shaped('tfg:chain_casting_mold', [ + 'S ', + 'h ', + ' m' + ], { + S: 'gtceu:empty_mold', + h: '#forge:tools/hammers', + m: '#forge:tools/mallets' + }) + + event.shaped('tfg:bell_casting_mold', [ + 'S ', + ' h ', + ' m' + ], { + S: 'gtceu:empty_mold', + h: '#forge:tools/hammers', + m: '#forge:tools/mallets' + }) + + event.shaped('tfg:mattock_head_extruder_mold', [ + ' h', + 'fS ', + ' ' + ], { + S: 'gtceu:empty_mold', + f: '#forge:tools/files', + h: '#forge:tools/hammers' + }) + + + let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4); + let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4); + + global.TFG_EXTRUDER_MOLDS.forEach(mold => { + + event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", "")) + .itemInputs(mold) + .itemOutputs(steelIngots) + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", "")) + .itemInputs(mold) + .itemOutputs(steelDusts) + .duration(224) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", "")) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .duration(120) + .EUt(GTValues.VA[GTValues.LV]) + }) + + global.TFG_CASTING_MOLDS.forEach(mold => { + + event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", "")) + .itemInputs(mold) + .itemOutputs(steelIngots) + .duration(224) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", "")) + .itemInputs(mold) + .itemOutputs(steelDusts) + .duration(224) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", "")) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .duration(120) + .EUt(GTValues.VA[GTValues.LV]) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.paper.js b/kubejs/server_scripts/tfg/recipes.paper.js new file mode 100644 index 000000000..0ef641700 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.paper.js @@ -0,0 +1,148 @@ +// priority: 0 + +function registerTFGPapermakingRecipes(event) { + + var generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => { + event.custom({ + "type": "firmalife:vat", + "input_item": { + "ingredient": { + "item": inputItem + } + }, + "input_fluid": { + "ingredient": fluid, + "amount": fluidAmount + }, + "output_item": { + "item": output + } + }).id(id) + } + + var generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => { + for (let i = 0; i < maxAmountOfInputItems; i++) { + var iPlusOne = i + 1 + let inputsArray = new Array(iPlusOne) + for (let j = 0; j < iPlusOne; j++) { + inputsArray[j] = inputItem + } + + event.recipes.tfc.pot(inputsArray, Fluid.of(inputFluid, inputFluidAmount * iPlusOne), ticks, temperature) + .itemOutput(`${iPlusOne}x ${outputItem}`) + .id(`tfg:pot/${iPlusOne}x_${id}`) + } + } + //remove chemical bath recipe + event.remove({ id: 'gtceu:chemical_bath/paper_from_wood_dust' }) + event.remove({ id: 'gtceu:chemical_bath/paper_from_wood_dust_distilled' }) + + //Lathe - Replace regular logs tag with softwood tag + event.replaceInput({ id: 'gtceu:lathe/lathe_logs' }, '#minecraft:logs', '#tfg:softwood') + //Create identical lathe recipe for hardwood + event.recipes.gtceu.lathe('lathe_hardwood') + .itemInputs('#tfg:hardwood') + .itemOutputs('4x gtceu:long_wood_rod', '2x gtceu:hardwood_dust') + .duration(160) + .EUt(7) + + //Replace macerate logs into macerate softwood logs + event.replaceInput({ id: 'gtceu:macerator/macerate_logs' }, '#minecraft:logs', '#tfg:softwood') + //Create identical macerator recipe for hardwood + event.recipes.gtceu.macerator('macerate_hardwood') + .itemInputs('#tfg:hardwood') + .itemOutputs('6x gtceu:hardwood_dust') + .chancedOutput('gtceu:hardwood_dust', 8000, 680) + .duration(70) + .EUt(2) + + //Replace any recipe that outputs wood dust to use hardwood dust if it's ID string contains the name of one of the hardwood types. + //This absolutely fuckin sucks but it works + event.forEachRecipe({ output: 'gtceu:wood_dust' }, r => { + global.TFC_HARDWOOD_TYPES.forEach(hardwoodType => { + if (r.id.toString().includes(hardwoodType)) { + r.replaceOutput('gtceu:wood_dust', 'gtceu:hardwood_dust') + r.replaceOutput('gtceu:small_wood_dust', 'gtceu:small_hardwood_dust') + r.replaceOutput('gtceu:tiny_wood_dust', 'gtceu_tiny_hardwood_dust') + return; + } + }) + }) + + //Replace any input that uses softwood dust to use our custom tag (we cant add it to the forge tag because it will literally fuck everything up by making softwood pulp obtainable using hardwood pulp) + event.replaceInput([ + { not: { output: 'gtceu:small_wood_dust' } }, + { not: { output: 'gtceu:tiny_wood_dust' } } + ], 'gtceu:wood_dust', '#tfg:wood_dusts') + + //Craft hardwood strips + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless('4x tfg:hardwood_strip', ['#minecraft:axes', '#tfg:stripped_hardwood'])) + .id('tfg:crafting/strip_hardwood') + generateCutterRecipe(event, `#tfg:stripped_hardwood`, `8x tfg:hardwood_strip`, 50, 6, 'cutter/strip_hardwood') + + //Soak hardwood strips + event.recipes.tfc.barrel_sealed('12000') + .inputs('tfg:hardwood_strip', TFC.fluidStackIngredient('#tfc:water', 100)) + .outputItem('tfg:soaked_hardwood_strip') + .id('tfg:barrel/soak_hardwood_strip') + + //Create Hardwood Dust using Quern and Millstone/Crushing Wheels + event.recipes.gtceu.macerator('tfg:macerator/macerate_hardwood_strips') + .itemInputs('tfg:soaked_hardwood_strip') + .itemOutputs('3x gtceu:small_hardwood_dust') + .chancedOutput('gtceu:small_hardwood_dust', 5000, 5000) + .duration(100) + .EUt(2) + event.recipes.tfc.quern('2x gtceu:small_hardwood_dust', 'tfg:soaked_hardwood_strip') + .id('tfg:quern/soaked_hardwood_strip') + + //Cook hardwood dust in lye + generateVatRecipe('tfg:vat/thermochemically_treat_hardwood_dust', 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust') + generateVatRecipe('tfg:vat/thermochemically_treat_small_hardwood_dust', 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust') + generateVatRecipe('tfg:vat/thermochemically_treat_tiny_hardwood_dust', 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust') + generatePotRecipe('thermochemically_treat_hardwood_dust', 3, 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust', 600, 300) + generatePotRecipe('thermochemically_treat_small_hardwood_dust', 5, 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust', 600, 300) + generatePotRecipe('thermochemically_treat_tiny_hardwood_dust', 5, 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust', 600, 300) + generateMixerRecipe(event, 'gtceu:hardwood_dust', Fluid.of('tfc:lye', 150), 'gtceu:thermochemically_treated_hardwood_dust', null, [], 150, 4, 64, 'tfg:mixer/mix_hardwood_dust_with_lye') + generateMixerRecipe(event, 'gtceu:small_hardwood_dust', Fluid.of('tfc:lye', 37), 'gtceu:small_thermochemically_treated_hardwood_dust', null, [], 100, 3, 64, 'tfg:mixer/mix_small_hardwood_dust_with_lye') + generateMixerRecipe(event, 'gtceu:tiny_hardwood_dust', Fluid.of('tfc:lye', 16), 'gtceu:tiny_thermochemically_treated_hardwood_dust', null, [], 50, 2, 64, 'tfg:mixer/mix_tiny_hardwood_dust_with_lye') + + //Beat thermochemically treated hardwood dust into soaked unrefined paper + event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_last', 'hit_last']) + .id('tfg:anvil/soaked_unrefined_paper') + event.recipes.createDeploying(Item.of('tfg:soaked_unrefined_paper').withChance(0.8), ['gtceu:thermochemically_treated_hardwood_dust', '#forge:tools/hammers']) + .id('tfg:pressing/soaked_unrefined_paper') + event.custom({ + type: "firmalife:stomping", + ingredient: { + item: "gtceu:thermochemically_treated_hardwood_dust" + }, + result: { + item: 'tfg:soaked_unrefined_paper' + }, + input_texture: 'tfg:block/thermochemically_treated_hardwood_dust', + output_texture: 'tfg:block/soaked_unrefined_paper', + sound: 'minecraft:entity.slime.squish' + }).id('tfg:stomping/soaked_unrefined_paper') + + //Dry the soaked unrefined paper + event.recipes.firmalife.drying('tfc:unrefined_paper', 'tfg:soaked_unrefined_paper') + .id('tfg:drying/unrefined_paper') + + //alternatively, just put the thermochemically treated hardwood dust inside a forge hamemr + event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_thermochemically_treated_hardwood_dust') + .itemInputs('gtceu:thermochemically_treated_hardwood_dust') + .itemOutputs('minecraft:paper') + .duration(20) + .EUt(4) + event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_small_thermochemically_treated_hardwood_dust') + .itemInputs('4x gtceu:small_thermochemically_treated_hardwood_dust') + .itemOutputs('minecraft:paper') + .duration(30) + .EUt(4) + event.recipes.gtceu.forge_hammer('tfg:forge_hammer/paper_from_tiny_thermochemically_treated_hardwood_dust') + .itemInputs('9x gtceu:tiny_thermochemically_treated_hardwood_dust') + .itemOutputs('minecraft:paper') + .duration(40) + .EUt(4) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js new file mode 100644 index 000000000..69b315b72 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -0,0 +1,260 @@ +// priority: 0 + +function registerTFGRockRecipes(event) { + + // #region Nether rock recipes + + // loose rocks to cobble, bricks to brick blocks + + const GLUEING_TOGETHER = [ + { loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' }, + { loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' }, + { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, + { loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' } + ] + + GLUEING_TOGETHER.forEach(x => { + event.shaped(x.block, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: x.loose, + B: 'tfc:mortar' + }) + + event.recipes.gtceu.assembler(`${x.loose}_to_${x.block}`.replace(/[: ]/g, '_')) + .itemInputs(`5x ${x.loose}`) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(x.block) + .circuit(2) + .duration(50) + .EUt(2) + }) + + // loose to bricks + + const LOOSE_TO_BRICKS = [ + { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' } + ] + + LOOSE_TO_BRICKS.forEach(x => { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + x.brick, [x.loose, '#tfc:chisels'] + )) + + event.recipes.gtceu.assembler(`${x.loose}_to_${x.brick}`.replace(/:/g, '_')) + .itemInputs(x.loose) + .itemOutputs(x.brick) + .circuit(1) + .duration(40) + .EUt(8) + }) + + // raw to polished + + const RAW_TO_POLISHED = [ + { raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' }, + { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, + { raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' }, + { raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' }, + { raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' }, + { raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' }, + { raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' } + ] + + RAW_TO_POLISHED.forEach(x => { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + x.polished, [x.raw, '#tfc:chisels'] + )) + + event.recipes.gtceu.laser_engraver(`${x.raw}_to_${x.polished}`.replace(/:/g, '_')) + .itemInputs(x.raw) + .itemOutputs(x.polished) + .notConsumable('tfc:lens') + .duration(30) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: 'vintageimprovements:laser_cutting', + ingredients: [{ item: x.raw }], + results: [{item: x.polished }], + energy: GTValues.VA[GTValues.ULV] * 30 * 4, + maxChargeRate: GTValues.VA[GTValues.ULV] * 4 + }).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`) + }) + + // cracked bricks + + const CRACKING = [ + { raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, + { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' } + ] + + CRACKING.forEach(x => { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + x.cracked, [x.raw, '#tfc:hammers'] + )) + + event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) + .itemInputs(x.raw) + .itemOutputs(x.cracked) + .duration(12) + .EUt(8) + }) + + // forge hammer + + const HAMMERING = [ + { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate' }, + { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black' }, + { raw: 'minecraft:blackstone', hammered: 'tfc:sand/black' }, + { raw: 'beneath:crackrack', hammered: 'tfc:sand/pink' }, + { raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' } + ] + + HAMMERING.forEach(x => { + event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/:/g, '_')) + .itemInputs(x.raw) + .itemOutputs(x.hammered) + .duration(12) + .EUt(8) + }) + + // slabs, stairs, walls + + const CUTTER = [ + { + raw: 'minecraft:cobbled_deepslate', + stair: 'minecraft:cobbled_deepslate_stairs', + slab: 'minecraft:cobbled_deepslate_slab', + wall: 'minecraft:cobbled_deepslate_wall', + dust: 'gtceu:deepslate_dust', + loose: 'tfg:loose/deepslate' + }, + { + raw: 'minecraft:polished_deepslate', + stair: 'minecraft:polished_deepslate_stairs', + slab: 'minecraft:polished_deepslate_slab', + wall: 'minecraft:polished_deepslate_wall', + dust: 'gtceu:deepslate_dust' + }, + { + raw: 'minecraft:deepslate_bricks', + stair: 'minecraft:deepslate_brick_stairs', + slab: 'minecraft:deepslate_brick_slab', + wall: 'minecraft:deepslate_brick_wall', + dust: 'gtceu:deepslate_dust' + }, + { + raw: 'minecraft:deepslate_tiles', + stair: 'minecraft:deepslate_tile_stairs', + slab: 'minecraft:deepslate_tile_slab', + wall: 'minecraft:deepslate_tile_wall', + dust: 'gtceu:deepslate_dust' + }, + { + raw: 'minecraft:blackstone', + stair: 'minecraft:blackstone_stairs', + slab: 'minecraft:blackstone_slab', + wall: 'minecraft:blackstone_wall', + dust: 'gtceu:blackstone_dust', + loose: 'beneath:blackstone_pebble' + }, + { + raw: 'minecraft:polished_blackstone', + stair: 'minecraft:polished_blackstone_stairs', + slab: 'minecraft:polished_blackstone_slab', + wall: 'minecraft:polished_blackstone_wall', + dust: 'gtceu:blackstone_dust' + }, + { + raw: 'minecraft:polished_blackstone_bricks', + stair: 'minecraft:polished_blackstone_brick_stairs', + slab: 'minecraft:polished_blackstone_brick_slab', + wall: 'minecraft:polished_blackstone_brick_wall', + dust: 'gtceu:blackstone_dust' + } + ] + + CUTTER.forEach(x => { + if ("stair" in x) { + event.recipes.tfc.chisel(x.stair, x.raw, 'stair') + //event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_')) + + event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_')) + .itemInputs(x.stair) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + if ("loose" in x) { + event.shapeless(`3x ${x.loose}`, [x.stair]) + } + } + if ("slab" in x) { + event.recipes.tfc.chisel(x.slab, x.raw, 'slab') + //event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_')) + + event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_')) + .itemInputs(`2x ${x.slab}`) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + if ("loose" in x) { + event.shapeless(`2x ${x.loose}`, [x.slab]) + } + } + if ("wall" in x) { + event.recipes.tfc.chisel(x.slab, x.raw, 'smooth') + //event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) + + event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_')) + .itemInputs(x.wall) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + } + + if ("loose" in x) { + event.shapeless(`4x ${x.loose}`, [x.raw]) + } + }) + + const MACERATOR = [ + { block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' }, + { block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' } + ] + + MACERATOR.forEach(x => { + event.recipes.gtceu.macerator(`macerate_${x.block}`.replace(/:/g, '_')) + .itemInputs(x.block) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + // rock breaker + + const ROCK_DUPING = [ + 'minecraft:deepslate', + 'minecraft:cobbled_deepslate', + 'minecraft:blackstone', + 'minecraft:dripstone_block' + ] + + ROCK_DUPING.forEach(x => { + event.recipes.gtceu.rock_breaker(x) + .notConsumable(x) + .itemOutputs(x) + .duration(16) + .EUt(7) + }) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js new file mode 100644 index 000000000..4d304b6b2 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -0,0 +1,229 @@ +// priority: 0 + +function registerTFGSupportRecipes(event) { + + // Concrete Supports + event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support') + .inputFluids(Fluid.of('gtceu:concrete', 96)) + .itemOutputs('1x tfg:reinforced_light_concrete_support') + .itemInputs('1x tfg:rebar_support') + .duration(60) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') + .inputFluids(Fluid.of('gtceu:concrete', 96)) + .itemOutputs('1x tfg:reinforced_light_concrete_support') + .itemInputs('1x tfg:rebar_support') + .duration(120) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('1x tfg:reinforced_dark_concrete_support') + .itemInputs('1x tfg:reinforced_light_concrete_support') + .duration(60) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/dark_concrete_support') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('1x tfg:dark_concrete_support') + .itemInputs('1x tfg:light_concrete_support') + .duration(60) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:light_concrete_support', [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: 'gtceu:light_concrete', + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id('tfg:shaped/light_concrete_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support') + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs('8x tfg:light_concrete_support') + .itemInputs('3x gtceu:light_concrete') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:dark_concrete_support', [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: 'gtceu:dark_concrete', + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id('tfg:shaped/dark_concrete_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support') + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs('8x tfg:dark_concrete_support') + .itemInputs('3x gtceu:dark_concrete') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + // Stone Supports + global.TFC_STONE_TYPES.forEach(stone => { + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(`8x tfg:${stone}_support`, [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: `tfc:rock/loose/${stone}`, + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id(`tfg:shaped/${stone}_support`)) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(`8x tfg:${stone}_support`, [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: `tfc:rock/mossy_loose/${stone}`, + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id(`tfg:shaped/mossy/${stone}_support`)) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${stone}_support`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs(`8x tfg:${stone}_support`) + .itemInputs(`3x tfc:rock/loose/${stone}`) + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/mossy/${stone}_support`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs(`8x tfg:${stone}_support`) + .itemInputs(`3x tfc:rock/mossy_loose/${stone}`) + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + }) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:travertine_support', [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: 'tfg:loose/dripstone', + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id('tfg:shaped/travertine_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/travertine_support') + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs('8x tfg:travertine_support') + .itemInputs('3x tfg:loose/dripstone') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:migmatite_support', [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: 'tfg:loose/deepslate', + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id('tfg:shaped/migmatite_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/migmatite_support') + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs('8x tfg:migmatite_support') + .itemInputs('3x tfg:loose/deepslate') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:pyroxenite_support', [ + 'AB ', + 'AC ', + 'AC ' + ],{ + A: 'beneath:blackstone_pebble', + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id('tfg:shaped/pyroxenite_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/pyroxenite_support') + .circuit(4) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs('8x tfg:pyroxenite_support') + .itemInputs('3x beneath:blackstone_pebble') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + + // Metal Supports + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('8x tfg:rebar_support', [ + 'BA ', + 'AC ' + ],{ + A: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), + B: ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1), + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/rebar_support')) + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/rebar_support') + .circuit(4) + .itemOutputs('8x tfg:rebar_support') + .itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1)) + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.anvil( + '4x tfg:steel_support', + '#forge:double_ingots/steel', + [ + 'upset_last', + 'shrink_any' + ] + ).tier(4) + .id('tfg:anvil/steel_support') + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support') + .circuit(4) + .itemOutputs('8x tfg:steel_support') + .itemInputs('2x #forge:double_ingots/steel') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support') + .itemInputs('tfg:steel_support') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 1) + ) + .duration(GTMaterials.Steel.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support') + .itemInputs('tfg:steel_support') + .itemOutputs( + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2) + ) + .duration(GTMaterials.Steel.getMass() * 1) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support') + .itemInputs('tfg:steel_support') + .outputFluids(Fluid.of('gtceu:steel', 36)) + .duration(GTMaterials.Steel.getMass() * 1) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/terrariums.js b/kubejs/server_scripts/tfg/recipes.terrariums.js similarity index 75% rename from kubejs/server_scripts/tfg/terrariums.js rename to kubejs/server_scripts/tfg/recipes.terrariums.js index 3bddfd688..a6f59272e 100644 --- a/kubejs/server_scripts/tfg/terrariums.js +++ b/kubejs/server_scripts/tfg/recipes.terrariums.js @@ -1,218 +1,215 @@ -ServerEvents.recipes(event => { - - event.remove({ id: 'gtceu:gas_collector/nether_air' }) - event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - event.remove({ id: 'gtceu:gas_collector/ender_air' }) - event.remove({ id: 'gtceu:macerator/macerate_end_stone' }) - event.remove({ id: 'minecraft:ender_chest' }) - event.remove({ id: 'gtceu:assembler/ender_chest' }) - event.remove({ id: 'minecraft:end_crystal' }) - event.remove({ id: 'gtceu:assembler/end_crystal' }) - - // nether slurry - - event.recipes.gtceu.mixer('tfg:nether_slurry') - .itemInputs('gtceu:basalt_dust', 'minecraft:blaze_powder', 'minecraft:gold_nugget') - .inputFluids(Fluid.of('minecraft:lava', 1000)) - .outputFluids(Fluid.of('tfg:nether_slurry', 1000)) - .duration(200) - .EUt(512) - - event.recipes.gtceu.mixer('tfg:enriched_nether_slurry') - .itemInputs('minecraft:quartz', 'minecraft:redstone') - .inputFluids(Fluid.of('tfg:nether_slurry', 2000)) - .outputFluids(Fluid.of('tfg:enriched_nether_slurry', 2000)) - .duration(200) - .EUt(512) - - // nether air - - event.recipes.gtceu.nether_dome('tfg:slurry_to_air') - .inputFluids(Fluid.of('tfg:nether_slurry', 100)) - .outputFluids(Fluid.of('gtceu:nether_air', 32000)) - .duration(200) - .EUt(256) - .circuit(1) - - event.recipes.gtceu.nether_dome('tfg:enriched_slurry_to_air') - .inputFluids(Fluid.of('tfg:enriched_nether_slurry', 100)) - .outputFluids(Fluid.of('gtceu:nether_air', 128000)) - .duration(200) - .EUt(256) - .circuit(1) - - event.recipes.gtceu.nether_dome('tfg:quartz') - .itemInputs('gtceu:quartzite_gem') - .inputFluids(Fluid.of('tfg:nether_slurry', 25)) - .itemOutputs('minecraft:quartz') - .duration(200) - .EUt(512) - .circuit(2) - - // netherarium - - event.shaped('gtceu:nether_dome', [ - 'ADA', - 'CEC', - 'FBF' - ], { - A: 'minecraft:quartz', - B: 'minecraft:gold_block', - C: 'minecraft:blaze_rod', - D: 'gtceu:hv_emitter', - E: 'gtceu:hv_gas_collector', - F: 'gtceu:dense_obsidian_plate' - }).id('tfg:shaped/nether_dome2') - - // netherrack - - event.recipes.gtceu.chemical_bath('tfg:netherrack') - .itemInputs('#forge:stone') - .inputFluids(Fluid.of('gtceu:blaze', 144)) - .itemOutputs('minecraft:netherrack') - .duration(200) - .EUt(512) - - event.recipes.gtceu.macerator('tfg:obsidian') - .itemInputs('minecraft:obsidian') - .itemOutputs('gtceu:obsidian_dust') - .duration(100) - .EUt(512) - - // nether bricks - - event.shaped('4x minecraft:nether_bricks', [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: 'minecraft:nether_brick', - B: 'tfc:mortar' - }).id('tfg:shaped/nether_bricks') - - event.recipes.gtceu.assembler('tfg:nether_bricks') - .itemInputs('5x minecraft:nether_brick') - .itemOutputs('4x minecraft:nether_bricks') - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .duration(50) - .EUt(2) - - // ender slurry - - event.recipes.gtceu.mixer('tfg:ender_slurry') - .itemInputs('gtceu:obsidian_dust', 'minecraft:end_stone') - .inputFluids(Fluid.of('gtceu:helium', 200), Fluid.of('gtceu:radon', 50)) - .outputFluids(Fluid.of('tfg:ender_slurry', 250)) - .duration(200) - .EUt(2048) - - event.recipes.gtceu.mixer('tfg:enriched_ender_slurry') - .itemInputs('minecraft:chorus_fruit', 'ae2:ender_dust') - .inputFluids(Fluid.of('tfg:ender_slurry', 500)) - .outputFluids(Fluid.of('tfg:enriched_ender_slurry', 500)) - .duration(200) - .EUt(2048) - - // ender air - - event.recipes.gtceu.end_dome('tfg:slurry_to_air') - .inputFluids(Fluid.of('tfg:ender_slurry', 25)) - .outputFluids(Fluid.of('gtceu:ender_air', 32000)) - .duration(200) - .EUt(1024) - .circuit(1) - - event.recipes.gtceu.end_dome('tfg:enriched_slurry_to_air') - .inputFluids(Fluid.of('tfg:enriched_ender_slurry', 25)) - .outputFluids(Fluid.of('gtceu:ender_air', 128000)) - .duration(200) - .EUt(1024) - .circuit(1) - - event.recipes.gtceu.end_dome('tfg:pearls') - .itemInputs('gtceu:quantum_eye') - .inputFluids(Fluid.of('tfg:ender_slurry', 10)) - .itemOutputs('2x minecraft:ender_pearl') - .duration(200) - .EUt(2048) - .circuit(2) - - // enderarium - - event.shaped('gtceu:end_dome', [ - 'DAD', - 'CEC', - 'FBF' - ], { - A: 'gtceu:ev_emitter', - B: 'minecraft:end_stone', - C: 'tfc:metal/bars/wrought_iron', - D: 'minecraft:end_crystal', - E: 'gtceu:ev_gas_collector', - F: 'gtceu:dense_obsidian_plate' - }).id('tfg:shaped/end_dome') - - // parts for the ender dome - - event.shaped('minecraft:end_crystal', [ - 'AAA', - 'ABA', - 'ACA' - ], { - A: 'gtceu:tempered_glass', - B: 'gtceu:quantum_eye', - C: '#forge:exquisite_gems' - }).id('tfg:shaped/end_crystal') - - // chorus fruit - - event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium') - .itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust') - .itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust') - .duration(500) - .EUt(480) - - event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium') - .itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust') - .itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust') - .duration(200) - .EUt(480) - - event.recipes.gtceu.centrifuge('tfg:kovarex') - .itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust') - .itemOutputs('41x gtceu:uranium_235_dust', '2x gtceu:uranium_dust') - .duration(1000) - .EUt(512) - - // end stone - - - event.recipes.gtceu.chemical_bath('tfg:end_stone') - .itemInputs('#forge:stone') - .inputFluids(Fluid.of('gtceu:argon', 100)) - .itemOutputs('minecraft:end_stone') - .duration(100) - .EUt(2048) - - // dragon egg - - event.recipes.gtceu.chemical_bath('tfg:dragon_egg') - .itemInputs('#forge:eggs') - .inputFluids(Fluid.of('gtceu:thorium', 1296)) - .itemOutputs('minecraft:dragon_egg') - .duration(2000) - .EUt(2048) - - // end portal frame - - event.shaped('tfg:artificial_end_portal_frame', [ - 'A', - 'B', - 'C' - ], { - A: 'minecraft:ender_eye', - B: 'minecraft:cyan_carpet', - C: 'minecraft:end_stone' - }).id('tfg:shaped/artificial_end_portal_frame') -}) - +// priority: 0 + +function registerTFGTerrariumRecipes(event) { + + event.remove({ id: 'gtceu:gas_collector/nether_air' }) + event.remove({ id: 'gtceu:gas_collector/ender_air' }) + + // nether slurry + + event.recipes.gtceu.mixer('tfg:nether_slurry') + .itemInputs('gtceu:basalt_dust', 'minecraft:blaze_powder', 'minecraft:gold_nugget') + .inputFluids(Fluid.of('minecraft:lava', 1000)) + .outputFluids(Fluid.of('tfg:nether_slurry', 1000)) + .duration(200) + .EUt(512) + + event.recipes.gtceu.mixer('tfg:enriched_nether_slurry') + .itemInputs('minecraft:quartz', 'minecraft:redstone') + .inputFluids(Fluid.of('tfg:nether_slurry', 2000)) + .outputFluids(Fluid.of('tfg:enriched_nether_slurry', 2000)) + .duration(200) + .EUt(512) + + // nether air + + event.recipes.gtceu.nether_dome('tfg:slurry_to_air') + .inputFluids(Fluid.of('tfg:nether_slurry', 100)) + .outputFluids(Fluid.of('gtceu:nether_air', 32000)) + .duration(200) + .EUt(256) + .circuit(1) + + event.recipes.gtceu.nether_dome('tfg:enriched_slurry_to_air') + .inputFluids(Fluid.of('tfg:enriched_nether_slurry', 100)) + .outputFluids(Fluid.of('gtceu:nether_air', 128000)) + .duration(200) + .EUt(256) + .circuit(1) + + event.recipes.gtceu.nether_dome('tfg:quartz') + .itemInputs('gtceu:quartzite_gem') + .inputFluids(Fluid.of('tfg:nether_slurry', 25)) + .itemOutputs('minecraft:quartz') + .duration(200) + .EUt(512) + .circuit(2) + + // netherarium + + event.shaped('gtceu:nether_dome', [ + 'ADA', + 'CEC', + 'FBF' + ], { + A: 'minecraft:quartz', + B: 'minecraft:gold_block', + C: 'minecraft:blaze_rod', + D: 'gtceu:hv_emitter', + E: 'gtceu:hv_gas_collector', + F: 'gtceu:dense_obsidian_plate' + }).id('tfg:shaped/nether_dome2') + + // netherrack + + event.recipes.gtceu.chemical_bath('tfg:netherrack') + .itemInputs('#forge:stone') + .inputFluids(Fluid.of('gtceu:blaze', 144)) + .itemOutputs('minecraft:netherrack') + .duration(200) + .EUt(512) + + event.recipes.gtceu.macerator('tfg:obsidian') + .itemInputs('minecraft:obsidian') + .itemOutputs('gtceu:obsidian_dust') + .duration(100) + .EUt(512) + + // nether bricks + + event.shaped('4x minecraft:nether_bricks', [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: 'minecraft:nether_brick', + B: 'tfc:mortar' + }).id('tfg:shaped/nether_bricks') + + event.recipes.gtceu.assembler('tfg:nether_bricks') + .itemInputs('5x minecraft:nether_brick') + .itemOutputs('4x minecraft:nether_bricks') + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .duration(50) + .EUt(2) + + // ender slurry + + event.recipes.gtceu.mixer('tfg:ender_slurry') + .itemInputs('gtceu:obsidian_dust', 'minecraft:end_stone') + .inputFluids(Fluid.of('gtceu:helium', 200), Fluid.of('gtceu:radon', 50)) + .outputFluids(Fluid.of('tfg:ender_slurry', 250)) + .duration(200) + .EUt(2048) + + event.recipes.gtceu.mixer('tfg:enriched_ender_slurry') + .itemInputs('minecraft:chorus_fruit', 'ae2:ender_dust') + .inputFluids(Fluid.of('tfg:ender_slurry', 500)) + .outputFluids(Fluid.of('tfg:enriched_ender_slurry', 500)) + .duration(200) + .EUt(2048) + + // ender air + + event.recipes.gtceu.end_dome('tfg:slurry_to_air') + .inputFluids(Fluid.of('tfg:ender_slurry', 25)) + .outputFluids(Fluid.of('gtceu:ender_air', 32000)) + .duration(200) + .EUt(1024) + .circuit(1) + + event.recipes.gtceu.end_dome('tfg:enriched_slurry_to_air') + .inputFluids(Fluid.of('tfg:enriched_ender_slurry', 25)) + .outputFluids(Fluid.of('gtceu:ender_air', 128000)) + .duration(200) + .EUt(1024) + .circuit(1) + + event.recipes.gtceu.end_dome('tfg:pearls') + .itemInputs('gtceu:quantum_eye') + .inputFluids(Fluid.of('tfg:ender_slurry', 10)) + .itemOutputs('2x minecraft:ender_pearl') + .duration(200) + .EUt(2048) + .circuit(2) + + // enderarium + + event.shaped('gtceu:end_dome', [ + 'DAD', + 'CEC', + 'FBF' + ], { + A: 'gtceu:ev_emitter', + B: 'minecraft:end_stone', + C: 'tfc:metal/bars/wrought_iron', + D: 'minecraft:end_crystal', + E: 'gtceu:ev_gas_collector', + F: 'gtceu:dense_obsidian_plate' + }).id('tfg:shaped/end_dome') + + // parts for the ender dome + + event.shaped('minecraft:end_crystal', [ + 'AAA', + 'ABA', + 'ACA' + ], { + A: 'gtceu:tempered_glass', + B: 'gtceu:quantum_eye', + C: '#forge:exquisite_gems' + }).id('tfg:shaped/end_crystal') + + // chorus fruit + + event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium') + .itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust') + .itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust') + .duration(500) + .EUt(480) + .circuit(1) + + event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium') + .itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust') + .itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust') + .duration(200) + .EUt(480) + + event.recipes.gtceu.large_chemical_reactor('tfg:kovarex') + .itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust') + .itemOutputs('41x gtceu:uranium_235_dust', '2x gtceu:uranium_dust') + .duration(600) + .EUt(GTValues.VA[GTValues.LuV]) + .circuit(2) + + // end stone + + + event.recipes.gtceu.chemical_bath('tfg:end_stone') + .itemInputs('#forge:stone') + .inputFluids(Fluid.of('gtceu:argon', 100)) + .itemOutputs('minecraft:end_stone') + .duration(100) + .EUt(2048) + + // dragon egg + + event.recipes.gtceu.chemical_bath('tfg:dragon_egg') + .itemInputs('#forge:eggs') + .inputFluids(Fluid.of('gtceu:thorium', 1296)) + .itemOutputs('minecraft:dragon_egg') + .duration(2000) + .EUt(2048) + + // end portal frame + + event.shaped('tfg:artificial_end_portal_frame', [ + 'A', + 'B', + 'C' + ], { + A: 'minecraft:ender_eye', + B: 'minecraft:cyan_carpet', + C: 'minecraft:end_stone' + }).id('tfg:shaped/artificial_end_portal_frame') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 43278537d..8670bb590 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -1,12 +1,346 @@ -const registerTFGItemTags = (event) => -{ - event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') - event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') - //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. - event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') - event.add('tfg:wood_dusts', 'gtceu:wood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') +const registerTFGItemTags = (event) => { + //Decorative Vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`) + event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`) + }) + event.add('tfg:decorative_vases', 'tfg:decorative_vase') + event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') + + // #region Paper from wood + + event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') + event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') + //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. + event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') + event.add('tfg:wood_dusts', 'gtceu:wood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') + + event.add('forge:wax', 'tfg:paraffin_wax') + event.add('forge:wax', 'firmalife:beeswax') + event.add('forge:wax', 'tfg:conifer_rosin') + + // #endregion + + // #region Medicines + + event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') + event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') + event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') + event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust') + event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust') + + event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed') + event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth') + event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley') + event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla') + event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry') + event.add('tfg:poison_ingredients', 'minecraft:red_mushroom') + + event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac') + event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail') + event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern') + event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura') + + event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea') + event.add('tfg:speed_ingredients', 'firmalife:raw_honey') + + event.add('tfg:slowness_ingredients', 'tfc:plant/marigold') + + event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria') + + event.add('tfg:haste_ingredients', 'minecraft:sugar') + event.add('tfg:haste_ingredients', 'afc:birch_sugar') + event.add('tfg:haste_ingredients', 'afc:maple_sugar') + + event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter') + event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal') + + event.add('tfg:night_vision_ingredients', 'tfc:food/carrot') + + event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') + + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed') + event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel') + + event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus') + event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust') + + event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') + event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') + + event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') + + event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') + event.add('tfg:luck_ingredients', 'tfc:plant/heather') + // #endregion + + //region Airplane Upgrades + global.AIRCRAFT_UPGRADES.forEach(value => { + event.add('immersive_aircraft:upgrades', `tfg:${value}`); + }) + + // #region 0.7.19 -> 0.9 conversion + + event.add('c:hidden_from_recipe_viewers', 'treetap:tap') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:black_steel_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:red_steel_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:blue_steel_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:iron_double_ingot') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:black_steel_double_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:red_steel_double_ingot') + event.add('c:hidden_from_recipe_viewers', 'gtceu:blue_steel_double_ingot') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_nugget') + event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_nugget') + event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_nugget') + event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_nugget') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:gold_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:iron_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:cobalt_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:rose_gold_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:aluminium_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:invar_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:lead_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:nickel_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:osmium_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:palladium_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:platinum_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:rhodium_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:silver_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_plate') + event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_plate') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:vanadium_block') + event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_block') + event.add('c:hidden_from_recipe_viewers', 'gtceu:brass_block') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:gold_purified_ore') + event.add('c:hidden_from_recipe_viewers', 'gtceu:copper_purified_ore') + event.add('c:hidden_from_recipe_viewers', 'gtceu:zinc_purified_ore') + event.add('c:hidden_from_recipe_viewers', 'gtceu:silver_purified_ore') + event.add('c:hidden_from_recipe_viewers', 'gtceu:tin_purified_ore') + event.add('c:hidden_from_recipe_viewers', 'gtceu:lead_purified_ore') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_copper') + event.add('c:hidden_from_recipe_viewers', 'minecraft:raw_copper') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_copper') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_gold') + event.add('c:hidden_from_recipe_viewers', 'minecraft:raw_gold') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_gold') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_tetrahedrite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_tetrahedrite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_tetrahedrite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_malachite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_malachite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_malachite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_hematite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_hematite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_hematite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_cassiterite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_cassiterite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_cassiterite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_bismuth') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_bismuth') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_bismuth') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_magnetite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_magnetite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_magnetite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_yellow_limonite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_yellow_limonite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_yellow_limonite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_sphalerite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_sphalerite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_sphalerite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_garnierite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_garnierite') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_garnierite') + + event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_silver') + event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_silver') + event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_silver') + + //#endregion +} + +const registerTFGBlockTags = (event) => { + + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + + // #region Nether blocks + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:rock/hardened', 'tfg:rock/hardened_deepslate') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone') + event.add('tfc:rock/hardened', 'tfg:rock/hardened_blackstone') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') + event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone') + + // #endregion +} + +const registerTFGFluidTags = (event) => { + + event.add('tfc:usable_in_pot', 'tfg:latex') + event.add('tfc:usable_in_barrel', 'tfg:latex') + event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') + + event.add('tfc:usable_in_pot', 'tfg:vulcanized_latex') + event.add('tfc:usable_in_barrel', 'tfg:vulcanized_latex') + event.add('tfc:usable_in_wooden_bucket', 'tfg:vulcanized_latex') + + event.add('tfc:usable_in_pot', 'tfg:conifer_pitch') + event.add('tfc:usable_in_barrel', 'tfg:conifer_pitch') + event.add('tfc:usable_in_wooden_bucket', 'tfg:conifer_pitch') +} + + +const registerTFGBiomeTags = (event) => { + + //#region TFG Structure Biomes + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') + event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') + + event.add('tfg:has_structure/aqueduct', 'tfc:plains') + event.add('tfg:has_structure/aqueduct', 'tfc:highlands') + event.add('tfg:has_structure/aqueduct', 'tfc:lowlands') + event.add('tfg:has_structure/aqueduct', 'tfc:badlands') + + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') + //#endregion + + // #region Nether biomes + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/lush_hollow') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/lush_hollow') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow') + event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow') + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/decaying_caverns') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/decaying_caverns') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns') + event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns') + event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns') + + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/basalt_deltas') + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/ash_forest') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/ash_forest') + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/lava_floes') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/lava_floes') + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/webbed_lair') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/webbed_lair') + + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/gneiss_caves') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/gneiss_caves') + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/diorite_caves') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/diorite_caves') + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/gabbro_caves') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/gabbro_caves') + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/granite_caves') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/granite_caves') + event.add('minecraft:has_structure/nether_fossil', 'tfg:nether/schist_caves') + event.add('minecraft:has_structure/bastion_remnant', 'tfg:nether/schist_caves') + + // #endregion +} + + +const registerTFGPlacedFeatures = (event) => { + + // #region Nether ores + + event.add('tfg:nether_veins', 'beneath:vein/cursecoal') + event.add('tfg:nether_veins', 'beneath:vein/sylvite') + event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') + + // Lower only + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_naquadah') + + // Full height + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnierite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_gold') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_graphite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_hematite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_limonite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_magnetite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_molybdenum') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_pitchblende') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_quartz') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sapphire') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_scheelite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sheldonite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_topaz') + + // Upper only + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_apatite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_basaltic_sands') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_bauxite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_beryllium') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_cassiterite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_copper') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet_tin') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lapis') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lubricant') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_manganese') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_monazite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_mica') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_olivine') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_redstone') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_saltpeter') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_silver') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sphalerite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sulfur') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_tetrahedrite') + + // #endregion + + + // #region Nether decorations + + event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') + event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') + event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') + + // #endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/treetap/data.js b/kubejs/server_scripts/treetap/data.js deleted file mode 100644 index ccaafbb3f..000000000 --- a/kubejs/server_scripts/treetap/data.js +++ /dev/null @@ -1,18 +0,0 @@ -// priority: 0 - -const registerTFCDataForTreeTap = (event) => { - registerTreeTapHeats(event) -} - -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ -const registerTreeTapHeats = (event) => { - event.itemHeat('treetap:tap', 0.2345, null, null) -} \ No newline at end of file diff --git a/kubejs/server_scripts/treetap/recipes.js b/kubejs/server_scripts/treetap/recipes.js index 07722e040..38a49e434 100644 --- a/kubejs/server_scripts/treetap/recipes.js +++ b/kubejs/server_scripts/treetap/recipes.js @@ -2,40 +2,6 @@ const registerTreeTapRecipes = (event) => { - // Удаление всех рецептов мода + //kill this off, this mod might even be removed in the future event.remove({ mod: 'treetap' }) - - // TreeTap - event.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) - .id('tfg:anvil/treetap') - - // TreeTap Heating - event.recipes.tfc.heating('treetap:tap', 1080) - .resultFluid(Fluid.of('gtceu:copper', 144)) - .id('tfg:heating/treetap') - - // Latex From Kapok - event.custom({ - type: "treetap:tap_extract", - log: { - "item": "tfc:wood/log/kapok" - }, - processing_time: 9600, - metal_result: { - item: "tfg:latex_bucket" - }, - wooden_result: { - item: "tfc:wooden_bucket", - nbt: "{fluid: {FluidName: \"tfg:latex\", Amount: 1000}}" - }, - life_cycle: [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0], - collect_bucket: true, - fluid_color: "#FBB982", - conditions: [ - { - type: "forge:mod_loaded", - modid: "tfc" - } - ] - }).id('tfg:treetap/latex') } \ No newline at end of file diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js new file mode 100644 index 000000000..cc9e09706 --- /dev/null +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -0,0 +1,611 @@ +// priority: 0 + +function registerVintageImprovementsRecipes(event) { + + event.remove({ mod: 'vintageimprovements' }) + + // #region Machines + + event.shaped('vintageimprovements:spring_coiling_machine', [ + 'CDF', + 'CAF', + 'EBE' + ], { + A: 'gtceu:ulv_machine_hull', + B: 'greate:steel_cogwheel', + C: '#forge:rods/steel', + D: '#forge:double_ingots/black_steel', + E: '#forge:small_gears/steel', + F: '#gtceu:circuits/ulv' + }).id('tfg:vi/shaped/spring_coiling_machine') + + event.shaped('vintageimprovements:vacuum_chamber', [ + 'EBE', + 'DAG', + 'FCF' + ], { + A: 'gtceu:ulv_machine_hull', + B: 'greate:steel_mechanical_pump', + C: 'create:mechanical_piston', + D: '#forge:springs/wrought_iron', + E: 'create:electron_tube', + F: '#forge:plates/black_steel', + G: 'create:precision_mechanism' + }).id('tfg:vi/shaped/vacuum_chamber') + + event.shaped('vintageimprovements:vibrating_table', [ + 'BCB', + 'DAD', + 'BEB' + ], { + A: 'gtceu:ulv_machine_hull', + B: '#forge:springs/wrought_iron', + C: '#forge:plates/black_steel', + D: '#gtceu:circuits/ulv', + E: 'greate:steel_cogwheel' + }).id('tfg:vi/shaped/vibrating_table') + + event.recipes.create.mechanical_crafting('vintageimprovements:centrifuge', [ + ' A ', + ' B ', + ' DAD ', + 'ABACABA', + ' EAE ', + ' B ', + ' A ' + ], { + A: '#forge:plates/treated_wood', + B: '#forge:rods/long/black_steel', + C: 'create:andesite_casing', + D: '#forge:frames/treated_wood', + E: 'greate:steel_cogwheel' + }).id('tfg:vi/mechanical_crafting/centrifuge') + + event.shaped('vintageimprovements:curving_press', [ + 'DBD', + 'FAF', + 'CEC' + ], { + A: 'gtceu:ulv_machine_hull', + B: 'greate:steel_shaft', + C: '#forge:rods/steel', + D: '#gtceu:circuits/ulv', + E: '#forge:plates/black_steel', + F: '#forge:springs/wrought_iron' + }).id('tfg:vi/shaped/curving_press') + + event.shapeless('vintageimprovements:curving_press', ['create:mechanical_press', '#forge:tools/files']) + .id('tfg:shapeless/mech_press_converting') + + event.shaped('vintageimprovements:helve_hammer', [ + 'F A', + 'BBE', + 'C D' + ], { + A: '#forge:frames/bronze', + B: '#tfg:hardwood', + C: '#forge:double_ingots/iron', + D: 'greate:andesite_alloy_cogwheel', + E: '#minecraft:planks', + F: '#forge:tools/hammers' + }).id('tfg:vi/shaped/helve_hammer_bronze') + + event.shaped('vintageimprovements:helve_hammer', [ + 'F A', + 'BBE', + 'C D' + ], { + A: '#forge:frames/black_bronze', + B: '#tfg:hardwood', + C: '#forge:double_ingots/iron', + D: 'greate:andesite_alloy_cogwheel', + E: '#minecraft:planks', + F: '#forge:tools/hammers' + }).id('tfg:vi/shaped/helve_hammer_black_bronze') + + event.shaped('vintageimprovements:helve_hammer', [ + 'F A', + 'BBE', + 'C D' + ], { + A: '#forge:frames/bismuth_bronze', + B: '#tfg:hardwood', + C: '#forge:double_ingots/iron', + D: 'greate:andesite_alloy_cogwheel', + E: '#minecraft:planks', + F: '#forge:tools/hammers' + }).id('tfg:vi/shaped/helve_hammer_bismuth_bronze') + + event.recipes.create.mechanical_crafting('vintageimprovements:lathe', [ + 'DEEFE', + 'AB CG', + 'DEEFE' + ], { + A: 'gtceu:ulv_machine_hull', + B: 'minecraft:piston', + C: 'minecraft:diamond', + D: '#forge:plates/treated_wood', + E: '#forge:rods/black_steel', + F: '#gtceu:circuits/ulv', + G: 'create:precision_mechanism' + }).id('tfg:vi/mechanical_crafting/lathe') + + event.shaped('vintageimprovements:laser', [ + 'FBF', + 'EAE', + 'DCD' + ], { + A: 'gtceu:ulv_machine_hull', + B: 'create:precision_mechanism', + C: 'tfc:lens', + D: 'gtceu:red_alloy_single_wire', + E: 'minecraft:piston', + F: '#gtceu:circuits/ulv' + }).id('tfg:vi/shaped/laser') + + // #endregion + + // #region Components + + event.recipes.createSequencedAssembly([ + 'vintageimprovements:redstone_module', + ], '#forge:plates/red_alloy', [ + event.recipes.createDeploying('vintageimprovements:incomplete_redstone_module', ['vintageimprovements:incomplete_redstone_module', '#forge:small_gears/brass']), + event.recipes.createDeploying('vintageimprovements:incomplete_redstone_module', ['vintageimprovements:incomplete_redstone_module', '#forge:bolts/red_alloy']), + event.recipes.createFilling('vintageimprovements:incomplete_redstone_module', ['vintageimprovements:incomplete_redstone_module', Fluid.of('gtceu:redstone', 144)]), + ]).transitionalItem('vintageimprovements:incomplete_redstone_module').loops(1).id('tfg:vi/sequenced_assembly/redstone_module') + + event.recipes.gtceu.assembler('tfg:vi/redstone_module') + .itemInputs('#forge:plates/red_alloy', '#forge:small_gears/brass', '#forge:bolts/red_alloy') + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('vintageimprovements:redstone_module') + .duration(400) + .EUt(20) + + event.shaped('vintageimprovements:recipe_card', [ + ' B ', + 'CA ', + ' B ' + ], { + A: '#forge:plates/brass', + B: '#forge:screws/wrought_iron', + C: '#forge:tools/screwdrivers' + }).id('tfg:vi/shaped/recipe_card') + + event.shaped('vintageimprovements:helve_hammer_slot_cover', [ + 'B B', + 'CA ', + 'B B' + ], { + A: '#forge:plates/brass', + B: '#forge:screws/wrought_iron', + C: '#forge:tools/screwdrivers' + }) + + // #endregion + + //#region Hammer + + const STARTING_BLOWS = 6; + + // Tier 1 + let HAMMERING_MATERIALS = [ + { material: GTMaterials.Copper, blows: STARTING_BLOWS }, + { material: GTMaterials.Zinc, blows: STARTING_BLOWS }, + { material: GTMaterials.Nickel, blows: STARTING_BLOWS }, + { material: GTMaterials.Gold, blows: STARTING_BLOWS }, + { material: GTMaterials.Bismuth, blows: STARTING_BLOWS }, + { material: GTMaterials.RoseGold, blows: STARTING_BLOWS }, + { material: GTMaterials.SterlingSilver, blows: STARTING_BLOWS } + ] + + let HAMMERING_ITEMS = [ + { input: 'tfc:raw_iron_bloom', output: 'tfc:refined_iron_bloom', blows: STARTING_BLOWS }, + { input: 'tfc:refined_iron_bloom', output: 'gtceu:wrought_iron_ingot', blows: STARTING_BLOWS } + ] + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'copper'); + x.blows--; + }) + + // Tier 2 + HAMMERING_MATERIALS.push({ material: GTMaterials.Bronze, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.BlackBronze, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.BismuthBronze, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.Brass, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.RedAlloy, blows: STARTING_BLOWS }) + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'bronze'); + generateHammeringRecipe(event, x.material, x.blows, 'black_bronze'); + generateHammeringRecipe(event, x.material, x.blows, 'bismuth_bronze'); + x.blows--; + }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'bronze'); + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'black_bronze'); + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'bismuth_bronze'); + x.blows--; + }) + + // Tier 3 + HAMMERING_MATERIALS.push({ material: GTMaterials.TinAlloy, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.Iron, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.WroughtIron, blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:metal/ingot/pig_iron', output: 'tfc:metal/ingot/high_carbon_steel', blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:metal/ingot/high_carbon_steel', output: 'gtceu:steel_ingot', blows: STARTING_BLOWS }) + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'wrought_iron'); + x.blows--; + }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'wrought_iron'); + x.blows--; + }) + + // Tier 4 + HAMMERING_MATERIALS.push({ material: GTMaterials.Steel, blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:metal/ingot/high_carbon_black_steel', output: 'tfc:metal/ingot/black_steel', blows: STARTING_BLOWS }) + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'steel'); + x.blows--; + }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'steel'); + x.blows--; + }) + + // Tier 5 + HAMMERING_MATERIALS.push({ material: GTMaterials.BlackSteel, blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:metal/ingot/high_carbon_red_steel', output: 'tfc:metal/ingot/red_steel', blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:metal/ingot/high_carbon_blue_steel', output: 'tfc:metal/ingot/blue_steel', blows: STARTING_BLOWS }) + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'black_steel'); + x.blows--; + }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'black_steel'); + x.blows--; + }) + + // Tier 6 + HAMMERING_MATERIALS.push({ material: GTMaterials.RedSteel, blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.push({ material: GTMaterials.BlueSteel, blows: STARTING_BLOWS }) + + HAMMERING_MATERIALS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'red_steel'); + generateHammeringRecipe(event, x.material, x.blows, 'blue_steel'); + x.blows--; + }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'red_steel'); + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'blue_steel'); + x.blows--; + }) + // #endregion + + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + + // #region Coiling + + if (material.hasFlag(MaterialFlags.GENERATE_ROD) && material.hasFlag(MaterialFlags.GENERATE_SPRING_SMALL)) { + event.custom({ + type: 'vintageimprovements:coiling', + ingredients: [ChemicalHelper.get(TagPrefix.rod, material, 1)], + results: [ChemicalHelper.get(TagPrefix.springSmall, material, 1)], + processingTime: (material.getMass() / 2) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/coiling/${material.getName()}_small_spring`) + } + + if (material.hasFlag(MaterialFlags.GENERATE_LONG_ROD) && material.hasFlag(MaterialFlags.GENERATE_SPRING)) { + event.custom({ + type: 'vintageimprovements:coiling', + ingredients: [ChemicalHelper.get(TagPrefix.rodLong, material, 1)], + results: [ChemicalHelper.get(TagPrefix.spring, material, 1)], + processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/coiling/${material.getName()}_spring`) + } + + const singleWire = ChemicalHelper.get(TagPrefix.wireGtSingle, material, 2) + if (singleWire != null) { + event.custom({ + type: 'vintageimprovements:coiling', + ingredients: [ChemicalHelper.get(TagPrefix.ingot, material, 1)], + results: [singleWire], + processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/coiling/${material.getName()}_single_wire`) + } + + if (material.hasFlag(MaterialFlags.GENERATE_FINE_WIRE) && singleWire != null) { + event.custom({ + type: 'vintageimprovements:coiling', + ingredients: [ChemicalHelper.get(TagPrefix.wireGtSingle, material, 1)], + results: [ChemicalHelper.get(TagPrefix.wireFine, material, 4)], + processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`) + } + + // #endregion + + // #region Vibrating + + if (material.hasProperty(PropertyKey.ORE) && material.hasProperty(PropertyKey.GEM)) { + + let highYield = material.hasFlag(MaterialFlags.HIGH_SIFTER_OUTPUT) + + // aaaaargh I hate these custom type recipes + let gem = `gtceu:${material.getName()}_gem`; + if (material == GTMaterials.Coal) + gem = 'minecraft:coal' + else if (material == GTMaterials.Diamond) + gem = 'minecraft:diamond' + else if (material == GTMaterials.Emerald) + gem = 'minecraft:emerald' + else if (material == GTMaterials.Lapis) + gem = 'minecraft:lapis_lazuli' + else if (material == GTMaterials.NetherQuartz) + gem = 'minecraft:quartz' + else if (material == GTMaterials.Amethyst) + gem = 'minecraft:amethyst_shard' + else if (material == GTMaterials.CertusQuartz) + gem = 'ae2:certus_quartz_crystal' + + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ item: `gtceu:purified_${material.getName()}_ore` }], + results: [ + { item: `gtceu:exquisite_${material.getName()}_gem`, chance: highYield ? 0.05 : 0.03 }, + { item: `gtceu:flawless_${material.getName()}_gem`, chance: highYield ? 0.15 : 0.10 }, + { item: gem, chance: highYield ? 0.50 : 0.35 }, + { item: `gtceu:pure_${material.getName()}_dust`, chance: highYield ? 0.25 : 0.50 }, + { item: `gtceu:flawed_${material.getName()}_gem`, chance: highYield ? 0.20 : 0.25 }, + { item: `gtceu:chipped_${material.getName()}_gem`, chance: highYield ? 0.30 : 0.35 } + ], + processingTime: 200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/${material.getName()}`) + } + + // #endregion + + // #region Lathe + + if (material.hasFlag(MaterialFlags.GENERATE_ROD)) { + let latheInput = material.hasProperty(PropertyKey.GEM) + ? ChemicalHelper.get(TagPrefix.gem, material, 1) + : ChemicalHelper.get(TagPrefix.ingot, material, 1) + + if (latheInput != null) { + event.custom({ + type: 'vintageimprovements:turning', + ingredients: [latheInput], + results: [ChemicalHelper.get(TagPrefix.rod, material, 2)], + processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/lathe/${material.getName()}_to_rod`) + } + } + + if (material.hasFlag(MaterialFlags.GENERATE_BOLT_SCREW)) { + event.custom({ + type: 'vintageimprovements:turning', + ingredients: [ChemicalHelper.get(TagPrefix.bolt, material, 1)], + results: [ChemicalHelper.get(TagPrefix.screw, material, 1)], + processingTime: Math.max(1, material.getMass() / 8) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/lathe/${material.getName()}_bolt_to_screw`) + } + + // #endregion + + // #region Pressurizing + + if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + + event.custom({ + type: 'vintageimprovements:pressurizing', + ingredients: [ingotItem, ingotItem, { item: 'tfc:powder/flux' }], + "heatRequirement": "heated", + results: [ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)], + processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/pressurizing/${material.getName()}_double_ingot`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + + event.custom({ + type: 'vintageimprovements:pressurizing', + ingredients: [plateItem, plateItem, { item: 'tfc:powder/flux' }], + "heatRequirement": "heated", + results: [ChemicalHelper.get(TagPrefix.plateDouble, material, 1)], + processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/pressurizing/${material.getName()}_double_plate`) + } + + // #endregion + }) + + + // #region Vibrating + + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ tag: 'tfc:rock/gravel' }], + results: [ + { item: 'minecraft:flint' }, + { item: 'minecraft:flint', chance: 0.9 }, + { item: 'minecraft:flint', chance: 0.8 }, + { item: 'minecraft:flint', chance: 0.6 }, + { item: 'minecraft:flint', chance: 0.33 }, + { item: 'minecraft:flint', chance: 0.25 } + ], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/gravel`) + + global.TFC_STONE_TYPES.forEach(stone => { + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ item: `tfc:deposit/native_gold/${stone}` }], + results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Gold, 1)], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/deposits/${stone}_gold`) + + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ item: `tfc:deposit/native_copper/${stone}` }], + results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Copper, 1)], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/deposits/${stone}_copper`) + + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ item: `tfc:deposit/native_silver/${stone}` }], + results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Silver, 1)], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/deposits/${stone}_silver`) + + event.custom({ + type: 'vintageimprovements:vibrating', + ingredients: [{ item: `tfc:deposit/cassiterite/${stone}` }], + results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Cassiterite, 1)], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/vibrating/deposits/${stone}_cassiterite`) + }) + + // #endregion + + // #region Lathe + + event.custom({ + type: 'vintageimprovements:turning', + ingredients: [{ tag: 'forge:glass' }], + results: [{ item: 'tfc:lens' }], + processingTime: 100 + }).id(`tfg:vi/lathe/lens`) + + // #endregion + + // #region Curving Press + + event.forEachRecipe([{ type: 'gtceu:extruder' }], + recipe => { + let r = JSON.parse(recipe.json) + + // LV recipes only + let EUt = (r.tickInputs && r.tickInputs.eu) ? r.tickInputs.eu[0].content : null; + if (!(EUt <= 32)) { return } + // Skip this one + if (r.outputs.item[0].content.ingredient.item == "gtceu:nan_certificate") { return } + + let input = r.inputs.item[0].content.ingredient; + input.count = r.inputs.item[0].content.count; + + let output = r.outputs.item[0].content.ingredient; + output.count = r.outputs.item[0].content.count; + + event.custom({ + type: 'vintageimprovements:curving', + ingredients: [ input ], + itemAsHead: r.inputs.item[1].content.ingredient.item, + results: [ output ], + processingTime: r.duration * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${recipe.getId().split(':')[1]}`) + } + ) + + // #endregion + + // #region Centrifuge + + // Copied from https://github.com/ThePansmith/Monifactory/blob/15c109298104e0c0b5083b266264bd6c158c6154/kubejs/server_scripts/mods/optionalCompats/create.js#L251 + event.forEachRecipe([{ type: 'gtceu:centrifuge' }], + recipe => { + let r = JSON.parse(recipe.json) + + // ULV recipes only + let EUt = (r.tickInputs && r.tickInputs.eu) ? r.tickInputs.eu[0].content : null; + if (!(EUt <= 8)) { return } + + let inputs = []; + if (r.inputs.item) { + r.inputs.item.forEach(i => { + let ins = i.content.ingredient; + + if (i.content.count) + ins.count = i.content.count; + + inputs.push(ins) + }) + } + else return; + + let outputs = []; + if (r.outputs.item) { + r.outputs.item.forEach(i => { + let out = i.content.ingredient; + + if (i.content.count) + out.count = i.content.count; + + if (i.chance != 0 && i.chance != 10000) + out.chance = i.chance / 10000; + + outputs.push(out) + }) + } + else return; + + event.custom({ + type: 'vintageimprovements:centrifugation', + ingredients: inputs, + results: outputs, + processingTime: r.duration * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/centrifuge/${recipe.getId().split(':')[1]}`) + } + ) + + // #endregion + + // #region Vacuum + + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'tfc:glue' }], + results: [{ fluid: 'gtceu:glue', amount: 50 }], + heatRequirement: "heated", + processingTime: 100 + }).id('tfg:vi/vacuumizing/glue') + + // TODO: Remove me when we upgrade Greate and can just slap rubber onto wires again + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'gtceu:rubber_dust' }], + results: [{ fluid: 'gtceu:rubber', amount: 144 }], + heatRequirement: "heated", + processingTime: 100 + }).id('tfg:vi/vacuum/rubber') + + // #endregion +} + +function generateHammeringRecipe(event, material, blows, anvil) { + event.custom({ + type: 'vintageimprovements:hammering', + hammerBlows: blows, + ingredients: [ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)], + results: [ChemicalHelper.get(TagPrefix.plate, material, 1)], + anvilBlock: `tfc:metal/anvil/${anvil}` + }).id(`tfg:vi/hammer/${material.getName()}_plate_on_${anvil}_anvil`) +} + +function generateHammeringRecipeFromItem(event, input, output, blows, anvil) { + event.custom({ + type: 'vintageimprovements:hammering', + hammerBlows: blows, + ingredients: [{ item: input }], + results: [{ item: output }], + anvilBlock: `tfc:metal/anvil/${anvil}` + }).id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) +} \ No newline at end of file diff --git a/kubejs/server_scripts/vintage_improvements/tags.js b/kubejs/server_scripts/vintage_improvements/tags.js new file mode 100644 index 000000000..dc872695d --- /dev/null +++ b/kubejs/server_scripts/vintage_improvements/tags.js @@ -0,0 +1,59 @@ +// priority: 0 + +function registerVintageImprovementsItemTags(event) { + + global.VINTAGE_IMPROVEMENTS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + event.add('c:hidden_from_recipe_viewers', '#vintageimprovements:springs') + event.add('c:hidden_from_recipe_viewers', '#vintageimprovements:small_springs') + event.add('c:hidden_from_recipe_viewers', '#forge:wires') + + event.add('vintageimprovements:custom_hammering_blocks', '#tfc:anvils') + + // Add more if needed, this is for all the LV recipes + event.add('vintageimprovements:curving_heads', 'tfg:sword_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:mining_hammer_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:pickaxe_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:shovel_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:axe_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:hoe_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:scythe_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:file_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:hammer_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:saw_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:knife_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:butchery_knife_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:spade_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:propick_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:javelin_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:chisel_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:mace_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'tfg:mattock_head_extruder_mold') + event.add('vintageimprovements:curving_heads', 'gtceu:cell_extruder_mold') + event.add('vintageimprovements:curving_heads', 'gtceu:ingot_extruder_mold') + event.add('vintageimprovements:curving_heads', 'gtceu:bottle_extruder_mold') + event.add('vintageimprovements:curving_heads', 'gtceu:foil_extruder_mold') +} + + +function registerVintageImprovementsBlockTags(event) { + + global.VINTAGE_IMPROVEMENTS_DISABLED_BLOCKS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + event.add('vintageimprovements:custom_hammering_blocks', '#tfc:anvils') +} + + +function registerVintageImprovementsFluidTags(event) { + + global.VINTAGE_IMPROVEMENTS_DISABLED_FLUIDS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/water_flasks/recipes.js b/kubejs/server_scripts/water_flasks/recipes.js index 0ee9fec5a..7e60fa1fd 100644 --- a/kubejs/server_scripts/water_flasks/recipes.js +++ b/kubejs/server_scripts/water_flasks/recipes.js @@ -1,56 +1,71 @@ // priority: 0 const registerWaterFlasksRecipes = (event) => { - - // Декрафт Unfinished Water Flask - event.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_unfinished_iron_flask`) - // Декрафт Broken Water Flask - event.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_broken_iron_flask`) + // Декрафт Unfinished Water Flask + event.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .id(`waterflasks:heating/wrought_iron_unfinished_iron_flask`) - // Декрафт Water Flask - event.recipes.tfc.heating('waterflasks:iron_flask', 1535) - .resultFluid(Fluid.of('gtceu:iron', 144)) - .useDurability(true) - .id(`waterflasks:heating/wrought_iron_iron_flask`) + // Декрафт Broken Water Flask + event.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .id(`waterflasks:heating/wrought_iron_broken_iron_flask`) - //#region Кожанная фласка + // Декрафт Water Flask + event.recipes.tfc.heating('waterflasks:iron_flask', 1535) + .resultFluid(Fluid.of('gtceu:iron', 144)) + .useDurability(true) + .id(`waterflasks:heating/wrought_iron_iron_flask`) - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask') - .itemInputs('3x #forge:leather', '2x #forge:string') - .circuit(1) - .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) + // Red steel flask + event.recipes.tfc.heating('waterflasks:red_steel_flask', 1535) + .resultFluid(Fluid.of('gtceu:red_steel', 144)) + .useDurability(true) + .id(`waterflasks:heating/red_steel_flask`) - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask_repair') - .itemInputs('waterflasks:broken_leather_flask', '#forge:leather', '2x #forge:string') - .circuit(2) - .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) + //#region Кожанная фласка - //#endregion + event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask') + .itemInputs('3x #forge:leather', '2x #forge:string') + .circuit(1) + .itemOutputs('waterflasks:leather_flask') + .duration(250) + .EUt(16) - //#region Железная фласка + event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask_repair') + .itemInputs('waterflasks:broken_leather_flask', '#forge:leather', '2x #forge:string') + .circuit(2) + .itemOutputs('waterflasks:leather_flask') + .duration(250) + .EUt(16) - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask') - .itemInputs('tfc:burlap_cloth', '#forge:string', '#forge:leather', '#forge:plates/wrought_iron') - .circuit(1) - .itemOutputs('waterflasks:iron_flask') - .duration(250) - .EUt(16) + //#endregion - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask_repair') - .itemInputs('waterflasks:broken_iron_flask', 'tfc:burlap_cloth', '#forge:string', '#forge:leather') - .circuit(2) - .itemOutputs('waterflasks:iron_flask') - .duration(250) - .EUt(16) + //#region Железная фласка - //#endregion + event.replaceInput({ mod: 'waterflasks' }, 'tfc:burlap_cloth', '#forge:cloth') + + event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask') + .itemInputs('2x #forge:cloth', '#forge:string', '#forge:leather', '#forge:plates/wrought_iron') + .circuit(5) + .itemOutputs('waterflasks:iron_flask') + .duration(250) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask_repair') + .itemInputs('waterflasks:broken_iron_flask', '#forge:cloth', '#forge:string', '#forge:leather') + .circuit(6) + .itemOutputs('waterflasks:iron_flask') + .duration(250) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:water_flasks/red_steel_flask') + .itemInputs('2x tfc:silk_cloth', '#forge:string', '#forge:leather', '#forge:plates/red_steel') + .circuit(5) + .itemOutputs('waterflasks:red_steel_flask') + .duration(250) + .EUt(16) + + //#endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/advancedperipherals/constants.js b/kubejs/startup_scripts/advancedperipherals/constants.js new file mode 100644 index 000000000..9dbec0094 --- /dev/null +++ b/kubejs/startup_scripts/advancedperipherals/constants.js @@ -0,0 +1,9 @@ +// priority: 0 + +global.ADVANCED_PERIPHERALS_DISABLED_ITEMS = [ + 'advancedperipherals:peripheral_casing', + 'advancedperipherals:rs_bridge', + 'advancedperipherals:energy_detector', + 'advancedperipherals:colony_integrator', + 'advancedperipherals:computer_tool' +]; diff --git a/kubejs/startup_scripts/ae2/constants.js b/kubejs/startup_scripts/ae2/constants.js index df280d22d..c9d05dd58 100644 --- a/kubejs/startup_scripts/ae2/constants.js +++ b/kubejs/startup_scripts/ae2/constants.js @@ -84,7 +84,8 @@ global.AE2_DISABLED_ITEMS = [ 'ae2:silicon', 'ae2:sky_dust', 'ae2:creative_energy_cell', - 'ae2:tiny_tnt' + 'ae2:tiny_tnt', + 'ae2:crystal_resonance_generator' ]; // Glass Cable diff --git a/kubejs/startup_scripts/ae2/materials.js b/kubejs/startup_scripts/ae2/materials.js new file mode 100644 index 000000000..9c3c86d72 --- /dev/null +++ b/kubejs/startup_scripts/ae2/materials.js @@ -0,0 +1,17 @@ +// priority: 0 + +const registerAE2Materials = (event) => { + event.create('tfg:fluix') + .liquid() + .gem(1) + .iconSet(GTMaterialIconSet.CERTUS) + .flags( + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.CRYSTALLIZABLE, + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.FORCE_GENERATE_BLOCK + ) + .components('1x silicon', '2x oxygen') + .color(0x6D5BB6) + .secondaryColor(0x1E1932) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/ae2/tag_prefixes.js b/kubejs/startup_scripts/ae2/tag_prefixes.js new file mode 100644 index 000000000..2c03f700b --- /dev/null +++ b/kubejs/startup_scripts/ae2/tag_prefixes.js @@ -0,0 +1,17 @@ +// priority: 0 + +const registerAE2TagPrefixes = (event) => { + const $AE_BLOCKS = Java.loadClass('appeng.core.definitions.AEBlocks'); + const $AE_ITEMS = Java.loadClass('appeng.core.definitions.AEItems'); + + const Fluix = GTCEuAPI.materialManager.getMaterial('tfg:fluix') + + TagPrefix.block.setIgnored(Fluix, $AE_BLOCKS.FLUIX_BLOCK); + TagPrefix.dust.setIgnored(Fluix, $AE_ITEMS.FLUIX_DUST); + TagPrefix.gem.setIgnored(Fluix, $AE_ITEMS.FLUIX_CRYSTAL); +; + TagPrefix.dust.setIgnored(GTMaterials.CertusQuartz, $AE_ITEMS.CERTUS_QUARTZ_DUST); + TagPrefix.gem.setIgnored(GTMaterials.CertusQuartz, $AE_ITEMS.CERTUS_QUARTZ_CRYSTAL); + + TagPrefix.dust.setIgnored(GTMaterials.EnderPearl, $AE_ITEMS.ENDER_DUST); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/afc/constants.js b/kubejs/startup_scripts/afc/constants.js new file mode 100644 index 000000000..2d88df1c8 --- /dev/null +++ b/kubejs/startup_scripts/afc/constants.js @@ -0,0 +1,168 @@ +global.AFC_DISABLED_ITEMS = [ + // Axles + 'afc:wood/axle/baobab', + 'afc:wood/axle/eucalyptus', + 'afc:wood/axle/mahogany', + 'afc:wood/axle/hevea', + 'afc:wood/axle/tualang', + 'afc:wood/axle/teak', + 'afc:wood/axle/cypress', + 'afc:wood/axle/fig', + 'afc:wood/axle/ironwood', + 'afc:wood/axle/ipe', + + // Bladed Axles + 'afc:wood/bladed_axle/baobab', + 'afc:wood/bladed_axle/eucalyptus', + 'afc:wood/bladed_axle/mahogany', + 'afc:wood/bladed_axle/hevea', + 'afc:wood/bladed_axle/tualang', + 'afc:wood/bladed_axle/teak', + 'afc:wood/bladed_axle/cypress', + 'afc:wood/bladed_axle/fig', + 'afc:wood/bladed_axle/ironwood', + 'afc:wood/bladed_axle/ipe', + + // Encased Axles + 'afc:wood/encased_axle/baobab', + 'afc:wood/encased_axle/eucalyptus', + 'afc:wood/encased_axle/mahogany', + 'afc:wood/encased_axle/hevea', + 'afc:wood/encased_axle/tualang', + 'afc:wood/encased_axle/teak', + 'afc:wood/encased_axle/cypress', + 'afc:wood/encased_axle/fig', + 'afc:wood/encased_axle/ironwood', + 'afc:wood/encased_axle/ipe', + + // Clutches + 'afc:wood/clutch/baobab', + 'afc:wood/clutch/eucalyptus', + 'afc:wood/clutch/mahogany', + 'afc:wood/clutch/hevea', + 'afc:wood/clutch/tualang', + 'afc:wood/clutch/teak', + 'afc:wood/clutch/cypress', + 'afc:wood/clutch/fig', + 'afc:wood/clutch/ironwood', + 'afc:wood/clutch/ipe', + + // Gear Boxes + 'afc:wood/gear_box/baobab', + 'afc:wood/gear_box/eucalyptus', + 'afc:wood/gear_box/mahogany', + 'afc:wood/gear_box/hevea', + 'afc:wood/gear_box/tualang', + 'afc:wood/gear_box/teak', + 'afc:wood/gear_box/cypress', + 'afc:wood/gear_box/fig', + 'afc:wood/gear_box/ironwood', + 'afc:wood/gear_box/ipe', + + // Water Wheels + 'afc:wood/water_wheel/baobab', + 'afc:wood/water_wheel/eucalyptus', + 'afc:wood/water_wheel/mahogany', + 'afc:wood/water_wheel/hevea', + 'afc:wood/water_wheel/tualang', + 'afc:wood/water_wheel/teak', + 'afc:wood/water_wheel/cypress', + 'afc:wood/water_wheel/fig', + 'afc:wood/water_wheel/ironwood', + 'afc:wood/water_wheel/ipe', + + // Boat + 'afc:wood/boat/baobab', + 'afc:wood/boat/eucalyptus', + 'afc:wood/boat/mahogany', + 'afc:wood/boat/hevea', + 'afc:wood/boat/tualang', + 'afc:wood/boat/teak', + 'afc:wood/boat/cypress', + 'afc:wood/boat/fig', + 'afc:wood/boat/ironwood', + 'afc:wood/boat/ipe', + + //rubber + 'afc:rubber_bar' +] + +global.AFC_WOOD_TYPES = +[ + 'baobab', + 'eucalyptus', + 'mahogany', + 'hevea', + 'tualang', + 'teak', + 'cypress', + 'fig', + 'ironwood', + 'ipe' +] + +global.AFC_SOFTWOOD_TYPES = +[ + 'tualang', + 'cypress', + 'fig', +] + +global.AFC_HARDWOOD_TYPES = +[ + 'baobab', + 'eucalyptus', + 'mahogany', + 'hevea', + 'teak', + 'ironwood', + 'ipe' +] + +global.AFC_SAPLINGS = [ + { sapling: 'baobab', log: 'afc:wood/log/baobab' }, + { sapling: 'eucalyptus', log: 'afc:wood/log/eucalyptus' }, + { sapling: 'mahogany', log: 'afc:wood/log/mahogany' }, + { sapling: 'hevea', log: 'afc:wood/log/hevea' }, + { sapling: 'tualang', log: 'afc:wood/log/tualang' }, + { sapling: 'teak', log: 'afc:wood/log/teak' }, + { sapling: 'cypress', log: 'afc:wood/log/cypress' }, + { sapling: 'fig', log: 'afc:wood/log/fig' }, + { sapling: 'ironwood', log: 'afc:wood/log/ironwood' }, + { sapling: 'ipe', log: 'afc:wood/log/ipe' }, + { sapling: 'gum_arabic', log: 'afc:wood/log/gum_arabic' }, + { sapling: 'acacia_koa', log: 'tfc:wood/log/acacia' }, + { sapling: 'poplar', log: 'afc:wood/log/poplar' }, + { sapling: 'mpingo_blackwood', log: 'tfc:wood/log/blackwood' }, + { sapling: 'mountain_fir', log: 'tfc:wood/log/douglas_fir' }, + { sapling: 'balsam_fir', log: 'tfc:wood/log/douglas_fir' }, + { sapling: 'scrub_hickory', log: 'tfc:wood/log/hickory' }, + { sapling: 'red_silk_cotton', log: 'tfc:wood/log/kapok' }, + { sapling: 'bigleaf_maple', log: 'tfc:wood/log/maple' }, + { sapling: 'weeping_maple', log: 'tfc:wood/log/maple' }, + { sapling: 'black_oak', log: 'afc:wood/log/black_oak' }, + { sapling: 'live_oak', log: 'tfc:wood/log/oak' }, + { sapling: 'jaggery_palm', log: 'tfc:wood/log/palm' }, + { sapling: 'stone_pine', log: 'tfc:wood/log/pine' }, + { sapling: 'red_pine', log: 'tfc:wood/log/pine' }, + { sapling: 'tamarack', log: 'tfc:wood/log/pine' }, + { sapling: 'giant_rosewood', log: 'tfc:wood/log/rosewood' }, + { sapling: 'coast_redwood', log: 'tfc:wood/log/sequoia' }, + { sapling: 'coast_spruce', log: 'tfc:wood/log/spruce' }, + { sapling: 'sitka_spruce', log: 'tfc:wood/log/spruce' }, + { sapling: 'black_spruce', log: 'tfc:wood/log/spruce' }, + { sapling: 'atlas_cedar', log: 'tfc:wood/log/white_cedar' }, + { sapling: 'weeping_willow', log: 'tfc:wood/log/willow' }, + { sapling: 'rainbow_eucalyptus', log: 'afc:wood/log/rainbow_eucalyptus' }, + { sapling: 'mountain_ash', log: 'tfc:wood/log/ash' }, + { sapling: 'rubber_fig', log: 'afc:wood/log/rubber_fig' }, + { sapling: 'redcedar', log: 'afc:wood/log/redcedar' }, + { sapling: 'weeping_cypress', log: 'afc:wood/log/cypress' }, + { sapling: 'bald_cypress', log: 'afc:wood/log/cypress' }, + { sapling: 'sapele_mahogany', log: 'afc:wood/log/mahogany' }, + { sapling: 'small_leaf_mahogany', log: 'afc:wood/log/mahogany' }, + { sapling: 'iroko_teak', log: 'afc:wood/log/teak' }, + { sapling: 'flame_of_the_forest', log: 'afc:wood/log/teak' }, + { sapling: 'lebombo_ironwood', log: 'afc:wood/log/ironwood' }, + { sapling: 'horsetail_ironwood', log: 'afc:wood/log/ironwood' } +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/alekiroofs/constants.js b/kubejs/startup_scripts/alekiroofs/constants.js new file mode 100644 index 000000000..3bbabc48c --- /dev/null +++ b/kubejs/startup_scripts/alekiroofs/constants.js @@ -0,0 +1,16 @@ +// priority: 0 + +global.ALEKIROOFS_DISABLED_ITEMS = [ + 'alekiroofs:oak_roofing', + 'alekiroofs:spruce_roofing', + 'alekiroofs:birch_roofing', + 'alekiroofs:jungle_roofing', + 'alekiroofs:acacia_roofing', + 'alekiroofs:dark_oak_roofing', + 'alekiroofs:mangrove_roofing', + 'alekiroofs:cherry_roofing', + 'alekiroofs:crimson_roofing', + 'alekiroofs:warped_roofing', + 'alekiroofs:brick_roofing', + 'alekiroofs:bamboo_roofing' +]; diff --git a/kubejs/startup_scripts/alekiships/constants.js b/kubejs/startup_scripts/alekiships/constants.js new file mode 100644 index 000000000..47150dd0d --- /dev/null +++ b/kubejs/startup_scripts/alekiships/constants.js @@ -0,0 +1,5 @@ +global.ALEKISHIPS_DISABLED_ITEMS = [ + 'alekiships:cannon', + 'alekiships:watercraft_frame_angled', + 'alekiships:watercraft_frame_flat' +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js new file mode 100644 index 000000000..837c8bcea --- /dev/null +++ b/kubejs/startup_scripts/beneath/constants.js @@ -0,0 +1,149 @@ +// priority: 0 + +global.BENEATH_DISABLED_ITEMS = [ + "beneath:cobblerack", + "beneath:ancient_altar", + "beneath:lost_page", + "beneath:ore/slimed_netherrack", + "beneath:raw_slime", + "beneath:haunted_spike", + "beneath:fungal_cobblerack", + "beneath:soul_farmland", + "beneath:gold_chunk", + "beneath:nether_pebble", + "beneath:seeds/crimson_roots", + "beneath:seeds/warped_roots", + "beneath:seeds/nether_wart", + "beneath:seeds/ghost_pepper", + "beneath:seeds/gleamflower", + + "beneath:ore/poor_nether_gold", + "beneath:ore/normal_nether_gold", + "beneath:ore/rich_nether_gold", + "beneath:ore/nether_pyrite", + + "beneath:pure_death", + "beneath:pure_destruction", + "beneath:pure_decay", + "beneath:pure_sorrow", + "beneath:pure_flame", + "beneath:agonizing_fertilizer", + + "beneath:wood/water_wheel/crimson", + "beneath:wood/gear_box/crimson", + "beneath:wood/axle/crimson", + "beneath:wood/encased_axle/crimson", + "beneath:wood/bladed_axle/crimson", + "beneath:wood/clutch/crimson", + "beneath:wood/windmill/crimson", + "beneath:wood/boat/crimson", + + "beneath:wood/water_wheel/warped", + "beneath:wood/gear_box/warped", + "beneath:wood/axle/warped", + "beneath:wood/encased_axle/warped", + "beneath:wood/bladed_axle/warped", + "beneath:wood/clutch/warped", + "beneath:wood/windmill/warped", + "beneath:wood/boat/warped", + + // Remove these when the wood is accessible + + "beneath:wood/log/crimson", + "beneath:wood/stripped_log/crimson", + "beneath:wood/wood/crimson", + "beneath:wood/lumber/crimson", + "beneath:wood/stripped_wood/crimson", + "beneath:wood/planks/crimson", + "beneath:wood/twig/crimson", + "beneath:wood/leaves/crimson", + "beneath:wood/planks/crimson_workbench", + "beneath:wood/scribing_table/crimson", + "beneath:wood/sewing_table/crimson", + "beneath:wood/jar_shelf/crimson", + "beneath:wood/chest_minecart/crimson", + "beneath:wood/chest/crimson", + "beneath:wood/trapped_chest/crimson", + "beneath:wood/planks/crimson_loom", + "beneath:wood/lectern/crimson", + "beneath:wood/vertical_support/crimson", + "beneath:wood/horizontal_support/crimson", + "beneath:wood/sluice/crimson", + "beneath:wood/barrel/crimson", + "beneath:wood/planks/crimson_bookshelf", + "beneath:wood/planks/crimson_door", + "beneath:wood/planks/crimson_trapdoor", + "beneath:wood/planks/crimson_fence", + "beneath:wood/planks/crimson_log_fence", + "beneath:wood/planks/crimson_fence_gate", + "beneath:wood/planks/crimson_button", + "beneath:wood/planks/crimson_pressure_plate", + "beneath:wood/planks/crimson_slab", + "beneath:wood/planks/crimson_stairs", + "beneath:wood/planks/crimson_tool_rack", + "beneath:wood/planks/crimson_workbench", + "beneath:wood/planks/crimson_sign", + "beneath:wood/sapling/crimson", + "beneath:wood/potted_sapling/crimson", + "beneath:wood/fallen_leaves/crimson", + "beneath:wood/hanging_sign/copper/crimson", + "beneath:wood/hanging_sign/bronze/crimson", + "beneath:wood/hanging_sign/bismuth_bronze/crimson", + "beneath:wood/hanging_sign/black_bronze/crimson", + "beneath:wood/hanging_sign/wrought_iron/crimson", + "beneath:wood/hanging_sign/steel/crimson", + "beneath:wood/hanging_sign/black_steel/crimson", + "beneath:wood/hanging_sign/red_steel/crimson", + "beneath:wood/hanging_sign/blue_steel/crimson", + "beneath:crimson_straw", + "beneath:crimson_thatch", + + "beneath:wood/log/warped", + "beneath:wood/stripped_log/warped", + "beneath:wood/wood/warped", + "beneath:wood/lumber/warped", + "beneath:wood/stripped_wood/warped", + "beneath:wood/planks/warped", + "beneath:wood/twig/warped", + "beneath:wood/leaves/warped", + "beneath:wood/planks/warped_workbench", + "beneath:wood/scribing_table/warped", + "beneath:wood/sewing_table/warped", + "beneath:wood/jar_shelf/warped", + "beneath:wood/chest_minecart/warped", + "beneath:wood/chest/warped", + "beneath:wood/trapped_chest/warped", + "beneath:wood/planks/warped_loom", + "beneath:wood/lectern/warped", + "beneath:wood/vertical_support/warped", + "beneath:wood/horizontal_support/warped", + "beneath:wood/sluice/warped", + "beneath:wood/barrel/warped", + "beneath:wood/planks/warped_bookshelf", + "beneath:wood/planks/warped_door", + "beneath:wood/planks/warped_trapdoor", + "beneath:wood/planks/warped_fence", + "beneath:wood/planks/warped_log_fence", + "beneath:wood/planks/warped_fence_gate", + "beneath:wood/planks/warped_button", + "beneath:wood/planks/warped_pressure_plate", + "beneath:wood/planks/warped_slab", + "beneath:wood/planks/warped_stairs", + "beneath:wood/planks/warped_tool_rack", + "beneath:wood/planks/warped_workbench", + "beneath:wood/planks/warped_sign", + "beneath:wood/sapling/warped", + "beneath:wood/potted_sapling/warped", + "beneath:wood/fallen_leaves/warped", + "beneath:wood/hanging_sign/copper/warped", + "beneath:wood/hanging_sign/bronze/warped", + "beneath:wood/hanging_sign/bismuth_bronze/warped", + "beneath:wood/hanging_sign/black_bronze/warped", + "beneath:wood/hanging_sign/wrought_iron/warped", + "beneath:wood/hanging_sign/steel/warped", + "beneath:wood/hanging_sign/black_steel/warped", + "beneath:wood/hanging_sign/red_steel/warped", + "beneath:wood/hanging_sign/blue_steel/warped", + "beneath:warped_straw", + "beneath:warped_thatch" +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/beneath/modifications.js b/kubejs/startup_scripts/beneath/modifications.js new file mode 100644 index 000000000..0dd4b73ff --- /dev/null +++ b/kubejs/startup_scripts/beneath/modifications.js @@ -0,0 +1,10 @@ +// priority: 0 + +function registerBeneathItemModifications(event) { + + // Make sure lavaproof hide is in fact lavaproof + event.modify('beneath:cursed_hide', item => { + item.fireResistant = true + }) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index de6cef8c8..12131cfa1 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -15,20 +15,8 @@ global.CREATE_DISABLED_ITEMS = [ // Raw Block Ores 'create:raw_zinc_block', - // Nuggets - 'create:copper_nugget', - 'create:zinc_nugget', - 'create:brass_nugget', - // Sheets - 'create:copper_sheet', - 'create:brass_sheet', 'create:iron_sheet', - 'create:golden_sheet', - - // Ingot - 'create:zinc_ingot', - 'create:brass_ingot', // Flour 'create:wheat_flour', @@ -118,27 +106,6 @@ global.CREATE_DISABLED_ITEMS = [ 'create:layered_ochrum', 'create:ochrum_pillar', - // Limestone - 'create:limestone', - 'create:cut_limestone', - 'create:cut_limestone_stairs', - 'create:cut_limestone_slab', - 'create:cut_limestone_wall', - 'create:polished_cut_limestone', - 'create:polished_cut_limestone_stairs', - 'create:polished_cut_limestone_slab', - 'create:polished_cut_limestone_wall', - 'create:cut_limestone_bricks', - 'create:cut_limestone_brick_stairs', - 'create:cut_limestone_brick_slab', - 'create:cut_limestone_brick_wall', - 'create:small_limestone_bricks', - 'create:small_limestone_brick_stairs', - 'create:small_limestone_brick_slab', - 'create:small_limestone_brick_wall', - 'create:layered_limestone', - 'create:limestone_pillar', - // Cringite 'create:crimsite', 'create:cut_crimsite', @@ -201,128 +168,9 @@ global.CREATE_DISABLED_ITEMS = [ 'create:layered_tuff', 'create:tuff_pillar', - // Deepslate - 'create:cut_deepslate', - 'create:cut_deepslate_stairs', - 'create:cut_deepslate_slab', - 'create:cut_deepslate_wall', - 'create:polished_cut_deepslate', - 'create:polished_cut_deepslate_stairs', - 'create:polished_cut_deepslate_slab', - 'create:polished_cut_deepslate_wall', - 'create:cut_deepslate_bricks', - 'create:cut_deepslate_brick_stairs', - 'create:cut_deepslate_brick_slab', - 'create:cut_deepslate_brick_wall', - 'create:small_deepslate_bricks', - 'create:small_deepslate_brick_stairs', - 'create:small_deepslate_brick_slab', - 'create:small_deepslate_brick_wall', - 'create:layered_deepslate', - 'create:deepslate_pillar', - - // Dripstone - 'create:cut_dripstone', - 'create:cut_dripstone_stairs', - 'create:cut_dripstone_slab', - 'create:cut_dripstone_wall', - 'create:polished_cut_dripstone', - 'create:polished_cut_dripstone_stairs', - 'create:polished_cut_dripstone_slab', - 'create:polished_cut_dripstone_wall', - 'create:cut_dripstone_bricks', - 'create:cut_dripstone_brick_stairs', - 'create:cut_dripstone_brick_slab', - 'create:cut_dripstone_brick_wall', - 'create:small_dripstone_bricks', - 'create:small_dripstone_brick_stairs', - 'create:small_dripstone_brick_slab', - 'create:small_dripstone_brick_wall', - 'create:layered_dripstone', - 'create:dripstone_pillar', - - // Calcite - 'create:cut_calcite', - 'create:cut_calcite_stairs', - 'create:cut_calcite_slab', - 'create:cut_calcite_wall', - 'create:polished_cut_calcite', - 'create:polished_cut_calcite_stairs', - 'create:polished_cut_calcite_slab', - 'create:polished_cut_calcite_wall', - 'create:cut_calcite_bricks', - 'create:cut_calcite_brick_stairs', - 'create:cut_calcite_brick_slab', - 'create:cut_calcite_brick_wall', - 'create:small_calcite_bricks', - 'create:small_calcite_brick_stairs', - 'create:small_calcite_brick_slab', - 'create:small_calcite_brick_wall', - 'create:layered_calcite', - 'create:calcite_pillar', - - // Andesite - 'create:cut_andesite', - 'create:cut_andesite_stairs', - 'create:cut_andesite_slab', - 'create:cut_andesite_wall', - 'create:polished_cut_andesite', - 'create:polished_cut_andesite_stairs', - 'create:polished_cut_andesite_slab', - 'create:polished_cut_andesite_wall', - 'create:cut_andesite_bricks', - 'create:cut_andesite_brick_stairs', - 'create:cut_andesite_brick_slab', - 'create:cut_andesite_brick_wall', - 'create:small_andesite_bricks', - 'create:small_andesite_brick_stairs', - 'create:small_andesite_brick_slab', - 'create:small_andesite_brick_wall', - 'create:layered_andesite', - 'create:andesite_pillar', - - // Diorite - 'create:cut_diorite', - 'create:cut_diorite_stairs', - 'create:cut_diorite_slab', - 'create:cut_diorite_wall', - 'create:polished_cut_diorite', - 'create:polished_cut_diorite_stairs', - 'create:polished_cut_diorite_slab', - 'create:polished_cut_diorite_wall', - 'create:cut_diorite_bricks', - 'create:cut_diorite_brick_stairs', - 'create:cut_diorite_brick_slab', - 'create:cut_diorite_brick_wall', - 'create:small_diorite_bricks', - 'create:small_diorite_brick_stairs', - 'create:small_diorite_brick_slab', - 'create:small_diorite_brick_wall', - 'create:layered_diorite', - 'create:diorite_pillar', - - // Granite - 'create:cut_granite', - 'create:cut_granite_stairs', - 'create:cut_granite_slab', - 'create:cut_granite_wall', - 'create:polished_cut_granite', - 'create:polished_cut_granite_stairs', - 'create:polished_cut_granite_slab', - 'create:polished_cut_granite_wall', - 'create:cut_granite_bricks', - 'create:cut_granite_brick_stairs', - 'create:cut_granite_brick_slab', - 'create:cut_granite_brick_wall', - 'create:small_granite_bricks', - 'create:small_granite_brick_stairs', - 'create:small_granite_brick_slab', - 'create:small_granite_brick_wall', - 'create:layered_granite', - 'create:granite_pillar', // Shit Glass - 'create:crimson_window', + 'create:crimson_window', 'create:warped_window', 'create:oak_window', 'create:spruce_window', @@ -334,13 +182,11 @@ global.CREATE_DISABLED_ITEMS = [ 'create:birch_window_pane', 'create:jungle_window_pane', 'create:acacia_window_pane', - 'create:crimson_window_pane', + 'create:crimson_window_pane', 'create:warped_window_pane', // Blocks - 'create:zinc_block', 'create:andesite_alloy_block', - 'create:brass_block', 'create:industrial_iron_block', 'create:experience_block', 'create:rose_quartz_block', @@ -400,14 +246,11 @@ global.CREATE_DISABLED_ITEMS = [ // Other 'create:honey_bucket', 'create:chocolate_bucket', - 'create:crushed_raw_lead', 'create:crushed_raw_quicksilver', 'create:crushed_raw_aluminum', 'create:crushed_raw_uranium', 'create:crushed_raw_nickel', 'create:rose_quartz_lamp', - 'create:netherite_backtank', - 'create:netherite_backtank_placeable', 'create:creative_blaze_cake', 'create:blaze_cake', 'create:blaze_cake_base', @@ -426,21 +269,14 @@ global.CREATE_DISABLED_ITEMS = [ 'create:chromatic_compound', 'create:shadow_steel', 'create:refined_radiance', - 'create:crushed_raw_tin', - 'create:crushed_raw_silver', 'create:crushed_raw_platinum', 'create:crushed_raw_osmium', - 'create:crushed_raw_zinc', - 'create:crushed_raw_copper', - 'create:crushed_raw_gold', 'create:crushed_raw_iron', 'create:experience_nugget', 'create:andesite_bars', 'create:brass_bars', 'create:copper_bars', 'create:tree_fertilizer', - 'create:netherite_diving_boots', - 'create:netherite_diving_helmet', 'create:handheld_worldshaper', 'create:creative_crate', 'create:creative_fluid_tank', @@ -454,5 +290,6 @@ global.CREATE_DISABLED_ITEMS = [ 'create:empty_blaze_burner', 'create:minecart_contraption', 'create:furnace_minecart_contraption', - 'create:chest_minecart_contraption' + 'create:chest_minecart_contraption', + 'create:mechanical_pump' ]; diff --git a/kubejs/startup_scripts/create_additions/constants.js b/kubejs/startup_scripts/create_additions/constants.js index 6924e24b3..60fe55b78 100644 --- a/kubejs/startup_scripts/create_additions/constants.js +++ b/kubejs/startup_scripts/create_additions/constants.js @@ -35,8 +35,6 @@ global.CREATE_ADDITIONS_DISABLED_ITEMS = [ 'createaddition:biomass_pellet_block', 'createaddition:connector', 'createaddition:redstone_relay', - 'createaddition:alternator', - 'createaddition:electric_motor', 'createaddition:spool', 'createaddition:copper_spool', 'createaddition:festive_spool', diff --git a/kubejs/startup_scripts/createdeco/constants.js b/kubejs/startup_scripts/createdeco/constants.js new file mode 100644 index 000000000..a5e3edb7f --- /dev/null +++ b/kubejs/startup_scripts/createdeco/constants.js @@ -0,0 +1,11 @@ +// priority: 0 + +global.CREATEDECO_DISABLED_ITEMS = [ + 'createdeco:andesite_sheet', + 'createdeco:zinc_sheet', + 'createdeco:netherite_sheet', + 'createdeco:industrial_iron_sheet', + 'createdeco:netherite_nugget', + 'createdeco:industrial_iron_nugget', + 'createdeco:industrial_iron_ingot', +]; diff --git a/kubejs/startup_scripts/domum_ornamentum/constants.js b/kubejs/startup_scripts/domum_ornamentum/constants.js new file mode 100644 index 000000000..29d2d234f --- /dev/null +++ b/kubejs/startup_scripts/domum_ornamentum/constants.js @@ -0,0 +1,6 @@ +// priority: 0 + +global.DOMUM_ORNAMENTUM_DISABLED_ITEMS = [ + 'domum_ornamentum:blockbarreldeco_standing', + 'domum_ornamentum:blockbarreldeco_onside' +]; diff --git a/kubejs/startup_scripts/extended_ae2/constants.js b/kubejs/startup_scripts/extended_ae2/constants.js index 469fb8358..95e07ab9b 100644 --- a/kubejs/startup_scripts/extended_ae2/constants.js +++ b/kubejs/startup_scripts/extended_ae2/constants.js @@ -10,10 +10,14 @@ global.EXTENDED_AE2_DISABLED_ITEMS = [ 'expatternprovider:ex_inscriber', 'expatternprovider:crystal_fixer', - //в будущем будет крафт - /* 'expatternprovider:ex_charger', 'expatternprovider:caner', + 'expatternprovider:circuit_cutter', + 'expatternprovider:silicon_block', + + + //в будущем будет крафт + /* 'expatternprovider:ex_io_port', 'expatternprovider:wireless_tool', 'expatternprovider:wireless_connect', diff --git a/kubejs/startup_scripts/firmaciv/constants.js b/kubejs/startup_scripts/firmaciv/constants.js index e5bfa123e..22525c189 100644 --- a/kubejs/startup_scripts/firmaciv/constants.js +++ b/kubejs/startup_scripts/firmaciv/constants.js @@ -5,5 +5,5 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.FIRMACIV_DISABLED_ITEMS = [ - 'firmaciv:copper_bolt' + ]; \ No newline at end of file diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 1d0e310b0..78c1c3baa 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -7,20 +7,12 @@ global.FIRMALIFE_DISABLED_ITEMS = [ // Chromite - 'firmalife:ore/small_chromite', - 'firmalife:ore/poor_chromite', - 'firmalife:ore/normal_chromite', - 'firmalife:ore/rich_chromite', 'firmalife:metal/ingot/chromium', 'firmalife:metal/double_ingot/chromium', 'firmalife:metal/sheet/chromium', 'firmalife:metal/double_sheet/chromium', 'firmalife:metal/rod/chromium', - 'firmalife:metal/block/chromium', - 'firmalife:metal/block/chromium_stairs', - 'firmalife:metal/block/chromium_slab', - // Stainless Steel 'firmalife:metal/ingot/stainless_steel', 'firmalife:metal/double_ingot/stainless_steel', @@ -28,10 +20,6 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:metal/double_sheet/stainless_steel', 'firmalife:metal/rod/stainless_steel', - 'firmalife:metal/block/stainless_steel', - 'firmalife:metal/block/stainless_steel_stairs', - 'firmalife:metal/block/stainless_steel_slab', - // Other 'firmalife:compost_tumbler' ]; diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js new file mode 100644 index 000000000..e2239b611 --- /dev/null +++ b/kubejs/startup_scripts/greate/constants.js @@ -0,0 +1,168 @@ +// priority: 0 + +global.GREATE_DISABLED_ITEMS = [ + + 'greate:steel_alloy', + 'greate:aluminium_alloy', + 'greate:stainless_steel_alloy', + 'greate:titanium_alloy', + 'greate:tungsten_steel_alloy', + 'greate:rhodium_plated_palladium_alloy', + 'greate:naquadah_alloy_alloy', + 'greate:darmstadtium_alloy', + 'greate:neutronium_alloy', + + 'gtceu:tungsten_steel_whisk', + 'gtceu:rhodium_plated_palladium_whisk', + 'gtceu:naquadah_alloy_whisk', + 'gtceu:darmstadtium_whisk', + 'gtceu:neutronium_whisk', + + 'greate:polybenzimidazole_belt_connector', + 'greate:polytetrafluoroethylene_belt_connector', + + 'greate:andesite_alloy_crushing_wheel', + 'greate:andesite_alloy_encased_fan', + 'greate:andesite_alloy_mechanical_mixer', + 'greate:andesite_alloy_mechanical_pump', + 'greate:aluminium_millstone', + 'greate:stainless_steel_millstone', + 'greate:titanium_millstone', + + // Disable these until it's possible to disable spring recipes in them + 'greate:andesite_alloy_mechanical_press', + 'greate:steel_mechanical_press', + 'greate:aluminium_mechanical_press', + 'greate:stainless_steel_mechanical_press', + 'greate:titanium_mechanical_press', + + // You should be graduating to IV multiblocks in IV + 'greate:tungsten_steel_shaft', + 'greate:tungsten_steel_cogwheel', + 'greate:large_tungsten_steel_cogwheel', + 'greate:tungsten_steel_crushing_wheel', + 'greate:tungsten_steel_encased_fan', + 'greate:tungsten_steel_gearbox', + 'greate:tungsten_steel_mechanical_press', + 'greate:tungsten_steel_mechanical_mixer', + 'greate:tungsten_steel_millstone', + 'greate:tungsten_steel_mechanical_saw', + 'greate:tungsten_steel_mechanical_pump', + 'greate:tungsten_steel_vertical_gearbox', + + 'greate:rhodium_plated_palladium_shaft', + 'greate:rhodium_plated_palladium_cogwheel', + 'greate:large_rhodium_plated_palladium_cogwheel', + 'greate:rhodium_plated_palladium_crushing_wheel', + 'greate:rhodium_plated_palladium_encased_fan', + 'greate:rhodium_plated_palladium_gearbox', + 'greate:rhodium_plated_palladium_mechanical_press', + 'greate:rhodium_plated_palladium_mechanical_mixer', + 'greate:rhodium_plated_palladium_millstone', + 'greate:rhodium_plated_palladium_mechanical_saw', + 'greate:rhodium_plated_palladium_mechanical_pump', + 'greate:rhodium_plated_palladium_vertical_gearbox', + + 'greate:naquadah_alloy_shaft', + 'greate:naquadah_alloy_cogwheel', + 'greate:large_naquadah_alloy_cogwheel', + 'greate:naquadah_alloy_crushing_wheel', + 'greate:naquadah_alloy_encased_fan', + 'greate:naquadah_alloy_gearbox', + 'greate:naquadah_alloy_mechanical_press', + 'greate:naquadah_alloy_mechanical_mixer', + 'greate:naquadah_alloy_millstone', + 'greate:naquadah_alloy_mechanical_saw', + 'greate:naquadah_alloy_mechanical_pump', + 'greate:naquadah_alloy_vertical_gearbox', + + 'greate:darmstadtium_shaft', + 'greate:darmstadtium_cogwheel', + 'greate:large_darmstadtium_cogwheel', + 'greate:darmstadtium_crushing_wheel', + 'greate:darmstadtium_encased_fan', + 'greate:darmstadtium_gearbox', + 'greate:darmstadtium_mechanical_press', + 'greate:darmstadtium_mechanical_mixer', + 'greate:darmstadtium_millstone', + 'greate:darmstadtium_mechanical_saw', + 'greate:darmstadtium_mechanical_pump', + 'greate:darmstadtium_vertical_gearbox', + + 'greate:neutronium_shaft', + 'greate:neutronium_cogwheel', + 'greate:large_neutronium_cogwheel', + 'greate:neutronium_crushing_wheel', + 'greate:neutronium_encased_fan', + 'greate:neutronium_gearbox', + 'greate:neutronium_mechanical_press', + 'greate:neutronium_mechanical_mixer', + 'greate:neutronium_millstone', + 'greate:neutronium_mechanical_saw', + 'greate:neutronium_mechanical_pump', + 'greate:neutronium_vertical_gearbox', + + // Adding these here because they're greate's fault + 'gtceu:andesite_alloy_bucket', + 'gtceu:andesite_alloy_ring', + 'gtceu:tiny_andesite_alloy_dust', + 'gtceu:small_andesite_alloy_dust', + 'gtceu:andesite_alloy_dust', + 'gtceu:andesite_alloy_plate', + 'gtceu:double_andesite_alloy_plate', + 'gtceu:andesite_alloy_nugget', + 'gtceu:andesite_alloy_rotor', + 'gtceu:andesite_alloy_whisk', + 'gtceu:andesite_alloy_bolt', + 'gtceu:andesite_alloy_ingot', + 'gtceu:andesite_alloy_rod', + 'gtceu:andesite_alloy_screw', + 'gtceu:andesite_alloy_buzz_saw_blade', + 'gtceu:andesite_alloy_block', + 'gtceu:andesite_alloy_buzzsaw', + + 'gtceu:refined_radiance_bucket', + 'gtceu:tiny_refined_radiance_dust', + 'gtceu:small_refined_radiance_dust', + 'gtceu:refined_radiance_dust', + 'gtceu:refined_radiance_plate', + 'gtceu:double_refined_radiance_plate', + 'gtceu:refined_radiance_nugget', + 'gtceu:refined_radiance_bolt', + 'gtceu:refined_radiance_ingot', + 'gtceu:refined_radiance_rod', + 'gtceu:refined_radiance_screw', + 'gtceu:long_refined_radiance_rod', + 'gtceu:refined_radiance_block', + + 'gtceu:chromatic_compound_bucket', + 'gtceu:tiny_chromatic_compound_dust', + 'gtceu:small_chromatic_compound_dust', + 'gtceu:chromatic_compound_dust', + 'gtceu:chromatic_compound_nugget', + 'gtceu:chromatic_compound_ingot', + 'gtceu:chromatic_compound_block', + + 'gtceu:shadow_steel_bucket', + 'gtceu:tiny_shadow_steel_dust', + 'gtceu:small_shadow_steel_dust', + 'gtceu:shadow_steel_dust', + 'gtceu:shadow_steel_plate', + 'gtceu:double_shadow_steel_plate', + 'gtceu:shadow_steel_nugget', + 'gtceu:shadow_steel_bolt', + 'gtceu:shadow_steel_ingot', + 'gtceu:shadow_steel_rod', + 'gtceu:shadow_steel_screw', + 'gtceu:long_shadow_steel_rod', + 'gtceu:shadow_steel_block', +] + +global.GREATE_DISABLED_FLUIDS = [ + + 'gtceu:andesite_alloy', + 'gtceu:refined_radiance', + 'gtceu:chromatic_compound', + 'gtceu:shadow_steel' + +] \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 625436f6b..523ee73e3 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -5,10 +5,11 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:wheat_dust', 'gtceu:small_wheat_dust', 'gtceu:tiny_wheat_dust', + 'gtceu:dough', // Bronze Machines - 'gtceu:bronze_machine_casing', - 'gtceu:steam_miner', + 'gtceu:bronze_brick_casing', + 'gtceu:lp_steam_miner', 'gtceu:lp_steam_extractor', 'gtceu:lp_steam_macerator', 'gtceu:lp_steam_compressor', @@ -16,9 +17,14 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:lp_steam_furnace', 'gtceu:lp_steam_alloy_smelter', 'gtceu:lp_steam_rock_crusher', + 'gtceu:lp_steam_solid_boiler', + 'gtceu:lp_steam_liquid_boiler', + 'gtceu:lp_steam_solar_boiler', + 'gtceu:charcoal_pile_igniter', // Примитивная помпа 'gtceu:infinite_water_cover', + 'gtceu:ender_fluid_link_cover', 'gtceu:pump_deck', 'gtceu:pump_hatch', 'gtceu:primitive_pump', @@ -45,13 +51,44 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:rubber_log', 'gtceu:rubber_leaves', 'gtceu:rubber_planks', - + 'gtceu:stripped_rubber_log', + 'gtceu:rubber_wood', + 'gtceu:stripped_rubber_wood', + 'gtceu:rubber_slab', + 'gtceu:rubber_fence', + 'gtceu:rubber_fence_gate', + 'gtceu:rubber_sign', + 'gtceu:rubber_hanging_sign', + 'gtceu:rubber_pressure_plate', + 'gtceu:rubber_trapdoor', + 'gtceu:rubber_door', + 'gtceu:rubber_stairs', + 'gtceu:rubber_button', + 'gtceu:rubber_boat', + 'gtceu:rubber_chest_boat', + + // Sculk + 'gtceu:tiny_echo_shard_dust', + 'gtceu:small_echo_shard_dust', + 'gtceu:echo_shard_dust', + 'gtceu:chipped_echo_shard_gem', + 'gtceu:flawed_echo_shard_gem', + 'gtceu:flawless_echo_shard_gem', + 'gtceu:exquisite_echo_shard_gem', + 'gtceu:echo_shard_plate', + 'gtceu:echo_shard_rod', + 'gtceu:echo_shard_block', + 'gtceu:tiny_skulk_dust', + 'gtceu:small_skulk_dust', + 'gtceu:skulk_dust' ]; global.GTCEU_HIDED_ITEMS = [ 'gtceu:netherrack_dust', 'gtceu:small_netherrack_dust', - 'gtceu:tiny_netherrack_dust' + 'gtceu:tiny_netherrack_dust', + + 'gtceu:sus_record' ]; global.GTCEU_ARMORS = [ @@ -71,3 +108,58 @@ global.GTCEU_ARMORS = [ 'gtceu:quarktech_helmet', 'gtceu:advanced_quarktech_chestplate' ]; + +global.TFG_EXTRUDER_MOLDS = [ + 'tfg:mining_hammer_head_extruder_mold', + 'tfg:sword_head_extruder_mold', + 'tfg:pickaxe_head_extruder_mold', + 'tfg:shovel_head_extruder_mold', + 'tfg:axe_head_extruder_mold', + 'tfg:hoe_head_extruder_mold', + 'tfg:scythe_head_extruder_mold', + 'tfg:file_head_extruder_mold', + 'tfg:hammer_head_extruder_mold', + 'tfg:saw_head_extruder_mold', + 'tfg:knife_head_extruder_mold', + 'tfg:butchery_knife_head_extruder_mold', + 'tfg:spade_head_extruder_mold', + 'tfg:propick_head_extruder_mold', + 'tfg:javelin_head_extruder_mold', + 'tfg:chisel_head_extruder_mold', + 'tfg:mace_head_extruder_mold', + 'tfg:mattock_head_extruder_mold' +]; + +global.TFG_CASTING_MOLDS = [ + 'tfg:lamp_casting_mold', + 'tfg:trapdoor_casting_mold', + 'tfg:chain_casting_mold', + 'tfg:bell_casting_mold' +]; + +global.ORE_BEARING_STONES = [ + 'gabbro', + 'shale', + 'claystone', + 'limestone', + 'conglomerate', + 'dolomite', + 'chert', + 'chalk', + 'rhyolite', + 'dacite', + 'quartzite', + 'slate', + 'phyllite', + 'schist', + 'gneiss', + 'marble', + 'basalt', + 'diorite', + 'andesite', + 'granite', + + 'deepslate', + 'pyroxenite', + 'dripstone' +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js index cbfba0a4f..840068717 100644 --- a/kubejs/startup_scripts/gtceu/items.js +++ b/kubejs/startup_scripts/gtceu/items.js @@ -1,6 +1,4 @@ // priority: 0 const registerGTCEuItems = (event) => { - event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') - event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') } diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 3911cfed7..482fff2a7 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -1,21 +1,27 @@ // priority: 0 +//#region Greenhouse + const registerGTCEuMachines = (event) => { - event.create('greenhouse', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('greenhouse') - .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) - .pattern(definition => FactoryBlockPattern.start() - .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") - .where('X', Predicates.blocks('ae2:quartz_glass')) - .where('F', Predicates.frames('steel')) - .where('D', Predicates.blocks('tfc:dirt/silt') + + const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine'); + const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") + + event.create('greenhouse', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('greenhouse') + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .pattern(definition => FactoryBlockPattern.start() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('X', Predicates.blocks('ae2:quartz_glass')) + .where('F', Predicates.frames('steel')) + .where('D', Predicates.blocks('tfc:dirt/silt') .or(Predicates.blocks('tfc:dirt/loam')) .or(Predicates.blocks('tfc:dirt/sandy_loam')) .or(Predicates.blocks('tfc:dirt/silty_loam')) @@ -23,63 +29,32 @@ const registerGTCEuMachines = (event) => { .or(Predicates.blocks('tfc:grass/loam')) .or(Predicates.blocks('tfc:grass/sandy_loam')) .or(Predicates.blocks('tfc:grass/silty_loam'))) - .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) - .where('#', Predicates.air()) - .where(' ', Predicates.any()) - .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) - .build() - ) - .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) + .build() + ) + .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + + //#endregion + + //#region Nether Dome - - event.create('alternator', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('alternator') - .pattern(definition => FactoryBlockPattern.start() - .aisle("CCC", "CKC", "#C#") - .aisle("WWW", "W#W", "WWW") - .aisle("CAC", "CEC", "#C#") - .where('A', Predicates.controller(Predicates.blocks(definition.get()))) - .where('W', Predicates.blocks(GTBlocks.COIL_CUPRONICKEL.get())) - .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get()) - .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1))) - .where('#', Predicates.any()) - .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) - .where('E', Predicates.abilities(PartAbility.OUTPUT_ENERGY).setExactLimit(1)) - .build() - ) - .shapeInfo(controller => MultiblockShapeInfo.builder() - .aisle("CCC", "CkC", " C ") - .aisle("WWW", "W W", "WWW") - .aisle("iAC", "CeC", " C ") - .where('A', controller, Direction.SOUTH) - .where('C', GTBlocks.CASING_STEEL_SOLID.get()) - .where(' ', Block.getBlock('minecraft:air')) - .where('W', GTBlocks.COIL_CUPRONICKEL.get()) - .where('k', Block.getBlock('gtceu:lv_kinetic_input_box')) - .where('e', GTMachines.ENERGY_OUTPUT_HATCH[GTValues.LV], Direction.SOUTH) - .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.LV], Direction.SOUTH) - .build() - ) - .workableCasingRenderer( - "gtceu:block/casings/solid/machine_casing_solid_steel", - "gtceu:block/multiblock/implosion_compressor", false - ) - event.create('nether_dome', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('nether_dome') - .appearanceBlock(GTBlocks.CASING_PTFE_INERT) - .pattern(definition => FactoryBlockPattern.start() - .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "F#####F", "F#####F", "F#####F", "FTTTTTF", "FQQQQQF") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") - .aisle(" CCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('B', Predicates.blocks('tfc:rock/magma/basalt').setMinGlobalLimited(6) + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('nether_dome') + .appearanceBlock(GTBlocks.CASING_PTFE_INERT) + .pattern(definition => FactoryBlockPattern.start() + .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ") + .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") + .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") + .aisle("CBBBBBC", "F#####F", "F#####F", "F#####F", "FTTTTTF", "FQQQQQF") + .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") + .aisle("CBBBBBC", "Q#####Q", "Q#####Q", "Q#####Q", "QTTTTTQ", " QQQQQ ") + .aisle(" CCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('B', Predicates.blocks('tfc:rock/magma/basalt').setMinGlobalLimited(6) .or(Predicates.blocks('minecraft:netherrack').setMinGlobalLimited(10))) .where('T', Predicates.blocks('minecraft:glowstone').setMinGlobalLimited(5) .or(Predicates.blocks('minecraft:netherrack').setMinGlobalLimited(10))) @@ -94,7 +69,7 @@ const registerGTCEuMachines = (event) => { .or(Predicates.blocks('minecraft:obsidian')) .or(Predicates.blocks('minecraft:nether_bricks'))) .where('P', Predicates.blocks('minecraft:purple_stained_glass_pane')) - .where('C', Predicates.blocks(GTBlocks.CASING_PTFE_INERT.get()).setMinGlobalLimited(10) + .where('C', Predicates.blocks(GTBlocks.CASING_PTFE_INERT.get()).setMinGlobalLimited(10) .or(Predicates.autoAbilities(definition.getRecipeTypes())) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) .where('#', Predicates.air() @@ -103,16 +78,16 @@ const registerGTCEuMachines = (event) => { .or(Predicates.blocks('minecraft:glowstone')) .or(Predicates.blocks('minecraft:nether_bricks'))) .where(' ', Predicates.any()) - .build() - ) + .build() + ) .shapeInfo(controller => MultiblockShapeInfo.builder() .aisle(" CeCeC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ") - .aisle("CMMMNNC", "Q NQ", "Q Q", "Q Q", "QNTTNNQ", " QQQQQ ") - .aisle("iMMNNNf", "QR Q", "QR Q", "Q T Q", "QNTTTNQ", " QQQQQ ") - .aisle("CNMMMNC", "F NF", "F F", "F F", "FNNTNNF", "FQQQQQF") - .aisle("tNNNMNl", "Q NQ", "Q NQ", "Q Q", "QNNNNNQ", " QQQQQ ") - .aisle("CNNNNNC", "QN NNQ", "Q NQ", "Q NQ", "QNNNNNQ", " QQQQQ ") - .aisle(" mCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") + .aisle("CMMMNNC", "Q NQ", "Q Q", "Q Q", "QNTTNNQ", " QQQQQ ") + .aisle("iMMNNNf", "QR Q", "QR Q", "Q T Q", "QNTTTNQ", " QQQQQ ") + .aisle("CNMMMNC", "F NF", "F F", "F F", "FNNTNNF", "FQQQQQF") + .aisle("tNNNMNl", "Q NQ", "Q NQ", "Q Q", "QNNNNNQ", " QQQQQ ") + .aisle("CNNNNNC", "QN NNQ", "Q NQ", "Q NQ", "QNNNNNQ", " QQQQQ ") + .aisle(" mCXCC ", " QGOGQ ", " QOPOQ ", " QOPOQ ", " QGOGQ ", " ") .where('X', controller, Direction.SOUTH) .where('C', GTBlocks.CASING_PTFE_INERT.get()) .where('N', Block.getBlock('minecraft:netherrack')) @@ -125,7 +100,7 @@ const registerGTCEuMachines = (event) => { .where('P', Block.getBlock('minecraft:purple_stained_glass_pane')) .where('R', Block.getBlock('minecraft:nether_bricks')) .where(' ', Block.getBlock('minecraft:air')) - + .where('m', GTMachines.MAINTENANCE_HATCH, Direction.SOUTH) .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST) .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.WEST) @@ -134,25 +109,29 @@ const registerGTCEuMachines = (event) => { .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.MV], Direction.NORTH) .build() ) - .workableCasingRenderer( - "gtceu:block/casings/solid/machine_casing_inert_ptfe", - "gtceu:block/machines/gas_collector", false - ) - + .workableCasingRenderer( + "gtceu:block/casings/solid/machine_casing_inert_ptfe", + "gtceu:block/machines/gas_collector", false + ) + + //#endregion + + //#region End Dome + event.create('end_dome', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('end_dome') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('end_dome') .appearanceBlock(GTBlocks.CASING_TITANIUM_STABLE) - .pattern(definition => FactoryBlockPattern.start() - .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") - .aisle("CBBBBBC", "FOOEOOF", "FOOOOOF", "FOOOOOF", "FOOOOOF", "FSNNNSF", " G G ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") - .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") - .aisle(" CCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('B', Predicates.blocks('minecraft:end_stone').setMinGlobalLimited(20) + .pattern(definition => FactoryBlockPattern.start() + .aisle(" CCCCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") + .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") + .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") + .aisle("CBBBBBC", "FOOEOOF", "FOOOOOF", "FOOOOOF", "FOOOOOF", "FSNNNSF", " G G ") + .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " SNNNS ", " G G ") + .aisle("CBBBBBC", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", "QOOOOOQ", " QSSSQ ", " GGG ") + .aisle(" CCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('B', Predicates.blocks('minecraft:end_stone').setMinGlobalLimited(20) .or(Predicates.blocks('minecraft:black_concrete'))) .where('O', Predicates.blocks('minecraft:obsidian').setMinGlobalLimited(8) .or(Predicates.air())) @@ -162,32 +141,21 @@ const registerGTCEuMachines = (event) => { .where('S', Predicates.blocks('tfg:artificial_end_portal_frame')) .where('N', Predicates.blocks('minecraft:black_concrete')) .where('G', Predicates.blocks('tfc:ore/small_malachite') - .or(Predicates.blocks('tfc:ore/small_native_copper')) - .or(Predicates.blocks('tfc:ore/small_native_gold')) - .or(Predicates.blocks('tfc:ore/small_hematite')) - .or(Predicates.blocks('tfc:ore/small_native_silver')) - .or(Predicates.blocks('tfc:ore/small_cassiterite')) - .or(Predicates.blocks('tfc:ore/small_bismuthinite')) - .or(Predicates.blocks('tfc:ore/small_garnierite')) - .or(Predicates.blocks('tfc:ore/small_malachite')) - .or(Predicates.blocks('tfc:ore/small_magnetite')) - .or(Predicates.blocks('tfc:ore/small_limonite')) - .or(Predicates.blocks('tfc:ore/small_sphalerite')) - .or(Predicates.blocks('tfc:ore/small_tetrahedrite'))) - .where('C', Predicates.blocks(GTBlocks.CASING_TITANIUM_STABLE.get()).setMinGlobalLimited(10) + .or(Predicates.blockTag($Tags.block("tfc:small_ore_pieces")))) + .where('C', Predicates.blocks(GTBlocks.CASING_TITANIUM_STABLE.get()).setMinGlobalLimited(10) .or(Predicates.autoAbilities(definition.getRecipeTypes())) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) .where(' ', Predicates.any()) - .build() - ) + .build() + ) .shapeInfo(controller => MultiblockShapeInfo.builder() .aisle(" CeCeC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") - .aisle("CBBBBBC", "Q O Q", "Q O Q", "Q Q", "Q Q", " QSSSQ ", " 123 ") - .aisle("iBBBBBf", "QO OQ", "QO Q", "QO Q", "Q Q", " SNNNS ", " y 4 ") - .aisle("CBBBBBC", "F E F", "F F", "F F", "F F", "FSNNNSF", " z 5 ") - .aisle("tBBBBNl", "Q O Q", "Q O Q", "Q Q", "Q Q", " SNNNS ", " 0 6 ") - .aisle("CNBBNNC", "Q Q", "Q Q", "Q Q", "Q Q", " QSSSQ ", " 987 ") - .aisle(" mCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") + .aisle("CBBBBBC", "Q O Q", "Q O Q", "Q Q", "Q Q", " QSSSQ ", " 123 ") + .aisle("iBBBBBf", "QO OQ", "QO Q", "QO Q", "Q Q", " SNNNS ", " y 4 ") + .aisle("CBBBBBC", "F E F", "F F", "F F", "F F", "FSNNNSF", " z 5 ") + .aisle("tBBBBNl", "Q O Q", "Q O Q", "Q Q", "Q Q", " SNNNS ", " 0 6 ") + .aisle("CNBBNNC", "Q Q", "Q Q", "Q Q", "Q Q", " QSSSQ ", " 987 ") + .aisle(" mCXCC ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " QQFQQ ", " F ", " ") .where('X', controller, Direction.SOUTH) .where('C', GTBlocks.CASING_TITANIUM_STABLE.get()) .where('B', Block.getBlock('minecraft:end_stone')) @@ -198,7 +166,7 @@ const registerGTCEuMachines = (event) => { .where(' ', Block.getBlock('minecraft:air')) .where('S', Block.getBlock('tfg:artificial_end_portal_frame')) .where('E', Block.getBlock('minecraft:dragon_egg')) - + .where('1', Block.getBlock('tfc:ore/small_native_copper')) .where('2', Block.getBlock('tfc:ore/small_native_gold')) .where('3', Block.getBlock('tfc:ore/small_hematite')) @@ -211,7 +179,7 @@ const registerGTCEuMachines = (event) => { .where('0', Block.getBlock('tfc:ore/small_limonite')) .where('z', Block.getBlock('tfc:ore/small_sphalerite')) .where('y', Block.getBlock('tfc:ore/small_tetrahedrite')) - + .where('m', GTMachines.MAINTENANCE_HATCH, Direction.SOUTH) .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST) .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.WEST) @@ -220,8 +188,52 @@ const registerGTCEuMachines = (event) => { .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.HV], Direction.NORTH) .build() ) - .workableCasingRenderer( - "gtceu:block/casings/solid/machine_casing_stable_titanium", - "gtceu:block/machines/gas_collector", false - ) + .workableCasingRenderer( + "gtceu:block/casings/solid/machine_casing_stable_titanium", + "gtceu:block/machines/gas_collector", false + ) + + //#endregion + + //#region Steam Bloomery + + event.create('steam_bloomery', 'multiblock') + .machine((holder) => new $SteamMulti(holder, 8)) + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('steam_bloomery') + .recipeModifier((machine, recipe) => $SteamMulti.recipeModifier(machine, recipe), true) + .appearanceBlock(GTBlocks.CASING_BRONZE_BRICKS) + .pattern(definition => FactoryBlockPattern.start() + .aisle(" F ", " C ", " E ", " E ", " E ") + .aisle("FCF", "C#C", "E#E", "E#E", "E#E") + .aisle(" F ", "CXC", " E ", " E ", " E ") + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('C', Predicates.blockTag($Tags.block("tfc:bloomery_insulation"))) + .where('F', Predicates.blocks(GTBlocks.FIREBOX_BRONZE.get()) + .or(Predicates.abilities(PartAbility.STEAM).setExactLimit(1))) + .where('E', Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setExactLimit(1) + .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setExactLimit(1)) + .or(Predicates.blockTag($Tags.block("tfc:bloomery_insulation")))) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .shapeInfo(controller => MultiblockShapeInfo.builder() + .aisle(" F ", " C ", " C ", " C ", " C ") + .aisle("FCF", "C#C", "C#C", "C#C", "C#C") + .aisle(" i ", "CXC", " O ", " I ", " C ") + .where('X', controller, Direction.SOUTH) + .where('C', Block.getBlock('tfc:rock/bricks/rhyolite')) + .where('F', GTBlocks.FIREBOX_BRONZE.get()) + .where('i', GTMachines.STEAM_HATCH, Direction.SOUTH) + .where('O', GTMachines.STEAM_EXPORT_BUS, Direction.SOUTH) + .where('I', GTMachines.STEAM_IMPORT_BUS, Direction.SOUTH) + .build() + ) + .workableCasingRenderer( + "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "tfg:block/steam_bloomery", false + ) + //#endregion + } diff --git a/kubejs/startup_scripts/gtceu/material_info.js b/kubejs/startup_scripts/gtceu/material_info.js deleted file mode 100644 index 07238979e..000000000 --- a/kubejs/startup_scripts/gtceu/material_info.js +++ /dev/null @@ -1,37 +0,0 @@ -// priority: 0 - -const registerGTCEuMaterialInfo = (event) => { - //#region Дерево - - global.VANILLA_WOOD_TYPES.forEach(woodType => { - event.remove(`minecraft:${woodType}_planks`) - event.remove(`minecraft:${woodType}_stairs`) - event.remove(`minecraft:${woodType}_slab`) - event.remove(`minecraft:${woodType}_fence`) - event.remove(`minecraft:${woodType}_fence_gate`) - event.remove(`minecraft:${woodType}_door`) - event.remove(`minecraft:${woodType}_button`) - event.remove(`minecraft:${woodType}_boat`) - }) - - // Сундуки - // removeMaterialInfo(Blocks.CHEST); - // removeMaterialInfo(Blocks.TRAPPED_CHEST); - - // Верстаки - // removeMaterialInfo(Blocks.CRAFTING_TABLE); - - //#endregion - - // const testMaterial1 = GTMaterials.Copper; - // const testMaterial2 = GTMaterials.Tin; - - // const b = new ItemMaterialInfo( - // new MaterialStack(testMaterial1, GTValues.M), - // new MaterialStack(testMaterial2, GTValues.M) - // ); - - // event.remove("minecraft:acacia_planks"); - - // event.add("minecraft:acacia_planks", b); -}; diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js new file mode 100644 index 000000000..24294ed39 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -0,0 +1,280 @@ +const registerGTCEuMaterials = (event) => { + +} + +const registerGTCEuMaterialModification = (event) => { + + //const TFGPropertyKey = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.TFGPropertyKeys') + const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') + const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty') + const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') + const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') + const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') + + const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') + + const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys') + + const { + HAS_TFC_TOOL, + HAS_TFC_ARMOR, + HAS_TFC_UTILITY, + HAS_PLATED_BLOCK, + CAN_BE_UNMOLDED, + GENERATE_BELL, + GENERATE_DOUBLE_INGOTS, + GENERATE_FIRMALIFE_GREENHOUSE_BLOCKS, + HAS_SMALL_TFC_ORE, + HAS_SMALL_NATIVE_TFC_ORE, + } = TFGMaterialFlags + + const { + GENERATE_ROD, + GENERATE_LONG_ROD, + GENERATE_BOLT_SCREW, + GENERATE_ROTOR, + GENERATE_SPRING, + GENERATE_SMALL_GEAR, + GENERATE_GEAR, + GENERATE_FRAME, + GENERATE_PLATE + } = $MATERIAL_FLAGS + + var metalTooling = [ + GTToolType.AXE, + GTToolType.PICKAXE, + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.SAW, + GTToolType.SHOVEL, + GTToolType.SHOVEL, + GTToolType.SPADE, + GTToolType.MINING_HAMMER, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.BUZZSAW, + GTToolType.SCYTHE, + GTToolType.WIRE_CUTTER, + GTToolType.DRILL_LV, + GTToolType.DRILL_MV, + GTToolType.DRILL_HV, + GTToolType.DRILL_EV, + GTToolType.DRILL_IV, + GTToolType.SCREWDRIVER, + GTToolType.SCREWDRIVER_LV, + GTToolType.CHAINSAW_LV, + GTToolType.WRENCH, + GTToolType.WRENCH_LV, + GTToolType.WRENCH_HV, + GTToolType.WRENCH_IV, + GTToolType.CROWBAR, + ] + + /* TFC Проперти для материалов */ + + // TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material) + + GTMaterials.Copper.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 1080, 1)); + GTMaterials.BismuthBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(591, 788, 985, 2)); + GTMaterials.Bronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 2)); + GTMaterials.BlackBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(642, 856, 1070, 2)); + GTMaterials.WroughtIron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); + GTMaterials.Steel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 4)); + GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5)); + GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + + GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1)); + GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1)); + GTMaterials.Brass.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(558, 744, 930, 2)); + GTMaterials.Nickel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(872, 1162, 1453, 1)); + GTMaterials.RoseGold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(576, 768, 960, 1)); + GTMaterials.Silver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(577, 769, 961, 1)); + GTMaterials.Tin.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, 1)); + GTMaterials.Zinc.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(252, 336, 420, 1)); + GTMaterials.SterlingSilver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 1)); + GTMaterials.Iron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, 3)); + + GTMaterials.Hematite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.YellowLimonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + GTMaterials.Chalcopyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 85)); + GTMaterials.Chalcocite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 95)); + GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100)); + GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 85)); + GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90)); + GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100)); + GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85)); + + + GTMaterials.Redstone.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(240, 320, 460, 1)); + GTMaterials.RedAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 650, 740, 2)); + GTMaterials.TinAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1000, 1100, 1250, 3)); + + GTMaterials.Gold.addFlags(GENERATE_BELL); + GTMaterials.Brass.addFlags(GENERATE_BELL); + GTMaterials.Bronze.addFlags(GENERATE_BELL); + + // + // + // /* Имеют двойные слитки */ + GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS); + // + // /* Имеют инструменты, броню TFC, двойные слитки */ + GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); + GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); + GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); + GTMaterials.BlackBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); + GTMaterials.WroughtIron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.Steel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.RedSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlueSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + // + // /* Имеют маленькие куски руды TFC */ + GTMaterials.Bismuth.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Cassiterite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Garnierite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Hematite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.YellowLimonite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Magnetite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE); + // + // /* Имеют маленькие чистые куски руды TFC */ + GTMaterials.Copper.addFlags(HAS_SMALL_NATIVE_TFC_ORE); + GTMaterials.Gold.addFlags(HAS_SMALL_NATIVE_TFC_ORE); + GTMaterials.Silver.addFlags(HAS_SMALL_NATIVE_TFC_ORE); + // + // /* Имеют двойные слитки */ + GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS); + // + // /* Другое */ + + // TODO: Exception needs to check the wizardry + GTMaterials.Bismuth.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + GTMaterials.EXT2_METAL.forEach(tag => GTMaterials.Bismuth.addFlags(tag)) + + GTMaterials.Borax.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + + GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); + GTMaterials.NetherQuartz.addFlags(GENERATE_ROD); + + GTMaterials.BlackBronze.addFlags(GENERATE_FRAME); + GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); + + GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR); + GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR); + GTMaterials.BismuthBronze.addFlags(GENERATE_GEAR); + + GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); + GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); + + GTMaterials.Copper.addFlags(GENERATE_BOLT_SCREW); + GTMaterials.DamascusSteel.addFlags(GENERATE_BOLT_SCREW); + GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW); + + GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE) + + GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); + + GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ + GTToolType.AXE, + GTToolType.HARD_HAMMER, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.SHOVEL + ]).build()); + + GTMaterials.Copper.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.0, 1.5, 132, 2, metalTooling).build()); + GTMaterials.BismuthBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 2.0, 178, 2, metalTooling).build()); + GTMaterials.BlackBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(3.3, 2.0, 204, 2, metalTooling).build()); + GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); + GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); + + for (var material of GTCEuAPI.materialManager.getRegisteredMaterials()) { + var toolProperty = material.getProperty(PropertyKey.TOOL); + if (toolProperty == null) + continue; + + toolProperty.setDurability(toolProperty.getDurability() * 6); + } + + // Bismuth item pipe - same stats as tin + GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(4096, 0.5)); + // Bis bronze fluid pipe - same stats as bronze + GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo + GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); + // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten + GTMaterials.BlueSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4618, 75, true, false, false, false)); + + // Add some hazards back + GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); + GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); + GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false)); + GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CARCINOGEN, 1, false)); + + // Color Adjustments + GTMaterials.BismuthBronze.setMaterialARGB(0x8CDCB6) + GTMaterials.BlackBronze.setMaterialARGB(0xB681CE) + GTMaterials.RedSteel.setMaterialARGB(0xc8575d) + GTMaterials.RedSteel.setMaterialSecondaryARGB(0x560307) + GTMaterials.BlueSteel.setMaterialARGB(0x7a87b7) + GTMaterials.BlueSteel.setMaterialSecondaryARGB(0x283467) + + GTMaterials.Iron.setMaterialARGB(0x503d32) + GTMaterials.Iron.setMaterialSecondaryARGB(0x131212) + GTMaterials.IronMagnetic.setMaterialARGB(0x503d32) + GTMaterials.IronMagnetic.setMaterialSecondaryARGB(0x131212) + GTMaterials.Zinc.setMaterialARGB(0xd6ffdc) + GTMaterials.Zinc.setMaterialSecondaryARGB(0x213b3f) + GTMaterials.Graphite.setMaterialARGB(0x889BA8) + GTMaterials.Graphite.setMaterialSecondaryARGB(0x30383E) + GTMaterials.Amethyst.setMaterialARGB(0xCC9EF0) + GTMaterials.Amethyst.setMaterialSecondaryARGB(0x6F4AB3) + GTMaterials.Cobalt.setMaterialARGB(0xC9E4FB) + GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688) + GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC) + GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0x466580) + GTMaterials.Vanadium.setMaterialARGB(0xD8D4E7) + GTMaterials.Vanadium.setMaterialSecondaryARGB(0x7E988F) + GTMaterials.Brass.setMaterialSecondaryARGB(0x791905) + GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff) + GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b) + GTMaterials.Titanium.setMaterialARGB(0xe8b1fa) + GTMaterials.Titanium.setMaterialSecondaryARGB(0xd8d5d9) + GTMaterials.TungstenSteel.setMaterialARGB(0xadb8df) + GTMaterials.TungstenSteel.setMaterialSecondaryARGB(0x03192f) + GTMaterials.RoseGold.setMaterialARGB(0xFCE4D8) + GTMaterials.RoseGold.setMaterialSecondaryARGB(0xAB675A) + + + global.MINECRAFT_DYE_NAMES.forEach(colorName => + { + var material = GTCEuAPI.materialManager.getMaterial(`gtceu:${colorName}_dye`); + var property = material.getProperty(PropertyKey.FLUID); + property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null); + }); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 7477493db..7ba54d0be 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,36 +1,34 @@ // priority: 0 const registerGTCEuRecipeTypes = (event) => { - event.create('greenhouse') - .category('greenhouse') - .setEUIO('in') - .setMaxIOSize(3, 4, 1, 0) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.BATH) + event.create('greenhouse') + .category('greenhouse') + .setEUIO('in') + .setMaxIOSize(3, 4, 1, 0) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.BATH) - event.create('alternator') - .category('alternator') - .setEUIO('out') - .setMaxIOSize(1, 0, 0, 0) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.ARC) - .setMaxTooltips(6) - - event.create('nether_dome') .category('nether_dome') .setEUIO('in') .setMaxIOSize(2, 1, 1, 1) .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.FIRE) - + .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.FIRE) + event.create('end_dome') .category('end_dome') .setEUIO('in') .setMaxIOSize(2, 1, 1, 1) .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.FIRE) -} + .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.FIRE) + event.create('steam_bloomery') + .category('steam_bloomery') + .setEUIO('in') + .setMaxIOSize(2, 1, 0, 0) + .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.FIRE) +} diff --git a/kubejs/startup_scripts/gtceu/tag_prefixes.js b/kubejs/startup_scripts/gtceu/tag_prefixes.js new file mode 100644 index 000000000..6e6799af0 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/tag_prefixes.js @@ -0,0 +1,98 @@ +// priority: 0 + +const registerGTCEuTagPrefixes = (event) => { + + const $TagKeyClass = Java.loadClass('net.minecraft.tags.TagKey') + const $ForgeRegistries = Java.loadClass('net.minecraftforge.registries.ForgeRegistries') + const $ResourceLocation = Java.loadClass('net.minecraft.resources.ResourceLocation') + + const createBlockTag = (path) => + $TagKeyClass.create($ForgeRegistries.BLOCKS.getRegistryKey(), new $ResourceLocation(path)) + + /* Tag Fixes */ + TagPrefix.plate.defaultTagPath("sheets/%s") + TagPrefix.plateDouble.defaultTagPath("double_sheets/%s") + + TagPrefix.frameGt.unformattedTagPath("frames") + + TagPrefix.wireGtSingle.defaultTagPath("single_wires/%s") + TagPrefix.wireGtSingle.unformattedTagPath("single_wires") + TagPrefix.wireGtDouble.defaultTagPath("double_wires/%s") + TagPrefix.wireGtDouble.unformattedTagPath("double_wires") + TagPrefix.wireGtQuadruple.defaultTagPath("quadruple_wires/%s") + TagPrefix.wireGtQuadruple.unformattedTagPath("quadruple_wires") + TagPrefix.wireGtOctal.defaultTagPath("octal_wires/%s") + TagPrefix.wireGtOctal.unformattedTagPath("octal_wires") + TagPrefix.wireGtHex.defaultTagPath("hex_wires/%s") + TagPrefix.wireGtHex.unformattedTagPath("hex_wires") + + TagPrefix.cableGtSingle.defaultTagPath("single_cables/%s") + TagPrefix.cableGtSingle.unformattedTagPath("single_cables") + TagPrefix.cableGtDouble.defaultTagPath("double_cables/%s") + TagPrefix.cableGtDouble.unformattedTagPath("double_cables") + TagPrefix.cableGtQuadruple.defaultTagPath("quadruple_cables/%s") + TagPrefix.cableGtQuadruple.unformattedTagPath("quadruple_cables") + TagPrefix.cableGtOctal.defaultTagPath("octal_cables/%s") + TagPrefix.cableGtOctal.unformattedTagPath("octal_cables") + TagPrefix.cableGtHex.defaultTagPath("hex_cables/%s") + TagPrefix.cableGtHex.unformattedTagPath("hex_cables") + + TagPrefix.pipeTinyFluid.defaultTagPath("tiny_fluid_pipes/%s") + TagPrefix.pipeTinyFluid.unformattedTagPath("tiny_fluid_pipes") + TagPrefix.pipeSmallFluid.defaultTagPath("small_fluid_pipes/%s") + TagPrefix.pipeSmallFluid.unformattedTagPath("small_fluid_pipes") + TagPrefix.pipeNormalFluid.defaultTagPath("normal_fluid_pipes/%s") + TagPrefix.pipeNormalFluid.unformattedTagPath("normal_fluid_pipes") + TagPrefix.pipeLargeFluid.defaultTagPath("large_fluid_pipes/%s") + TagPrefix.pipeLargeFluid.unformattedTagPath("large_fluid_pipes") + TagPrefix.pipeHugeFluid.defaultTagPath("huge_fluid_pipes/%s") + TagPrefix.pipeHugeFluid.unformattedTagPath("huge_fluid_pipes") + TagPrefix.pipeQuadrupleFluid.defaultTagPath("quadruple_fluid_pipes/%s") + TagPrefix.pipeQuadrupleFluid.unformattedTagPath("quadruple_fluid_pipes") + TagPrefix.pipeNonupleFluid.defaultTagPath("nonuple_fluid_pipes/%s") + TagPrefix.pipeNonupleFluid.unformattedTagPath("nonuple_fluid_pipes") + + // FirmaLife Shit + TagPrefix.pipeTinyFluid.customTagPath("", (prefix, mat) => createBlockTag("firmalife:always_valid_greenhouse_wall")) + TagPrefix.pipeSmallFluid.customTagPath("", (prefix, mat) => createBlockTag("firmalife:always_valid_greenhouse_wall")) + TagPrefix.pipeNormalFluid.customTagPath("", (prefix, mat) => createBlockTag("firmalife:always_valid_greenhouse_wall")) + TagPrefix.pipeLargeFluid.customTagPath("", (prefix, mat) => createBlockTag("firmalife:always_valid_greenhouse_wall")) + // FirmaLife Shit + + TagPrefix.pipeSmallItem.defaultTagPath("small_item_pipes/%s") + TagPrefix.pipeSmallItem.unformattedTagPath("small_item_pipes") + TagPrefix.pipeNormalItem.defaultTagPath("normal_item_pipes/%s") + TagPrefix.pipeNormalItem.unformattedTagPath("normal_item_pipes") + TagPrefix.pipeLargeItem.defaultTagPath("large_item_pipes/%s") + TagPrefix.pipeLargeItem.unformattedTagPath("large_item_pipes") + TagPrefix.pipeHugeItem.defaultTagPath("huge_item_pipes/%s") + TagPrefix.pipeHugeItem.unformattedTagPath("huge_item_pipes") + + TagPrefix.pipeSmallRestrictive.defaultTagPath("small_restrictive_pipes/%s") + TagPrefix.pipeSmallRestrictive.unformattedTagPath("small_restrictive_pipes") + TagPrefix.pipeNormalRestrictive.defaultTagPath("normal_restrictive_pipes/%s") + TagPrefix.pipeNormalRestrictive.unformattedTagPath("normal_restrictive_pipes") + TagPrefix.pipeLargeRestrictive.defaultTagPath("large_restrictive_pipes/%s") + TagPrefix.pipeLargeRestrictive.unformattedTagPath("large_restrictive_pipes") + TagPrefix.pipeHugeRestrictive.defaultTagPath("huge_restrictive_pipes/%s") + TagPrefix.pipeHugeRestrictive.unformattedTagPath("huge_restrictive_pipes") + + TagPrefix.toolHeadDrill.defaultTagPath("drill_heads/%s") + TagPrefix.toolHeadDrill.unformattedTagPath("drill_heads") + + TagPrefix.toolHeadChainsaw.defaultTagPath("chainsaw_heads/%s") + TagPrefix.toolHeadChainsaw.unformattedTagPath("chainsaw_heads") + + TagPrefix.toolHeadBuzzSaw.defaultTagPath("buzz_saw_heads/%s") + TagPrefix.toolHeadBuzzSaw.unformattedTagPath("buzz_saw_heads") + + TagPrefix.toolHeadWrench.defaultTagPath("wrench_tips/%s") + TagPrefix.toolHeadWrench.unformattedTagPath("wrench_tips") + + TagPrefix.toolHeadScrewdriver.defaultTagPath("screwdriver_tips/%s") + TagPrefix.toolHeadScrewdriver.unformattedTagPath("screwdriver_tips") + + TagPrefix.turbineBlade.defaultTagPath("turbine_blades/%s") + TagPrefix.turbineBlade.unformattedTagPath("turbine_blades") + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/horornot/constants.js b/kubejs/startup_scripts/horornot/constants.js index 66b032dfc..8a46a7625 100644 --- a/kubejs/startup_scripts/horornot/constants.js +++ b/kubejs/startup_scripts/horornot/constants.js @@ -1,7 +1,5 @@ // priority: 0 global.HOT_OR_NOT_DISABLED_ITEMS = [ - 'tfchotornot:tong_part/cast_iron', - 'tfchotornot:tongs/cast_iron' ]; diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 8813b7a61..cdf916826 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -1,4 +1,4 @@ -// priority: 1 +// priority: 0 /** * Событие регистрации предметов. @@ -12,7 +12,6 @@ StartupEvents.registry('item', event => { * Событие регистрации блоков. */ StartupEvents.registry('block', event => { - registerGTCEuBlocks(event) registerTFGBlocks(event) }) @@ -20,13 +19,16 @@ StartupEvents.registry('block', event => { * Событие изменения блоков. */ BlockEvents.modification(event => { - modifyFirmaCivBlocks(event) + // modifyFirmaCivBlocks(event) }) /** * Событие изменения предметов. */ -ItemEvents.modification(event => {}) +ItemEvents.modification(event => { + registerBeneathItemModifications(event) + registerMinecraftItemModifications(event) +}) /** * Событие регистрации жидкостей. @@ -49,14 +51,42 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { registerGTCEuMachines(event) }) -GTCEuStartupEvents.registry('gtceu:material', event => -{ +/** + * Событие регистрации тэг префиксов. +*/ +GTCEuStartupEvents.registry('gtceu:tag_prefix', event => { + registerAE2TagPrefixes(event) + registerTFCTagPrefixes(event) + registerGTCEuTagPrefixes(event) +}) + +GTCEuStartupEvents.registry('gtceu:material', event => { + registerAE2Materials(event) + registerTFCMaterials(event) + registerGTCEuMaterials(event) registerTFGMaterials(event) }) +GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { + registerTFCIconSets(event) +}) + /** - * Событие регистрации информации о составе предмета. - */ -// TFGStartupEvents.materialInfo(event => { -// registerGTCEuMaterialInfo(event) -// }) + * Событие модификации материалов. +*/ +GTCEuStartupEvents.materialModification(event => { + registerGTCEuMaterialModification(event) +}) + + +//GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { +// event.create('ad_astra:earth_orbit') +// .iconSupplier(() => Item.of('ad_astra:earth_globe').getItem()) +// .tier(0) +// .overrideName('Earth Orbit') +//}) + + +Platform.mods.kaolinclayze.name = "Primitive Creatures"; +Platform.mods.tfg.name = "TerraFirmaGreg"; +Platform.mods.kubejs.name = "TerraFirmaGreg"; \ No newline at end of file diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index c0aee03a0..c0c1eb955 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -89,27 +89,10 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:end_stone_brick_slab', 'minecraft:end_stone_brick_wall', + // Dripstone + 'minecraft:pointed_dripstone', + // Сланец - 'minecraft:cobbled_deepslate', - 'minecraft:cobbled_deepslate_stairs', - 'minecraft:cobbled_deepslate_slab', - 'minecraft:cobbled_deepslate_wall', - 'minecraft:deepslate_tiles', - 'minecraft:deepslate_tile_stairs', - 'minecraft:deepslate_tile_slab', - 'minecraft:deepslate_tile_wall', - 'minecraft:deepslate_bricks', - 'minecraft:deepslate_brick_stairs', - 'minecraft:deepslate_brick_slab', - 'minecraft:deepslate_brick_wall', - 'minecraft:polished_deepslate', - 'minecraft:polished_deepslate_stairs', - 'minecraft:polished_deepslate_slab', - 'minecraft:polished_deepslate_wall', - 'minecraft:cracked_deepslate_tiles', - 'minecraft:chiseled_deepslate', - 'minecraft:cracked_deepslate_bricks', - 'minecraft:deepslate', 'minecraft:reinforced_deepslate', // Грязь @@ -445,7 +428,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ // Броня "minecraft:netherite_helmet", "minecraft:netherite_chestplate", - "minecraft:netherite_leggings", "minecraft:netherite_boots", "minecraft:golden_helmet", "minecraft:golden_chestplate", @@ -513,9 +495,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:pink_candle', // Другое - 'minecraft:calcite', - 'minecraft:tuff', - 'minecraft:dripstone_block', 'minecraft:grass_block', 'minecraft:dirt', 'minecraft:coarse_dirt', @@ -526,13 +505,10 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:suspicious_gravel', 'minecraft:stonecutter', 'minecraft:gravel', - 'minecraft:moss_block', - 'minecraft:moss_carpet', 'minecraft:large_fern', 'minecraft:tall_grass', 'minecraft:sculk_vein', 'minecraft:lily_pad', - 'minecraft:glow_lichen', 'minecraft:vine', 'minecraft:seagrass', 'minecraft:grass', @@ -552,17 +528,12 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:wither_rose', 'minecraft:torchflower', 'minecraft:pitcher_plant', - 'minecraft:spore_blossom', - 'minecraft:big_dripleaf', - 'minecraft:small_dripleaf', 'minecraft:sculk', 'minecraft:sculk_vein', 'minecraft:sculk_catalyst', 'minecraft:sculk_shrieker', 'minecraft:dead_bush', 'minecraft:sugar_cane', - 'minecraft:red_mushroom', - 'minecraft:brown_mushroom', 'minecraft:kelp', 'minecraft:dried_kelp_block', 'minecraft:dried_kelp', @@ -605,7 +576,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:salmon_bucket', 'minecraft:cod_bucket', 'minecraft:tropical_fish_bucket', - 'minecraft:axolotl_bucket', 'minecraft:tadpole_bucket', 'minecraft:player_head', 'minecraft:command_block_minecart', @@ -625,7 +595,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:frogspawn', 'minecraft:cactus', 'minecraft:sweet_berries', - 'minecraft:glow_berries', 'minecraft:campfire', 'minecraft:soul_campfire', 'minecraft:bee_nest', @@ -650,7 +619,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:honey_bottle', 'minecraft:honeycomb_block', 'minecraft:honey_block', - //'minecraft:chorus_fruit', 'minecraft:popped_chorus_fruit', 'minecraft:purpur_pillar', 'minecraft:purpur_block', @@ -671,7 +639,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:brush', 'minecraft:sea_lantern', 'minecraft:bookshelf', + 'minecraft:enchanting_table', 'minecraft:enchanted_book', + 'minecraft:ender_chest', 'minecraft:repeating_command_block', 'minecraft:command_block', 'minecraft:azalea', @@ -681,14 +651,10 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:azalea_leaves', 'minecraft:flowering_azalea_leaves', 'minecraft:dirt_path', - 'minecraft:mushroom_stem', - 'minecraft:brown_mushroom_block', - 'minecraft:red_mushroom_block', //'minecraft:dragon_egg', 'minecraft:end_portal_frame', 'minecraft:mushroom_stew', 'minecraft:structure_void', - 'minecraft:lectern', 'minecraft:sea_pickle', 'minecraft:apple', 'minecraft:soul_torch', @@ -698,18 +664,16 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:damaged_anvil', 'minecraft:furnace', 'minecraft:furnace_minecart', - 'minecraft:pointed_dripstone', - 'minecraft:small_amethyst_bud', - 'minecraft:medium_amethyst_bud', - 'minecraft:large_amethyst_bud', 'minecraft:amethyst_cluster', 'minecraft:rabbit_hide', - 'minecraft:raw_iron_block', - 'minecraft:raw_gold_block', - 'minecraft:raw_copper_block', + 'minecraft:raw_iron', + 'minecraft:raw_gold', 'minecraft:compass', 'minecraft:iron_bars', 'minecraft:honeycomb', + 'minecraft:tipped_arrow', + 'minecraft:grindstone', + 'minecraft:fermented_spider_eye', // Кримзон незер дерево // TODO: Разблокировать после добавления ада @@ -726,6 +690,8 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:crimson_trapdoor', 'minecraft:crimson_pressure_plate', 'minecraft:crimson_button', + 'minecraft:crimson_sign', + 'minecraft:crimson_hanging_sign', // Варпед незер дерево // TODO: Разблокировать после добавления ада @@ -742,14 +708,10 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:warped_trapdoor', 'minecraft:warped_pressure_plate', 'minecraft:warped_button', + 'minecraft:warped_sign', + 'minecraft:warped_hanging_sign', // Куча незер блоков - // TODO: Разблокировать после добавления ада - 'minecraft:polished_blackstone_bricks', - 'minecraft:cracked_polished_blackstone_bricks', - 'minecraft:polished_blackstone_brick_stairs', - 'minecraft:polished_blackstone_brick_slab', - 'minecraft:polished_blackstone_brick_wall', //'minecraft:netherrack', //'minecraft:nether_bricks', 'minecraft:cracked_nether_bricks', @@ -762,32 +724,16 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:red_nether_brick_stairs', 'minecraft:red_nether_brick_slab', 'minecraft:red_nether_brick_wall', - 'minecraft:basalt', - 'minecraft:smooth_basalt', - 'minecraft:polished_basalt', - 'minecraft:blackstone', - 'minecraft:gilded_blackstone', - 'minecraft:blackstone_stairs', - 'minecraft:blackstone_slab', - 'minecraft:blackstone_wall', - 'minecraft:chiseled_polished_blackstone', - 'minecraft:polished_blackstone', - 'minecraft:polished_blackstone_stairs', - 'minecraft:polished_blackstone_slab', - 'minecraft:polished_blackstone_wall', - 'minecraft:polished_blackstone_pressure_plate', - 'minecraft:polished_blackstone_button', // И еще куча незер блоков // TODO: Разблокировать после добавления ада - 'minecraft:crying_obsidian', 'minecraft:crimson_nylium', 'minecraft:warped_nylium', 'minecraft:soul_sand', 'minecraft:soul_soil', + 'minecraft:crying_obsidian', 'minecraft:nether_wart_block', 'minecraft:warped_wart_block', - 'minecraft:shroomlight', 'minecraft:crimson_fungus', 'minecraft:piglin_head', 'minecraft:zombie_head', diff --git a/kubejs/startup_scripts/minecraft/modifications.js b/kubejs/startup_scripts/minecraft/modifications.js new file mode 100644 index 000000000..cc8ea5a55 --- /dev/null +++ b/kubejs/startup_scripts/minecraft/modifications.js @@ -0,0 +1,23 @@ +// priority: 0 + +function registerMinecraftItemModifications(event) { + + event.modify('minecraft:red_mushroom', item => { + item.foodProperties = food => { + food.hunger(2) + food.saturation(1) + food.effect('minecraft:nausea', 100, 1, 1) + } + }) + + event.modify('minecraft:brown_mushroom', item => { + item.foodProperties = food => { + food.hunger(2) + food.saturation(1) + } + }) + + event.modify('minecraft:elytra', item => { + item.maxDamage = 2046 + }) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/rnr/constants.js b/kubejs/startup_scripts/rnr/constants.js new file mode 100644 index 000000000..8ec939165 --- /dev/null +++ b/kubejs/startup_scripts/rnr/constants.js @@ -0,0 +1,5 @@ +// priority: 0 + +global.RNR_DISABLED_ITEMS = [ + 'rnr:concrete_powder' +]; diff --git a/kubejs/startup_scripts/sophisticated_backpacks/constants.js b/kubejs/startup_scripts/sophisticated_backpacks/constants.js index 678c219fb..9cebaebbc 100644 --- a/kubejs/startup_scripts/sophisticated_backpacks/constants.js +++ b/kubejs/startup_scripts/sophisticated_backpacks/constants.js @@ -12,8 +12,6 @@ global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS = [ 'sophisticatedbackpacks:stack_upgrade_tier_2', 'sophisticatedbackpacks:stack_upgrade_tier_3', 'sophisticatedbackpacks:stack_upgrade_tier_4', - 'sophisticatedbackpacks:tank_upgrade', - 'sophisticatedbackpacks:battery_upgrade', 'sophisticatedbackpacks:pump_upgrade', 'sophisticatedbackpacks:advanced_pump_upgrade', 'sophisticatedbackpacks:xp_pump_upgrade', @@ -22,7 +20,8 @@ global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS = [ 'sophisticatedbackpacks:advanced_feeding_upgrade', 'sophisticatedbackpacks:feeding_upgrade', 'sophisticatedbackpacks:anvil_upgrade', - 'sophisticatedbackpacks:stack_upgrade_starter_tier', - 'sophisticatedbackpacks:copper_backpack' + 'sophisticatedbackpacks:copper_backpack', + 'sophisticatedbackpacks:infinity_upgrade', + 'sophisticatedbackpacks:survival_infinity_upgrade' ]; diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 6ce10906d..95e2ef98d 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -5,69 +5,7 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.TFC_DISABLED_ITEMS = [ - // Blocks - 'tfc:metal/block/bismuth', - 'tfc:metal/block/bismuth_bronze', - 'tfc:metal/block/black_bronze', - 'tfc:metal/block/bronze', - 'tfc:metal/block/brass', - 'tfc:metal/block/copper', - 'tfc:metal/block/gold', - 'tfc:metal/block/nickel', - 'tfc:metal/block/rose_gold', - 'tfc:metal/block/silver', - 'tfc:metal/block/tin', - 'tfc:metal/block/zinc', - 'tfc:metal/block/sterling_silver', - 'tfc:metal/block/wrought_iron', - 'tfc:metal/block/cast_iron', - 'tfc:metal/block/steel', - 'tfc:metal/block/black_steel', - 'tfc:metal/block/blue_steel', - 'tfc:metal/block/red_steel', - - // Stairs - 'tfc:metal/block/bismuth_stairs', - 'tfc:metal/block/bismuth_bronze_stairs', - 'tfc:metal/block/black_bronze_stairs', - 'tfc:metal/block/bronze_stairs', - 'tfc:metal/block/brass_stairs', - 'tfc:metal/block/copper_stairs', - 'tfc:metal/block/gold_stairs', - 'tfc:metal/block/nickel_stairs', - 'tfc:metal/block/rose_gold_stairs', - 'tfc:metal/block/silver_stairs', - 'tfc:metal/block/tin_stairs', - 'tfc:metal/block/zinc_stairs', - 'tfc:metal/block/sterling_silver_stairs', - 'tfc:metal/block/wrought_iron_stairs', - 'tfc:metal/block/cast_iron_stairs', - 'tfc:metal/block/steel_stairs', - 'tfc:metal/block/black_steel_stairs', - 'tfc:metal/block/blue_steel_stairs', - 'tfc:metal/block/red_steel_stairs', - - // Slabs - 'tfc:metal/block/bismuth_slab', - 'tfc:metal/block/bismuth_bronze_slab', - 'tfc:metal/block/black_bronze_slab', - 'tfc:metal/block/bronze_slab', - 'tfc:metal/block/brass_slab', - 'tfc:metal/block/copper_slab', - 'tfc:metal/block/gold_slab', - 'tfc:metal/block/nickel_slab', - 'tfc:metal/block/rose_gold_slab', - 'tfc:metal/block/silver_slab', - 'tfc:metal/block/tin_slab', - 'tfc:metal/block/zinc_slab', - 'tfc:metal/block/sterling_silver_slab', - 'tfc:metal/block/wrought_iron_slab', - 'tfc:metal/block/cast_iron_slab', - 'tfc:metal/block/steel_slab', - 'tfc:metal/block/black_steel_slab', - 'tfc:metal/block/blue_steel_slab', - 'tfc:metal/block/red_steel_slab', - + // Ingots "tfc:metal/ingot/bismuth", "tfc:metal/ingot/bismuth_bronze", @@ -77,9 +15,6 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/ingot/sterling_silver", "tfc:metal/ingot/wrought_iron", "tfc:metal/ingot/steel", - "tfc:metal/ingot/black_steel", - "tfc:metal/ingot/red_steel", - "tfc:metal/ingot/blue_steel", "tfc:metal/ingot/brass", "tfc:metal/ingot/nickel", "tfc:metal/ingot/silver", @@ -98,15 +33,11 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_ingot/sterling_silver", "tfc:metal/double_ingot/wrought_iron", "tfc:metal/double_ingot/steel", - "tfc:metal/double_ingot/black_steel", - "tfc:metal/double_ingot/red_steel", - "tfc:metal/double_ingot/blue_steel", "tfc:metal/double_ingot/brass", "tfc:metal/double_ingot/nickel", "tfc:metal/double_ingot/silver", "tfc:metal/double_ingot/tin", "tfc:metal/double_ingot/zinc", - "tfc:metal/double_ingot/cast_iron", "tfc:metal/double_ingot/copper", "tfc:metal/double_ingot/gold", @@ -357,44 +288,6 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:metal/scythe/blue_steel', 'tfc:metal/scythe_blade/blue_steel', - // Ores - 'tfc:ore/poor_native_copper', - 'tfc:ore/normal_native_copper', - 'tfc:ore/rich_native_copper', - 'tfc:ore/poor_native_gold', - 'tfc:ore/normal_native_gold', - 'tfc:ore/rich_native_gold', - 'tfc:ore/poor_hematite', - 'tfc:ore/normal_hematite', - 'tfc:ore/rich_hematite', - 'tfc:ore/rich_tetrahedrite', - 'tfc:ore/normal_tetrahedrite', - 'tfc:ore/poor_tetrahedrite', - 'tfc:ore/rich_sphalerite', - 'tfc:ore/normal_sphalerite', - 'tfc:ore/poor_sphalerite', - 'tfc:ore/rich_limonite', - 'tfc:ore/normal_limonite', - 'tfc:ore/poor_limonite', - 'tfc:ore/rich_magnetite', - 'tfc:ore/normal_magnetite', - 'tfc:ore/poor_magnetite', - 'tfc:ore/rich_malachite', - 'tfc:ore/normal_malachite', - 'tfc:ore/poor_malachite', - 'tfc:ore/rich_garnierite', - 'tfc:ore/normal_garnierite', - 'tfc:ore/poor_garnierite', - 'tfc:ore/rich_bismuthinite', - 'tfc:ore/normal_bismuthinite', - 'tfc:ore/poor_bismuthinite', - 'tfc:ore/rich_cassiterite', - 'tfc:ore/normal_cassiterite', - 'tfc:ore/poor_cassiterite', - 'tfc:ore/rich_native_silver', - 'tfc:ore/normal_native_silver', - 'tfc:ore/poor_native_silver', - // Gems 'tfc:gem/amethyst', 'tfc:gem/diamond', @@ -421,7 +314,6 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:ore/cryolite', 'tfc:ore/saltpeter', 'tfc:ore/borax', - 'tfc:ore/sylvite', 'tfc:ore/bituminous_coal', 'tfc:ore/lignite', 'tfc:ore/halite', @@ -582,6 +474,8 @@ global.TFC_DISABLED_ITEMS = [ // Windmill Blades "tfc:windmill_blade", + "tfc:rustic_windmill_blade", + "tfc:lattice_windmill_blade", "tfc:orange_windmill_blade", "tfc:magenta_windmill_blade", "tfc:light_blue_windmill_blade", @@ -656,6 +550,9 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:crankshaft', 'tfc:hand_wheel_base', 'tfc:hand_wheel', + 'tfc:blank_disc', + 'tfc:sandpaper', + 'tfc:brass_mechanisms' ]; /** @@ -999,9 +896,8 @@ global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = [ { input: '#forge:dusts/borax', output: '4x tfc:powder/flux', name: 'flux_powder' }, { input: '#forge:dusts/soda_ash', output: '4x tfc:powder/soda_ash', name: 'soda_ash' }, { input: 'gtceu:charcoal_dust', output: '2x tfc:powder/charcoal', name: 'charcoal' }, - { input: 'gtceu:raw_graphite', output: 'gtceu:graphite_dust', name: 'raw_graphite_to_dust' }, - { input: 'gtceu:poor_raw_graphite', output: '5x gtceu:tiny_graphite_dust', name: 'poor_raw_graphite_to_dust' }, - { input: 'gtceu:rich_raw_graphite', output: '2x gtceu:graphite_dust', name: 'rich_graphite_to_dust' }, + { input: 'tfc:ore/sylvite', output: '4x tfc:powder/sylvite', name: 'sylvite' }, + { input: 'firmalife:ore/small_chromite', output: 'gtceu:small_chromite_dust', name: 'chromite' } ]; global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS = [ @@ -1041,41 +937,41 @@ global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS = [ ]; global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'tfc:plant/cherry_sapling', fluid_amount: 8000, output: '3x tfc:food/cherry', name: 'cherry' }, - { input: 'tfc:plant/green_apple_sapling', fluid_amount: 8000, output: '3x tfc:food/green_apple', name: 'green_apple' }, - { input: 'tfc:plant/lemon_sapling', fluid_amount: 8000, output: '3x tfc:food/lemon', name: 'lemon' }, - { input: 'tfc:plant/olive_sapling', fluid_amount: 8000, output: '3x tfc:food/olive', name: 'olive' }, - { input: 'tfc:plant/orange_sapling', fluid_amount: 8000, output: '3x tfc:food/orange', name: 'orange' }, - { input: 'tfc:plant/peach_sapling', fluid_amount: 8000, output: '3x tfc:food/peach', name: 'peach' }, - { input: 'tfc:plant/plum_sapling', fluid_amount: 8000, output: '3x tfc:food/plum', name: 'plum' }, - { input: 'tfc:plant/red_apple_sapling', fluid_amount: 8000, output: '3x tfc:food/red_apple', name: 'red_apple' }, - { input: 'tfc:plant/banana_sapling', fluid_amount:8000, output: '3x tfc:food/banana', name: 'banana' }, + { input: 'tfc:plant/cherry_sapling', fluid_amount: 8000, output: '32x tfc:food/cherry', name: 'cherry' }, + { input: 'tfc:plant/green_apple_sapling', fluid_amount: 8000, output: '32x tfc:food/green_apple', name: 'green_apple' }, + { input: 'tfc:plant/lemon_sapling', fluid_amount: 8000, output: '32x tfc:food/lemon', name: 'lemon' }, + { input: 'tfc:plant/olive_sapling', fluid_amount: 8000, output: '32x tfc:food/olive', name: 'olive' }, + { input: 'tfc:plant/orange_sapling', fluid_amount: 8000, output: '32x tfc:food/orange', name: 'orange' }, + { input: 'tfc:plant/peach_sapling', fluid_amount: 8000, output: '32x tfc:food/peach', name: 'peach' }, + { input: 'tfc:plant/plum_sapling', fluid_amount: 8000, output: '32x tfc:food/plum', name: 'plum' }, + { input: 'tfc:plant/red_apple_sapling', fluid_amount: 8000, output: '32x tfc:food/red_apple', name: 'red_apple' }, + { input: 'tfc:plant/banana_sapling', fluid_amount:8000, output: '32x tfc:food/banana', name: 'banana' }, ]; global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ - { input: 'tfc:seeds/barley', fluid_amount: 4000, output: '3x tfc:food/barley', name: 'barley' }, - { input: 'tfc:seeds/oat', fluid_amount: 4000, output: '3x tfc:food/oat', name: 'oat' }, - { input: 'tfc:seeds/rye', fluid_amount: 4000, output: '3x tfc:food/rye', name: 'rye' }, - { input: 'tfc:seeds/maize', fluid_amount: 4000, output: '3x tfc:food/maize', name: 'maize' }, - { input: 'tfc:seeds/wheat', fluid_amount: 4000, output: '3x tfc:food/wheat', name: 'wheat' }, - { input: 'tfc:seeds/rice', fluid_amount: 4000, output: '3x tfc:food/rice', name: 'rice' }, - { input: 'tfc:seeds/beet', fluid_amount: 4000, output: '3x tfc:food/beet', name: 'beet' }, - { input: 'tfc:seeds/cabbage', fluid_amount: 4000, output: '3x tfc:food/cabbage', name: 'cabbage' }, - { input: 'tfc:seeds/carrot', fluid_amount: 4000, output: '3x tfc:food/carrot', name: 'carrot' }, - { input: 'tfc:seeds/green_bean', fluid_amount: 4000, output: '3x tfc:food/green_bean', name: 'green_bean' }, - { input: 'tfc:seeds/garlic', fluid_amount: 4000, output: '3x tfc:food/garlic', name: 'garlic' }, - { input: 'tfc:seeds/potato', fluid_amount: 4000, output: '3x tfc:food/potato', name: 'potato' }, - { input: 'tfc:seeds/onion', fluid_amount: 4000, output: '3x tfc:food/onion', name: 'onion' }, - { input: 'tfc:seeds/soybean', fluid_amount: 4000, output: '3x tfc:food/soybean', name: 'soybean' }, - { input: 'tfc:seeds/squash', fluid_amount: 4000, output: '3x tfc:food/squash', name: 'squash' }, - { input: 'tfc:seeds/sugarcane', fluid_amount: 4000, output: '3x tfc:food/sugarcane', name: 'sugarcane' }, - { input: 'tfc:seeds/tomato', fluid_amount: 4000, output: '3x tfc:food/tomato', name: 'tomato' }, - { input: 'tfc:seeds/jute', fluid_amount: 4000, output: '3x tfc:jute', name: 'jute' }, - { input: 'tfc:seeds/papyrus', fluid_amount: 4000, output: '3x tfc:papyrus', name: 'papyrus' }, - { input: 'tfc:seeds/pumpkin', fluid_amount: 4000, output: '3x tfc:pumpkin', name: 'pumpkin' }, - { input: 'tfc:seeds/melon', fluid_amount: 4000, output: '3x tfc:melon', name: 'melon' }, - { input: 'tfc:seeds/red_bell_pepper', fluid_amount: 4000, output: '3x tfc:food/red_bell_pepper', name: 'red_bell_pepper' }, - { input: 'tfc:seeds/yellow_bell_pepper', fluid_amount: 4000, output: '3x tfc:food/yellow_bell_pepper', name: 'yellow_bell_pepper' }, + { input: '8x tfc:seeds/barley', fluid_amount: 4000, output: '24x tfc:food/barley', name: 'barley' }, + { input: '8x tfc:seeds/oat', fluid_amount: 4000, output: '24x tfc:food/oat', name: 'oat' }, + { input: '8x tfc:seeds/rye', fluid_amount: 4000, output: '24x tfc:food/rye', name: 'rye' }, + { input: '8x tfc:seeds/maize', fluid_amount: 4000, output: '24x tfc:food/maize', name: 'maize' }, + { input: '8x tfc:seeds/wheat', fluid_amount: 4000, output: '24x tfc:food/wheat', name: 'wheat' }, + { input: '8x tfc:seeds/rice', fluid_amount: 4000, output: '24x tfc:food/rice', name: 'rice' }, + { input: '8x tfc:seeds/beet', fluid_amount: 4000, output: '24x tfc:food/beet', name: 'beet' }, + { input: '8x tfc:seeds/cabbage', fluid_amount: 4000, output: '24x tfc:food/cabbage', name: 'cabbage' }, + { input: '8x tfc:seeds/carrot', fluid_amount: 4000, output: '24x tfc:food/carrot', name: 'carrot' }, + { input: '8x tfc:seeds/green_bean', fluid_amount: 4000, output: '24x tfc:food/green_bean', name: 'green_bean' }, + { input: '8x tfc:seeds/garlic', fluid_amount: 4000, output: '24x tfc:food/garlic', name: 'garlic' }, + { input: '8x tfc:seeds/potato', fluid_amount: 4000, output: '24x tfc:food/potato', name: 'potato' }, + { input: '8x tfc:seeds/onion', fluid_amount: 4000, output: '24x tfc:food/onion', name: 'onion' }, + { input: '8x tfc:seeds/soybean', fluid_amount: 4000, output: '24x tfc:food/soybean', name: 'soybean' }, + { input: '8x tfc:seeds/squash', fluid_amount: 4000, output: '24x tfc:food/squash', name: 'squash' }, + { input: '8x tfc:seeds/sugarcane', fluid_amount: 4000, output: '24x tfc:food/sugarcane', name: 'sugarcane' }, + { input: '8x tfc:seeds/tomato', fluid_amount: 4000, output: '24x tfc:food/tomato', name: 'tomato' }, + { input: '8x tfc:seeds/jute', fluid_amount: 4000, output: '24x tfc:jute', name: 'jute' }, + { input: '8x tfc:seeds/papyrus', fluid_amount: 4000, output: '24x tfc:papyrus', name: 'papyrus' }, + { input: '8x tfc:seeds/pumpkin', fluid_amount: 4000, output: '24x tfc:pumpkin', name: 'pumpkin' }, + { input: '8x tfc:seeds/melon', fluid_amount: 4000, output: '24x tfc:melon', name: 'melon' }, + { input: '8x tfc:seeds/red_bell_pepper', fluid_amount: 4000, output: '24x tfc:food/red_bell_pepper', name: 'red_bell_pepper' }, + { input: '8x tfc:seeds/yellow_bell_pepper', fluid_amount: 4000, output: '24x tfc:food/yellow_bell_pepper', name: 'yellow_bell_pepper' }, ]; global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/tfc/icon_sets.js b/kubejs/startup_scripts/tfc/icon_sets.js new file mode 100644 index 000000000..07415ba6d --- /dev/null +++ b/kubejs/startup_scripts/tfc/icon_sets.js @@ -0,0 +1,37 @@ +// priority: 0 + +function registerTFCIconSets(event) { + + event.create('tfc_borax').parent('rough') + event.create('tfc_gypsum').parent('rough') + event.create('tfc_graphite').parent('rough') + event.create('tfc_saltpeter').parent('fine') + event.create('tfc_sulfur').parent('fine') + + event.create('tfc_amethyst').parent('ruby') + event.create('tfc_redstone').parent('fine') + event.create('tfc_diamond').parent('diamond') + event.create('tfc_emerald').parent('emerald') + event.create('tfc_lapis').parent('lapis') + event.create('tfc_opal').parent('opal') + event.create('tfc_pyrite').parent('bright') + event.create('tfc_ruby').parent('ruby') + event.create('tfc_sapphire').parent('gem_horizontal') + event.create('tfc_topaz').parent('gem_vertical') + + event.create('tfc_bismuth').parent('bright') + event.create('tfc_cassiterite').parent('bright') + event.create('tfc_garnierite').parent('bright') + event.create('tfc_hematite').parent('metallic') + event.create('tfc_limonite').parent('metallic') + event.create('tfc_magnetite').parent('dull') + event.create('tfc_malachite').parent('shiny') + event.create('tfc_copper').parent('bright') + event.create('tfc_gold').parent('metallic') + event.create('tfc_silver').parent('shiny') + event.create('tfc_sphalerite').parent('dull') + event.create('tfc_tetrahedrite').parent('dull') + event.create('tfc_chromite').parent('dull') + + event.create('nether_quartz').parent('quartz') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/materials.js b/kubejs/startup_scripts/tfc/materials.js new file mode 100644 index 000000000..235e4d515 --- /dev/null +++ b/kubejs/startup_scripts/tfc/materials.js @@ -0,0 +1,127 @@ +// priority: 0 + +const registerTFCMaterials = (event) => { + const registerStoneMaterial = (rockType, color) => + event.create(`tfg:${rockType}`) + .dust() + .color(color) + .iconSet(GTMaterialIconSet.ROUGH) + .flags( + GTMaterialFlags.MORTAR_GRINDABLE, + GTMaterialFlags.NO_SMASHING, + GTMaterialFlags.NO_SMELTING + ) + + /* TFC Stone Types Materials */ + registerStoneMaterial('gabbro', 0x7F8081) + registerStoneMaterial('shale', 0x686567) + registerStoneMaterial('claystone', 0xAF9377) + registerStoneMaterial('limestone', 0xA09885) + registerStoneMaterial('conglomerate', 0xA3977F) + registerStoneMaterial('dolomite', 0x515155) + registerStoneMaterial('chert', 0x7A6756) + registerStoneMaterial('chalk', 0xA4A39F) + registerStoneMaterial('rhyolite', 0x726D69) + registerStoneMaterial('dacite', 0x979797) + registerStoneMaterial('slate', 0x989287) + registerStoneMaterial('phyllite', 0x706B61) + registerStoneMaterial('schist', 0x6E735C) + registerStoneMaterial('gneiss', 0x6A6D60) + + registerStoneMaterial('dripstone', 0x927965) + + + // Specialized icon sets for TFC's own + + GTMaterials.Coal.setMaterialIconSet(GTMaterialIconSet.LIGNITE) + GTMaterials.Borax.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + GTMaterials.Gypsum.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gypsum')) + GTMaterials.Graphite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_graphite')) + GTMaterials.Saltpeter.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_saltpeter')) + GTMaterials.Sulfur.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sulfur')) + + GTMaterials.Amethyst.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_amethyst')) + GTMaterials.Redstone.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_redstone')) + GTMaterials.Diamond.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_diamond')) + GTMaterials.Emerald.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_emerald')) + GTMaterials.Lapis.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_lapis')) + GTMaterials.Opal.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_opal')) + GTMaterials.Pyrite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_pyrite')) + GTMaterials.Ruby.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_ruby')) + GTMaterials.Sapphire.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sapphire')) + GTMaterials.GreenSapphire.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_topaz')) + GTMaterials.Topaz.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_topaz')) + GTMaterials.BlueTopaz.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sapphire')) + + GTMaterials.Bismuth.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_bismuth')) + GTMaterials.Cassiterite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + GTMaterials.Tin.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + GTMaterials.Garnierite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) + GTMaterials.Nickel.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) + GTMaterials.Hematite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) + GTMaterials.YellowLimonite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite')) + GTMaterials.Magnetite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite')) + GTMaterials.Malachite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_malachite')) + GTMaterials.Copper.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) + GTMaterials.Chalcocite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) + GTMaterials.Gold.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) + GTMaterials.Silver.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) + GTMaterials.Sphalerite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sphalerite')) + GTMaterials.Tetrahedrite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_tetrahedrite')) + GTMaterials.Chalcopyrite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_tetrahedrite')) + GTMaterials.Chromite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_chromite')) + + GTMaterials.NetherQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) + GTMaterials.RedAlloy.setMaterialIconSet(GTMaterialIconSet.SHINY) + GTMaterials.TinAlloy.setMaterialIconSet(GTMaterialIconSet.SHINY) + GTMaterials.BismuthBronze.setMaterialIconSet(GTMaterialIconSet.BRIGHT) + GTMaterials.Nickel.setMaterialIconSet(GTMaterialIconSet.BRIGHT) + GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) + + GTMaterials.Aluminium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) + GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) + GTMaterials.Almandine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_redstone')) + GTMaterials.Beryllium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) + GTMaterials.Cobalt.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sphalerite')) + GTMaterials.Cobaltite.setMaterialIconSet(GTMaterialIconSet.LAPIS) + GTMaterials.Lead.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite')) + GTMaterials.Lazurite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_ruby')) + GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_lapis')) + GTMaterials.Lithium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) + GTMaterials.Galena.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) + GTMaterials.Grossular.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sapphire')) + GTMaterials.Neodymium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite')) + GTMaterials.Palladium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_pyrite')) + GTMaterials.Platinum.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) + GTMaterials.Thorium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) + GTMaterials.Naquadah.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_malachite')) + GTMaterials.Goethite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) + GTMaterials.Calcite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + GTMaterials.Cooperite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) + GTMaterials.Sodalite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_opal')) + GTMaterials.Molybdenum.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_chromite')) + GTMaterials.Powellite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sphalerite')) + GTMaterials.Pyrolusite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_tetrahedrite')) + GTMaterials.Apatite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_opal')) + GTMaterials.Pyrope.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_opal')) + GTMaterials.Scheelite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_saltpeter')) + GTMaterials.Tantalite.setMaterialIconSet(GTMaterialIconSet.LIGNITE) + GTMaterials.Stibnite.setMaterialIconSet(GTMaterialIconSet.LAPIS) + GTMaterials.Tungstate.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + GTMaterials.Uraninite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite')) + GTMaterials.Pitchblende.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite')) + GTMaterials.VanadiumMagnetite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_chromite')) + GTMaterials.Wulfenite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + GTMaterials.Realgar.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_redstone')) + GTMaterials.Spodumene.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gypsum')) + GTMaterials.Mica.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sulfur')) + GTMaterials.Barite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_graphite')) + GTMaterials.Alunite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_saltpeter')) + GTMaterials.Pyrochlore.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) + GTMaterials.Olivine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_topaz')) + GTMaterials.GarnetYellow.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_redstone')) + GTMaterials.Trona.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_pyrite')) + GTMaterials.Zeolite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) + GTMaterials.Electrotine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) + GTMaterials.Bauxite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/register_climates.js b/kubejs/startup_scripts/tfc/register_climates.js new file mode 100644 index 000000000..99ce63f56 --- /dev/null +++ b/kubejs/startup_scripts/tfc/register_climates.js @@ -0,0 +1,163 @@ +const $ICalendar = Java.loadClass('net.dries007.tfc.util.calendar.ICalendar') + +const TICKS_IN_HOUR = $ICalendar.TICKS_IN_HOUR; +const TICKS_IN_DAY = $ICalendar.TICKS_IN_DAY; +const SIX_TIMES_TICKS_IN_HOUR = TICKS_IN_HOUR * 6; + +const TWO_PI = JavaMath.PI * 2; + +function clamp(val, min, max) { + return Math.min(Math.max(val, min), max); +} + +function lerp(x, y, a) { + return (1 - a) * x + y * a; +} + +function invLerp(x, y, a) { + return (a - x) / (y - x); +} + + +/** + * @param {number} averageTemp Output from calcAverageTemp + * @param {number} seaLevel The average Y level of the planet surface + * @param {number} playerY The current Y level of the player + * @param {number} calendarTicks Pass from the callback + * @param {number} tempRange Difference between the min/max temp at this latitude and the average. + * (ex: if average is 0c and min is -15 and max is 15, tempRange should be 15) + * @param {number} coreTemp Constant temperature at bedrock level + * @param {number} coreTempMult How much the coreTemp affects the bedrock level. 0 for a dead planet, 1 for the earth. + * @returns {number} + */ +function calcCurrentTemp(averageTemp, seaLevel, playerY, calendarTicks, tempRange, coreTemp, coreTempMult) { + + let dayTicks = ((calendarTicks - SIX_TIMES_TICKS_IN_HOUR) % TICKS_IN_DAY); + let dayPercent = dayTicks / TICKS_IN_DAY + + let tempDiff = Math.sin(dayPercent * TWO_PI) * tempRange; + + if (playerY > seaLevel) { + + // This is taken from TFC's OverworldClimateModel.java + let elevationTemp = clamp((playerY - seaLevel) * 0.16225, 0, 17.822); + return averageTemp - elevationTemp + tempDiff; + } + else if (playerY > 0) { + + return averageTemp + (tempDiff * (playerY / seaLevel)); + } + else { + + let depthPercent = 1 - (playerY / -64); + + let bedrockTemp = lerp(averageTemp, coreTemp, coreTempMult); + + return lerp(bedrockTemp, averageTemp, depthPercent); + } +} + +/** + * @param {number} playerZ The current Z level of the player + * @param {number} scale The size of the planet, from the south pole to the north (20k on earth with default TFC settings) + * @param {number} min The average value at the poles + * @param {number} max The average value at the equator + * @returns {number} + */ +function calcAverage(playerZ, scale, min, max) { + + let relative = (playerZ / scale * -1) + 0.5; + + // relative is now 1 for peak -z, 0 for peak +z + + let smoothed = Math.cos(relative * JavaMath.PI); + + // smoothed is now -1 for peak -z, 1 for peak +z + + let halfDiff = (min - max) / -2; + + let temp = (smoothed * halfDiff) - (halfDiff - max); + + return temp; +} + + +// This will be fighting between TFC, which wants to melt everything when the average +// temp is above 0, and Ad Astra, which wants to freeze everything that isn't in an +// oxygenated bubble. +// Is there a way to disable TFC's system here? +// Alternatively, is there a way to tell if a block is oxygenated and then give it a different average temp? +// That'd let you grow tfc crops on other planets + +TFCEvents.registerClimateModel(event => { + + event.registerClimateModel('tfg:nether_climate', model => { + + model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => { + return lerp(100, 25, pos.y / 128); + }) + + model.setAverageTemperatureCalculation((level, pos) => { + return lerp(100, 25, pos.y / 128); + }) + + model.setAverageRainfallCalculation((level, pos) => { + return lerp(-200, 200, pos.y / 128); + }) + + model.setAirFog((level, pos, calendarTicks) => 0) + model.setWaterFog((level, pos, calendarTicks) => 0.6) + model.setWindVector((block, calendarTicks) => event.newVec2(0, 0)) + }) + + /*event.registerClimateModel('tfg:orbit_climate', model => { + + // There's basically no heat diffusion in space so we can pretend this is your spacesuit temp + model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => 15) + model.setAverageTemperatureCalculation((level, pos) => -270) + model.setAverageRainfallCalculation((level, pos) => 0) + model.setAirFog((level, pos, calendarTicks) => 0) + model.setWaterFog((level, pos, calendarTicks) => 0.25) + model.setWindVector((block, calendarTicks) => event.newVec2(0, 0)) + }) + + event.registerClimateModel('tfg:moon_climate', model => { + + // A source says the moon's equator is 120c at day and -130c at night + model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => { + return calcCurrentTemp(-5, 60, pos.y, calendarTicks, 125, 0, 0) + }) + + model.setAverageTemperatureCalculation((level, pos) => -5) + model.setAverageRainfallCalculation((level, pos) => 0) + model.setAirFog((level, pos, calendarTicks) => 0) + model.setWaterFog((level, pos, calendarTicks) => 0.25) + model.setWindVector((block, calendarTicks) => event.newVec2(0, 0)) + }) + + event.registerClimateModel('tfg:mars_climate', model => { + + model.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => { + + let avgTemp = calcAverage(pos.z, 10000, -110, -15); + return calcCurrentTemp(avgTemp, 65, pos.y, calendarTicks, 45, -10, 0.5); + }) + + model.setAverageTemperatureCalculation((level, pos) => { + + // Earth is 10k to each pole, and mars is about half as big as earth, so 5k to each pole sounds good + return calcAverage(pos.z, 10000, -110, -15); + }) + + model.setAverageRainfallCalculation((level, pos) => { + + // irl mars' poles have a snowfall of 0.13mm but that's barely noticeable here. + // Use a negative rainfall to stop it snowing closer to the equator. TFC clamps negatives to zero so it's fine + return calcAverage(pos.z, 10000, 13, -25) + }) + + model.setAirFog((level, pos, calendarTicks) => 0) + model.setWaterFog((level, pos, calendarTicks) => 0.25) + model.setWindVector((block, calendarTicks) => event.newVec2(0.25, 0.25)) + })*/ +}) \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/tag_prefixes.js b/kubejs/startup_scripts/tfc/tag_prefixes.js new file mode 100644 index 000000000..d3a4026f5 --- /dev/null +++ b/kubejs/startup_scripts/tfc/tag_prefixes.js @@ -0,0 +1,63 @@ +// priority: 0 + +const registerTFCTagPrefixes = (event) => { + + TagPrefix.ORES.remove(TagPrefix.ore) + TagPrefix.ORES.remove(TagPrefix.oreDeepslate) + TagPrefix.ORES.remove(TagPrefix.oreTuff) + TagPrefix.ORES.remove(TagPrefix.oreSand) + TagPrefix.ORES.remove(TagPrefix.oreRedSand) + TagPrefix.ORES.remove(TagPrefix.oreRedGranite) + TagPrefix.ORES.remove(TagPrefix.oreMarble) + TagPrefix.ORES.remove(TagPrefix.oreGravel) + TagPrefix.ORES.remove(TagPrefix.oreEndstone) + TagPrefix.ORES.remove(TagPrefix.oreNetherrack) + TagPrefix.ORES.remove(TagPrefix.oreBlackstone) + + TagPrefix.ORES.remove(TagPrefix.oreBasalt) + TagPrefix.ORES.remove(TagPrefix.oreAndesite) + TagPrefix.ORES.remove(TagPrefix.oreDiorite) + TagPrefix.ORES.remove(TagPrefix.oreGranite) + + global.TFC_STONE_TYPES.forEach(stoneTypeName => { + const material = GTCEuAPI.materialManager.getMaterial(stoneTypeName) + + event.create(`${stoneTypeName}`, 'ore') + .stateSupplier(() => Block.getBlock('minecraft:stone').defaultBlockState()) + .baseModelLocation(`tfc:block/rock/raw/${stoneTypeName}`) + .unificationEnabled(true) + .materialSupplier(() => material) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(ItemGenerationCondition.hasOreProperty) + + }) + + // Custom stone types + + // Can't use 'blackstone' for whatever reason -- GTM has its own + // blackstone ore type but it doesn't seem to work at all? + // This works around that + event.create('pyroxenite', 'ore') + .stateSupplier(() => Block.getBlock('minecraft:blackstone').defaultBlockState()) + .baseModelLocation('minecraft:block/blackstone') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(ItemGenerationCondition.hasOreProperty) + .materialSupplier(() => GTMaterials.Blackstone) + + event.create('dripstone', 'ore') + .stateSupplier(() => Block.getBlock('minecraft:dripstone_block').defaultBlockState()) + .baseModelLocation('minecraft:block/dripstone_block') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(ItemGenerationCondition.hasOreProperty) + + // Redefine deepslate so it has the correct sound effects (yes I fixed this in GTM as well) + event.create('deepslate', 'ore') + .stateSupplier(() => Block.getBlock('minecraft:deepslate').defaultBlockState()) + .baseModelLocation('minecraft:block/deepslate') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(ItemGenerationCondition.hasOreProperty) + .materialSupplier(() => GTMaterials.Deepslate) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index f01bbe910..4d4e08405 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -1,58 +1,329 @@ -const registerTFGBlocks = (event) => { - - event.create('tfg:artificial_end_portal_frame') - .stoneSoundType() - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - .fullBlock(true) - .item(item => { - item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) - }) - - - // gem indicators - - const GEM_INDICATORS = - [ - [ 'almandine', 0x991616 ], - [ 'andradite', 0xfbcb25 ], - [ 'blue_topaz', 0xd8fafb ], - [ 'cinnabar', 0xf03059 ], - [ 'diamond', 0xc5fbfb ], - [ 'emerald', 0x17fb6a ], - [ 'green_sapphire', 0x98e2ad ], - [ 'grossular', 0xfbb475 ], - [ 'rutile', 0x812306 ], - [ 'lazurite', 0x2633e3 ], - [ 'pyrope', 0xe41957 ], - [ 'ruby', 0xd42210 ], - [ 'sapphire', 0x3134df ], - [ 'sodalite', 0x3c53fb ], - [ 'spessartine', 0xfba51e ], - [ 'topaz', 0xe4d439 ], - [ 'uvarovite', 0x2ce94b ], - [ 'nether_quartz', 0xf4ebdf ], - [ 'quartzite', 0xeef1e9 ], - [ 'realgar', 0xfb3c32 ], - [ 'olivine', 0xa4e004 ], - [ 'opal', 0xead6dc ], - [ 'lapis', 0x83a6fb ], - [ 'apatite', 0x06caed ], - [ 'red_garnet', 0x930c15 ], - [ 'yellow_garnet', 0xf2fb09 ], - [ 'monazite', 0xcdea96 ] - - // skip coal, coke, salt, rock salt, certus, malachite, glass, and amethyst - ] - - const $ClusterBlock = Java.loadClass('net.minecraft.world.level.block.AmethystClusterBlock') - const $Blocks = Java.loadClass('net.minecraft.world.level.block.Blocks') - const $Properties = Java.loadClass('net.minecraft.world.level.block.state.BlockBehaviour$Properties') - - GEM_INDICATORS.forEach(gem => - { - event.createCustom(`tfg:buds/small_${gem[0]}_bud`, () => new $ClusterBlock(3, 4, $Properties.copy($Blocks.AMETHYST_CLUSTER))) - event.createCustom(`tfg:buds/medium_${gem[0]}_bud`, () => new $ClusterBlock(4, 3, $Properties.copy($Blocks.AMETHYST_CLUSTER))) - event.createCustom(`tfg:buds/large_${gem[0]}_bud`, () => new $ClusterBlock(5, 3, $Properties.copy($Blocks.AMETHYST_CLUSTER))) - }) -} + +const registerTFGBlocks = (event) => { + + event.create('tfg:artificial_end_portal_frame') + .stoneSoundType() + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + .fullBlock(true) + .item(item => { + item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) + }) + + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/loot_vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + event.create(`tfg:decorative_vase/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_unfired_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + }) + event.create('tfg:decorative_vase', 'cardinal') + .model('tfg:block/decorative_vase/vase') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create('tfg:decorative_vase/unfired', 'cardinal') + .model('tfg:block/decorative_vase/vase_unfired') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + const $Blocks = Java.loadClass('net.minecraft.world.level.block.Blocks') + const $Properties = Java.loadClass('net.minecraft.world.level.block.state.BlockBehaviour$Properties') + + // #region Deprecated tree tap + + event.create('treetap:tap') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + // #endregion + + // #region Nether blocks + + event.create('tfg:rock/hardened_deepslate') + .soundType('deepslate') + .property(BlockProperties.AXIS) + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/deepslate' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .tagBlock('minecraft:mineable/pickaxe') + .mapColor('terracotta_grey') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/hardened_blackstone') + .stoneSoundType() + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/blackstone' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .mapColor('terracotta_grey') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/hardened_dripstone') + .soundType('dripstone_block') + .stoneSoundType() + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/dripstone_block' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .mapColor('terracotta') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') + .soundType('dripstone_block') + .noItem() + + event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') + .soundType('deepslate') + .noItem() + + event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') + .stoneSoundType() + .noItem() + + event.create('tfg:loose/deepslate', 'tfc:loose_rock') + .itemTexture('tfg:item/loose/deepslate') + .rockTypeModel('metamorphic') + .soundType('deepslate') + .translationKey("block.tfg.loose.deepslate") + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem('tfc:metamorphic_rock') + + event.create('tfg:loose/dripstone', 'tfc:loose_rock') + .itemTexture('tfg:item/loose/dripstone') + .rockTypeModel('sedimentary') + .soundType('dripstone_block') + .translationKey("block.tfg.loose.dripstone") + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem('tfc:sedimentary_rock') + + + const $SproutsBlock = Java.loadClass('net.minecraft.world.level.block.NetherSproutsBlock') + + event.createCustom('tfg:mushroom_roots', () => new $SproutsBlock($Properties.copy($Blocks.WARPED_ROOTS))) + event.createCustom('tfg:mushroom_sprouts', () => new $SproutsBlock($Properties.copy($Blocks.NETHER_SPROUTS))) + + event.create('tfg:charred_log') + .fullBlock(true) + .woodSoundType() + .property(BlockProperties.AXIS) + .tagBoth('minecraft:mineable/axe') + .tagBoth('tfc:logs_that_log') + .tagBoth('afc:logs_that_log') + .tagBoth('minecraft:logs') + .mapColor('black') + + // #endregion + + //#region Custom Supports + event.create('tfg:light_concrete_support', 'tfc:support') + .textureAll('tfg:block/support/light_concrete_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/light_concrete_support') + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(16) + horizontal.mapColor('color_light_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(16) + .mapColor('color_light_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create('tfg:dark_concrete_support', 'tfc:support') + .textureAll('tfg:block/support/dark_concrete_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/dark_concrete_support') + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(16) + horizontal.mapColor('color_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(16) + .mapColor('color_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create('tfg:reinforced_light_concrete_support', 'tfc:support') + .textureAll('tfg:block/support/reinforced_light_concrete_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/reinforced_light_concrete_support') + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(64) + horizontal.mapColor('color_light_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(64) + .mapColor('color_light_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create('tfg:reinforced_dark_concrete_support', 'tfc:support') + .textureAll('tfg:block/support/reinforced_dark_concrete_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/reinforced_dark_concrete_support') + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(64) + horizontal.mapColor('color_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(64) + .mapColor('color_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + event.create('tfg:rebar_support', 'tfc:support') + .textureAll('tfg:block/support/rebar_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/rebar_support') + horizontal.soundType('chain') + horizontal.hardness(3) + horizontal.resistance(16) + horizontal.mapColor('color_orange') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + horizontal.renderType('cutout') + horizontal.opaque(false) + }) + .soundType('chain') + .hardness(3) + .resistance(16) + .mapColor('color_orange') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + .renderType('cutout') + .opaque(false) + + event.create('tfg:steel_support', 'tfc:support') + .textureAll('tfg:block/support/steel_support') + .horizontal(horizontal => { + horizontal.textureAll('tfg:block/support/steel_support') + horizontal.soundType('metal') + horizontal.hardness(5) + horizontal.resistance(64) + horizontal.mapColor('color_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('metal') + .hardness(5) + .resistance(64) + .mapColor('color_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + + const other_stone = ['pyroxenite', 'migmatite', 'travertine'] + const stone_types = global.TFC_STONE_TYPES.concat(other_stone) + + stone_types.forEach(stone => { + event.create(`tfg:${stone}_support`, 'tfc:support') + .textureAll(`tfg:block/support/${stone}_support`) + .horizontal(horizontal => { + horizontal.textureAll(`tfg:block/support/${stone}_support`) + horizontal.soundType('stone') + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor('color_gray') + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType('stone') + .hardness(5) + .resistance(8) + .mapColor('color_gray') + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + }) + //#endregion +} diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js new file mode 100644 index 000000000..baeaa7533 --- /dev/null +++ b/kubejs/startup_scripts/tfg/constants.js @@ -0,0 +1,20 @@ +global.AIRCRAFT_UPGRADES = [ + "lv_aircraft_engine", + "hv_aircraft_engine", + "ev_aircraft_engine", + + "black_steel_plated_airplane_propeller", + "redblu_steel_plated_airplane_propeller", + "stainless_steel_plated_airplane_propeller", + "titanium_plated_airplane_propeller", + + "redblu_steel_landing_gear", + "aluminium_landing_gear", + "stainless_steel_landing_gear", + "titanium_landing_gear", + + "redblu_steel_hull_reinforcement", + "aluminium_hull_reinforcement", + "stainless_steel_hull_reinforcement", + "titanium_hull_reinforcement" +] \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 0e475ab81..ecc0de852 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -1,28 +1,32 @@ -const registerTFGFluids = (event) => { - - event.create('tfg:nether_slurry') - .thickTexture(0x6b281b) - .bucketColor(0x6b281b) - .temperature(1000) - .luminosity(7) - .noBlock() - - event.create('tfg:enriched_nether_slurry') - .thickTexture(0x99594d) - .bucketColor(0x99594d) - .temperature(1000) - .luminosity(7) - .noBlock() - - event.create('tfg:ender_slurry') - .thickTexture(0x1b5c51) - .bucketColor(0x1b5c51) - .luminosity(2) - .noBlock() - - event.create('tfg:enriched_ender_slurry') - .thickTexture(0x3a9178) - .bucketColor(0x3a9178) - .luminosity(2) - .noBlock() +// priority: 0 + +const registerTFGFluids = (event) => { + + // TODO: remove these with space + + event.create('tfg:nether_slurry') + .thickTexture(0x6b281b) + .bucketColor(0x6b281b) + .temperature(1000) + .luminosity(7) + .noBlock() + + event.create('tfg:enriched_nether_slurry') + .thickTexture(0x99594d) + .bucketColor(0x99594d) + .temperature(1000) + .luminosity(7) + .noBlock() + + event.create('tfg:ender_slurry') + .thickTexture(0x1b5c51) + .bucketColor(0x1b5c51) + .luminosity(2) + .noBlock() + + event.create('tfg:enriched_ender_slurry') + .thickTexture(0x3a9178) + .bucketColor(0x3a9178) + .luminosity(2) + .noBlock() } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 4d56520d4..578a31c60 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -1,5 +1,18 @@ -const registerTFGItems = (event) => -{ +// priority: 0 + +const registerTFGItems = (event) => { + + // #region Electronics + + event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly') + event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') + event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') + + // #endregion + + const $DyeColor = Java.loadClass('net.minecraft.world.item.DyeColor') + + // #region Paper making event.create('tfg:hardwood_strip') .translationKey('item.tfg.hardwood_strip') @@ -8,4 +21,274 @@ const registerTFGItems = (event) => event.create('tfg:soaked_unrefined_paper') .translationKey('item.tfg.soaked_unrefined_paper') + + event.create('tfg:terra_firma_greg') + .translationKey('item.tfg.terra_firma_greg') + + //#region chalk creation + event.create('tfg:unfired_chalk') + .translationKey('item.tfg.unfired_chalk') + + Color.DYE.forEach((dyeName, dye) => + { + event.create(`tfg:wet_${dyeName}_chalk`) + .translationKey(`item.tfg.wet_${dyeName}_chalk`) + .textureJson({ + layer0: 'tfg:item/unfired_chalk' + }) + .color(0, dye.getHexJS()); + }); + //#endregion + + // #region Molds + global.TFG_EXTRUDER_MOLDS.forEach(id => event.create(id)) + + global.TFG_CASTING_MOLDS.forEach(id => event.create(id)) + // #endregion + + // #region Stone bricks and dusts + event.create('tfg:brick/deepslate') + .translationKey('item.tfg.brick.deepslate') + // #endregion + + // #region Primitive rubber gloves + event.create('tfg:prepared_leather_gloves') + .translationKey('item.tfg.prepared_leather_gloves') + + event.create('tfg:latex_soaked_gloves') + .translationKey('item.tfg.latex_soaked_gloves') + // #endregion + + //#region Medicine + + const pill = [ + 'haste', + 'night_vision', + 'poison', + 'regeneration', + 'slowness', + 'speed', + 'water_breathing', + 'weakness', + ] + const pill_names = [ + 'Haste', + 'Night Vision', + 'Poison', + 'Regeneration', + 'Slowness', + 'Speed', + 'Water Breathing', + 'Weakness', + ] + + pill.forEach((pill_array, index) => { + const pill_names_array = pill_names[index]; + + event.create(`tfg:${pill_array}_pill`) + .translationKey(`item.tfg.${pill_array}_pill`) + .tooltip(`§9${pill_names_array} (08:00)`) + + event.create(`tfg:${pill_array}_tablet`) + .translationKey(`item.tfg.${pill_array}_tablet`) + .tooltip(`§9${pill_names_array} (30:00)`) + }) + + event.create(`tfg:antipoison_pill`) + .translationKey(`item.tfg.antipoison_pill`) + .tooltip(`§9Cures Poison`) + + event.create(`tfg:antipoison_tablet`) + .translationKey(`item.tfg.antipoison_tablet`) + .tooltip(`§9Cures All Harmful Effects`) + + //salvos + + const salvo = [ + 'absorption', + 'fire_resistance', + 'invisibility', + 'luck', + 'resistance', + ] + const salvo_names = [ + 'Absorption', + 'Fire Resistance', + 'Invisibility', + 'Luck', + 'Resistance', + ] + + salvo.forEach((salvo_array, index) => { + const salvo_names_array = salvo_names[index]; + + event.create(`tfg:${salvo_array}_salvo`) + .translationKey(`item.tfg.${salvo_array}_salvo`) + .tooltip(`§9${salvo_names_array} (08:00)`) + }) + + event.create(`tfg:instant_health_salvo`) + .translationKey(`item.tfg.instant_health_salvo`) + .tooltip(`§9Instant Health II`) + //#endregion + + //#region Wax + event.create(`tfg:paraffin_wax`) + .translationKey(`item.tfg.paraffin_wax`) + + event.create('tfg:conifer_rosin') + .translationKey('item.tfg.conifer_rosin') + //#endregion + + //#region Immersive Aircraft Impl + event.create('tfg:scaffolding_frame') + .translationKey('item.tfg.scaffolding_frame') + + event.create('tfg:airship_hull') + .translationKey('item.tfg.airship_hull') + + event.create('tfg:airship_balloon') + .translationKey('item.tfg.airship_balloon') + + event.create('tfg:lv_aircraft_engine') + .translationKey('item.tfg.lv_aircraft_engine') + + event.create('tfg:hv_aircraft_engine') + .translationKey('item.tfg.hv_aircraft_engine') + + event.create('tfg:ev_aircraft_engine') + .translationKey('item.tfg.ev_aircraft_engine') + + event.create('tfg:black_steel_plated_airplane_propeller') + .translationKey('item.tfg.black_steel_plated_airplane_propeller') + + event.create('tfg:redblu_steel_plated_airplane_propeller') + .translationKey('item.tfg.redblu_steel_plated_airplane_propeller') + + event.create('tfg:stainless_steel_plated_airplane_propeller') + .translationKey('item.tfg.stainless_steel_plated_airplane_propeller') + + event.create('tfg:titanium_plated_airplane_propeller') + .translationKey('item.tfg.titanium_plated_airplane_propeller') + + event.create('tfg:redblu_steel_landing_gear') + .translationKey('item.tfg.redblu_steel_landing_gear') + + event.create('tfg:aluminium_landing_gear') + .translationKey('item.tfg.aluminium_landing_gear') + + event.create('tfg:stainless_steel_landing_gear') + .translationKey('item.tfg.stainless_steel_landing_gear') + + event.create('tfg:titanium_landing_gear') + .translationKey('item.tfg.titanium_landing_gear') + + event.create('tfg:redblu_steel_hull_reinforcement') + .translationKey('item.tfg.redblu_steel_hull_reinforcement') + + event.create('tfg:aluminium_hull_reinforcement') + .translationKey('item.tfg.aluminium_hull_reinforcement') + + event.create('tfg:stainless_steel_hull_reinforcement') + .translationKey('item.tfg.stainless_steel_hull_reinforcement') + + event.create('tfg:titanium_hull_reinforcement') + .translationKey('item.tfg.titanium_hull_reinforcement') + //#endregion + + // #region 0.7.19 -> 0.9 compat + + event.create('gtceu:zinc_ingot').texture('tfg:item/deprecated') + event.create('gtceu:brass_ingot').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_ingot').texture('tfg:item/deprecated') + event.create('gtceu:black_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:red_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:blue_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:iron_double_ingot').texture('tfg:item/deprecated') + + event.create('gtceu:black_steel_double_ingot').texture('tfg:item/deprecated') + event.create('gtceu:red_steel_double_ingot').texture('tfg:item/deprecated') + event.create('gtceu:blue_steel_double_ingot').texture('tfg:item/deprecated') + + event.create('gtceu:zinc_nugget').texture('tfg:item/deprecated') + event.create('gtceu:brass_nugget').texture('tfg:item/deprecated') + event.create('gtceu:copper_nugget').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_nugget').texture('tfg:item/deprecated') + + event.create('gtceu:copper_plate').texture('tfg:item/deprecated') + event.create('gtceu:brass_plate').texture('tfg:item/deprecated') + event.create('gtceu:gold_plate').texture('tfg:item/deprecated') + event.create('gtceu:iron_plate').texture('tfg:item/deprecated') + event.create('gtceu:cobalt_plate').texture('tfg:item/deprecated') + event.create('gtceu:rose_gold_plate').texture('tfg:item/deprecated') + event.create('gtceu:aluminium_plate').texture('tfg:item/deprecated') + event.create('gtceu:invar_plate').texture('tfg:item/deprecated') + event.create('gtceu:lead_plate').texture('tfg:item/deprecated') + event.create('gtceu:nickel_plate').texture('tfg:item/deprecated') + event.create('gtceu:osmium_plate').texture('tfg:item/deprecated') + event.create('gtceu:palladium_plate').texture('tfg:item/deprecated') + event.create('gtceu:platinum_plate').texture('tfg:item/deprecated') + event.create('gtceu:rhodium_plate').texture('tfg:item/deprecated') + event.create('gtceu:silver_plate').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_plate').texture('tfg:item/deprecated') + event.create('gtceu:zinc_plate').texture('tfg:item/deprecated') + + event.create('gtceu:vanadium_block').texture('tfg:item/deprecated') + event.create('gtceu:zinc_block').texture('tfg:item/deprecated') + event.create('gtceu:brass_block').texture('tfg:item/deprecated') + + event.create('gtceu:gold_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:copper_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:zinc_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:silver_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:tin_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:lead_purified_ore').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_copper').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_copper').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_gold').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_gold').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_tetrahedrite').texture('tfg:item/deprecated') + event.create('gtceu:raw_tetrahedrite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_tetrahedrite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_malachite').texture('tfg:item/deprecated') + event.create('gtceu:raw_malachite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_malachite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_hematite').texture('tfg:item/deprecated') + event.create('gtceu:raw_hematite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_hematite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_cassiterite').texture('tfg:item/deprecated') + event.create('gtceu:raw_cassiterite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_cassiterite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_bismuth').texture('tfg:item/deprecated') + event.create('gtceu:raw_bismuth').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_bismuth').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_magnetite').texture('tfg:item/deprecated') + event.create('gtceu:raw_magnetite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_magnetite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_yellow_limonite').texture('tfg:item/deprecated') + event.create('gtceu:raw_yellow_limonite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_yellow_limonite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_garnierite').texture('tfg:item/deprecated') + event.create('gtceu:raw_garnierite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_garnierite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_silver').texture('tfg:item/deprecated') + event.create('gtceu:raw_silver').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_silver').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_sphalerite').texture('tfg:item/deprecated') + event.create('gtceu:raw_sphalerite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_sphalerite').texture('tfg:item/deprecated') + + // #endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 2e5b8db1b..1f7d13754 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -1,16 +1,40 @@ -const registerTFGMaterials = (event) => -{ - event.create('hardwood') - .dust() - .flags(GTMaterialFlags.FLAMMABLE) - .iconSet(GTMaterialIconSet.FINE) - .color('0x7a5225') - .secondaryColor('0x7a5225') +// priority: 0 - event.create('thermochemically_treated_hardwood') - .dust() - .flags(GTMaterialFlags.FLAMMABLE) - .iconSet(GTMaterialIconSet.FINE) - .color('0x52482c') - .secondaryColor('0x52482c') +const registerTFGMaterials = (event) => { + event.create('hardwood') + .dust() + .flags(GTMaterialFlags.FLAMMABLE) + .iconSet(GTMaterialIconSet.FINE) + .color('0x7a5225') + .secondaryColor('0x7a5225') + + event.create('thermochemically_treated_hardwood') + .dust() + .flags(GTMaterialFlags.FLAMMABLE) + .iconSet(GTMaterialIconSet.FINE) + .color('0x52482c') + .secondaryColor('0x52482c') + + // Important tags to add to fluids: + // tfc:usable_in_pot, tfc:usable_in_barrel, tfc:usable_in_wooden_bucket + + event.create('tfg:latex') + .liquid() + .color(0xFBB982) + + event.create('tfg:vulcanized_latex') + .liquid() + .color(0xc79973) + + event.create('tfg:conifer_pitch') + .liquid() + .color(0xfbdf82) + .secondaryColor(0xff9d2e) + + + event.create('lactose') + .dust() + .iconSet(GTMaterialIconSet.FINE) + .color('0xede8da') + .secondaryColor('0xeddcad') } \ No newline at end of file diff --git a/kubejs/startup_scripts/vintage_improvements/constants.js b/kubejs/startup_scripts/vintage_improvements/constants.js new file mode 100644 index 000000000..e1fc1244b --- /dev/null +++ b/kubejs/startup_scripts/vintage_improvements/constants.js @@ -0,0 +1,100 @@ +// priority: 0 + + +global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER = 1.5; + + +global.VINTAGE_IMPROVEMENTS_DISABLED_ITEMS = [ + + 'vintageimprovements:belt_grinder', + 'vintageimprovements:convex_curving_head', + 'vintageimprovements:concave_curving_head', + 'vintageimprovements:w_shaped_curving_head', + 'vintageimprovements:v_shaped_curving_head', + 'vintageimprovements:grinder_belt', + 'vintageimprovements:spring_coiling_machine_wheel', + 'vintageimprovements:laser_item', + 'vintageimprovements:sulfur_chunk', + 'vintageimprovements:sulfur', + 'vintageimprovements:sulfur_block', + 'vintageimprovements:sulfuric_acid_bucket', + 'vintageimprovements:copper_sulfate', + 'vintageimprovements:incomplete_redstone_module', + 'vintageimprovements:incomplete_recipe_card', + + 'vintageimprovements:bronze_sheet', + 'vintageimprovements:amethyst_bronze_sheet', + 'vintageimprovements:constantan_sheet', + 'vintageimprovements:enderium_sheet', + 'vintageimprovements:hepatizon_sheet', + 'vintageimprovements:lumium_sheet', + 'vintageimprovements:manyullyn_sheet', + 'vintageimprovements:pig_iron_sheet', + 'vintageimprovements:pure_gold_sheet', + 'vintageimprovements:refined_glowstone_sheet', + 'vintageimprovements:refined_obsidian_sheet', + 'vintageimprovements:tin_sheet', + 'vintageimprovements:uranium_sheet', + 'vintageimprovements:signalum_sheet', + 'vintageimprovements:refined_radiance_sheet', + 'vintageimprovements:fiery_sheet', + 'vintageimprovements:ironwood_sheet', + 'vintageimprovements:knightmetal_sheet', + 'vintageimprovements:queens_slime_sheet', + 'vintageimprovements:slimesteel_sheet', + 'vintageimprovements:netherite_sheet', + 'vintageimprovements:nethersteel_sheet', + 'vintageimprovements:andesite_sheet', + 'vintageimprovements:shadow_steel_sheet', + + 'vintageimprovements:aluminum_rod', + 'vintageimprovements:amethyst_bronze_rod', + 'vintageimprovements:bronze_rod', + 'vintageimprovements:cast_iron_rod', + 'vintageimprovements:cobalt_rod', + 'vintageimprovements:constantan_rod', + 'vintageimprovements:enderium_rod', + 'vintageimprovements:hepatizon_rod', + 'vintageimprovements:invar_rod', + 'vintageimprovements:lead_rod', + 'vintageimprovements:lumium_rod', + 'vintageimprovements:manyullyn_rod', + 'vintageimprovements:nickel_rod', + 'vintageimprovements:osmium_rod', + 'vintageimprovements:palladium_rod', + 'vintageimprovements:pig_iron_rod', + 'vintageimprovements:platinum_rod', + 'vintageimprovements:pure_gold_rod', + 'vintageimprovements:refined_glowstone_rod', + 'vintageimprovements:refined_obsidian_rod', + 'vintageimprovements:rhodium_rod', + 'vintageimprovements:rose_gold_rod', + 'vintageimprovements:signalum_rod', + 'vintageimprovements:silver_rod', + 'vintageimprovements:steel_rod', + 'vintageimprovements:tin_rod', + 'vintageimprovements:uranium_rod', + 'vintageimprovements:refined_radiance_rod', + 'vintageimprovements:ironwood_rod', + 'vintageimprovements:knightmetal_rod', + 'vintageimprovements:queens_slime_rod', + 'vintageimprovements:slimesteel_rod', + 'vintageimprovements:vanadium_rod', + 'vintageimprovements:netherite_rod', + 'vintageimprovements:nethersteel_rod', + 'vintageimprovements:andesite_rod', + 'vintageimprovements:shadow_steel_rod' +] + +global.VINTAGE_IMPROVEMENTS_DISABLED_BLOCKS = [ + + 'vintageimprovements:belt_grinder', + 'vintageimprovements:sulfur_block', + +] + +global.VINTAGE_IMPROVEMENTS_DISABLED_FLUIDS = [ + + 'vintageimprovements:sulfuric_acid' + +] \ No newline at end of file diff --git a/mods b/mods index eb7cba4d6..c44b868e3 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit eb7cba4d65f0c4dcc7fad355026dbb3158127f68 +Subproject commit c44b868e396f111ff0a98ef1c89b769a1a23c50f diff --git a/pakku-lock.json b/pakku-lock.json index 74dad37c9..1c37e2bac 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10,7 +10,8 @@ { "pakku_id": "vKxuOwsLOm1Eaesi", "pakku_links": [ - "jkz20XWDUGHwlZxp" + "jkz20XWDUGHwlZxp", + "hEH6ly65CC6Sw1pf" ], "type": "MOD", "side": "BOTH", @@ -80,7 +81,8 @@ "pakku_id": "2rBnljVR3chx8FKt", "pakku_links": [ "jkz20XWDUGHwlZxp", - "HlauzHpOCumhX2AQ" + "HlauzHpOCumhX2AQ", + "hEH6ly65CC6Sw1pf" ], "type": "MOD", "slug": { @@ -120,6 +122,47 @@ } ] }, + { + "pakku_id": "G1s0TjQfR5uVCf2Y", + "pakku_links": [ + "hEH6ly65CC6Sw1pf" + ], + "type": "MOD", + "slug": { + "curseforge": "ae2-things-forge" + }, + "name": { + "curseforge": "AE2 Things [Forge]" + }, + "id": { + "curseforge": "609977" + }, + "files": [ + { + "type": "curseforge", + "file_name": "AE2-Things-1.2.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4616/683/AE2-Things-1.2.1.jar", + "id": "4616683", + "parent_id": "609977", + "hashes": { + "sha1": "9862284af52931df937980f199a401bfe6651587", + "md5": "6a5134e817afc15a227b644f4a663a8a" + }, + "required_dependencies": [ + "223794" + ], + "size": 70813, + "date_published": "2023-06-29T22:04:08.630Z" + } + ] + }, { "pakku_id": "JDNo6JvhifCHhL4a", "type": "MOD", @@ -202,47 +245,191 @@ "files": [ { "type": "modrinth", - "file_name": "AdditionalPlacements-1.20-1.8.0.jar", + "file_name": "AdditionalPlacements-1.20.1-2.2.2.jar", "mc_versions": [ - "1.20", "1.20.1" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/f5TwOKkb/versions/HQ77A1bp/AdditionalPlacements-1.20-1.8.0.jar", - "id": "HQ77A1bp", + "url": "https://cdn.modrinth.com/data/f5TwOKkb/versions/jMidKQDP/AdditionalPlacements-1.20.1-2.2.2.jar", + "id": "jMidKQDP", "parent_id": "f5TwOKkb", "hashes": { - "sha512": "c5a7c9e69749a36bf2b61e9160d681bbdb47e493b31905dd4a50c8c7f3ebefe248761b40693cb04fab67cd2c7d8e6cca14e3e77a83c466b577bd519b4d372a15", - "sha1": "6ccb8a1a21b6cd898600dac6133a2d3be90c119a" + "sha512": "652ab053312782b2207d09013a277d56a02bf907fd05d6b9ed9a4a7b91c39eb195a603d308de589ba209f3f082606c60ba6deac53bf341bcff028776f67f1632", + "sha1": "6c676e0b622c93080602b857f810dd5268ca9bed" }, "required_dependencies": [], - "size": 267609, - "date_published": "2024-02-28T01:41:07.899530Z" + "size": 408388, + "date_published": "2025-02-12T19:35:33.301418Z" }, { "type": "curseforge", - "file_name": "AdditionalPlacements-1.20-1.8.0.jar", + "file_name": "AdditionalPlacements-1.20.1-2.2.2.jar", "mc_versions": [ - "1.20.1", - "1.20" + "1.20.1" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5142/65/AdditionalPlacements-1.20-1.8.0.jar", - "id": "5142065", + "url": "https://edge.forgecdn.net/files/6186/584/AdditionalPlacements-1.20.1-2.2.2.jar", + "id": "6186584", "parent_id": "674852", "hashes": { - "sha1": "6ccb8a1a21b6cd898600dac6133a2d3be90c119a", - "md5": "e058e12b83361f6ce80fbdf94fdb675c" + "sha1": "6c676e0b622c93080602b857f810dd5268ca9bed", + "md5": "a549e39b146d796a97fedacdd84c8d0d" }, "required_dependencies": [], - "size": 267609, - "date_published": "2024-02-28T01:37:26.263Z" + "size": 408388, + "date_published": "2025-02-12T19:35:21.320Z" + } + ] + }, + { + "pakku_id": "2rBnljVR3chx8FKt", + "pakku_links": [ + "jkz20XWDUGHwlZxp", + "HlauzHpOCumhX2AQ" + ], + "type": "MOD", + "slug": { + "curseforge": "advanced-peripherals" + }, + "name": { + "curseforge": "Advanced Peripherals" + }, + "id": { + "curseforge": "431725" + }, + "files": [ + { + "type": "curseforge", + "file_name": "AdvancedPeripherals-1.20.1-0.7.41r.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5830/600/AdvancedPeripherals-1.20.1-0.7.41r.jar", + "id": "5830600", + "parent_id": "431725", + "hashes": { + "sha1": "423559007eb7def74c2c365f08831f0654966961", + "md5": "531533d117c3d98a04b28d8c3f5f5924" + }, + "required_dependencies": [ + "282001" + ], + "size": 875103, + "date_published": "2024-10-21T12:23:48.133Z" + } + ] + }, + { + "pakku_id": "4vY2wc52lDqNRsmG", + "type": "MOD", + "slug": { + "curseforge": "alltheleaks" + }, + "name": { + "curseforge": "AllTheLeaks (Memory Leak Fix)" + }, + "id": { + "curseforge": "1091339" + }, + "files": [ + { + "type": "curseforge", + "file_name": "alltheleaks-0.1.2-beta+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6321/543/alltheleaks-0.1.2-beta+1.20.1-forge.jar", + "id": "6321543", + "parent_id": "1091339", + "hashes": { + "sha1": "29c1d160dcb1e726101497bcabbb6903b01e218d", + "md5": "253ba2355cbff97b8c6e5f4066389703" + }, + "required_dependencies": [], + "size": 523165, + "date_published": "2025-03-19T09:19:08.017Z" + } + ] + }, + { + "pakku_id": "tvYYX03nOjwRccDu", + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "almanac-lib", + "modrinth": "almanac" + }, + "name": { + "curseforge": "Almanac Lib", + "modrinth": "Almanac" + }, + "id": { + "curseforge": "1115285", + "modrinth": "Gi02250Z" + }, + "files": [ + { + "type": "modrinth", + "file_name": "almanac-1.20.x-forge-1.0.2.jar", + "mc_versions": [ + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/Gi02250Z/versions/DnzrwvfD/almanac-1.20.x-forge-1.0.2.jar", + "id": "DnzrwvfD", + "parent_id": "Gi02250Z", + "hashes": { + "sha512": "58c4dea50fcb17593e2c97a23ce101c62b5b32e2fd71d4bbf323f2778d4474c991caba7234ecf4d06f1e246ccb9ad7f67f2fa73f023cd80ef55333e2ed952f43", + "sha1": "f0b711df59cd589b088e536ca4134c5e6e73fd58" + }, + "required_dependencies": [], + "size": 15906, + "date_published": "2024-10-11T18:13:58.947870Z" + }, + { + "type": "curseforge", + "file_name": "almanac-1.20.x-forge-1.0.2.jar", + "mc_versions": [ + "1.20.2", + "1.20.3", + "1.20.1", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5803/518/almanac-1.20.x-forge-1.0.2.jar", + "id": "5803518", + "parent_id": "1115285", + "hashes": { + "sha1": "f0b711df59cd589b088e536ca4134c5e6e73fd58", + "md5": "20f9b054f4caceebda02847c149901af" + }, + "required_dependencies": [], + "size": 15906, + "date_published": "2024-10-11T18:08:14.653Z" } ] }, @@ -265,7 +452,7 @@ "files": [ { "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.1.1_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.1.6_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -274,23 +461,23 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5739/342/AmbientSounds_FORGE_v6.1.1_mc1.20.1.jar", - "id": "5739342", + "url": "https://edge.forgecdn.net/files/6189/864/AmbientSounds_FORGE_v6.1.6_mc1.20.1.jar", + "id": "6189864", "parent_id": "254284", "hashes": { - "sha1": "5e8b5e0a899b647e30fc7ad2854c7c74393361d5", - "md5": "37f2875e2d9ad9bb70f3fc1f949da22e" + "sha1": "1ac6f734ca821508816c77736e15f6190c710a6b", + "md5": "8a13e5db399335fb9ec1596abd97385c" }, "required_dependencies": [ "257814" ], - "size": 85695724, - "date_published": "2024-09-20T08:46:30.717Z" + "size": 83885823, + "date_published": "2025-02-13T17:51:31.067Z" } ] }, { - "pakku_id": "jkz20XWDUGHwlZxp", + "pakku_id": "hEH6ly65CC6Sw1pf", "type": "MOD", "side": "BOTH", "slug": { @@ -306,31 +493,9 @@ "modrinth": "XxWD5pD3" }, "files": [ - { - "type": "modrinth", - "file_name": "appliedenergistics2-forge-15.2.13.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/XxWD5pD3/versions/VGMDHpdE/appliedenergistics2-forge-15.2.13.jar", - "id": "VGMDHpdE", - "parent_id": "XxWD5pD3", - "hashes": { - "sha512": "a62e7464a87a5c7dc579355360a7befac0d4c243e60126bc3b8ffdeaf14728e6d148fa8ff2ce374b58f2b1467030b83f2bcbe210db26fe7e74107462865ff205", - "sha1": "73468f3fa3fffe042fabb5b47dc67c7bf722cdc7" - }, - "required_dependencies": [], - "size": 9739699, - "date_published": "2024-08-18T17:48:44.503717Z" - }, { "type": "curseforge", - "file_name": "appliedenergistics2-forge-15.2.13.jar", + "file_name": "appliedenergistics2-forge-15.3.3.jar", "mc_versions": [ "1.20.1" ], @@ -339,21 +504,46 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5641/282/appliedenergistics2-forge-15.2.13.jar", - "id": "5641282", + "url": "https://edge.forgecdn.net/files/6091/401/appliedenergistics2-forge-15.3.3.jar", + "id": "6091401", "parent_id": "223794", "hashes": { - "sha1": "73468f3fa3fffe042fabb5b47dc67c7bf722cdc7", - "md5": "bdca0db759e7cad457a2a81beb5077cd" + "sha1": "37ba16fa86aeab788d7b916bb45c25638df5cfb0", + "md5": "c7e870e3200139ebe8f260c4ea52b622" }, "required_dependencies": [], - "size": 9739699, - "date_published": "2024-08-18T17:48:47.697Z" + "size": 9746146, + "date_published": "2025-01-15T23:06:41.440Z" + }, + { + "type": "modrinth", + "file_name": "appliedenergistics2-forge-15.3.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/XxWD5pD3/versions/JSY0V9J5/appliedenergistics2-forge-15.3.3.jar", + "id": "JSY0V9J5", + "parent_id": "XxWD5pD3", + "hashes": { + "sha512": "e1da8e1666b3d221fe82ec14a4f88b15c34c0ef445c526ae0f3baa8f50d52276b35360433413db6af0e7232fc4e5a685fdd05754d912c7b1e387ad8fbaf2527c", + "sha1": "37ba16fa86aeab788d7b916bb45c25638df5cfb0" + }, + "required_dependencies": [], + "size": 9746146, + "date_published": "2025-01-15T23:06:49.856833Z" } ] }, { "pakku_id": "5wfRJRuF34kJZFbp", + "pakku_links": [ + "hEH6ly65CC6Sw1pf" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -420,6 +610,76 @@ } ] }, + { + "pakku_id": "wprCoVssGF04wWEX", + "pakku_links": [ + "F6H99cZ4H6jZRpEK", + "p2gtFoMFQckm3agI" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "arborfirmacraft-(afc)", + "curseforge": "arborfirmacraft" + }, + "name": { + "modrinth": "ArborFirmaCraft (AFC)", + "curseforge": "ArborFirmaCraft" + }, + "id": { + "modrinth": "9q4wtMjp", + "curseforge": "877545" + }, + "files": [ + { + "type": "modrinth", + "file_name": "afc-1.0.13-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/yZ9b2MTz/afc-1.0.13-1.20.1.jar", + "id": "yZ9b2MTz", + "parent_id": "9q4wtMjp", + "hashes": { + "sha512": "d8a466ad0477065ac1da0d0eb6be173ca3fdbf3063fb4e686e6af73992afdba67dcbbe84690106d95383a3f81ba0fd5895d06580da6cb22a4d9a1600fdef5085", + "sha1": "64c78e916235aa269384e56b59cf69130e86ade8" + }, + "required_dependencies": [ + "JaCEZUhg", + "nU0bVIaL" + ], + "size": 5076912, + "date_published": "2024-07-14T18:34:58.784309Z" + }, + { + "type": "curseforge", + "file_name": "afc-1.0.13-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5525/258/afc-1.0.13-1.20.1.jar", + "id": "5525258", + "parent_id": "877545", + "hashes": { + "sha1": "64c78e916235aa269384e56b59cf69130e86ade8", + "md5": "7acadcf609664412eb5f62502cd96983" + }, + "required_dependencies": [], + "size": 5076912, + "date_published": "2024-07-12T07:24:28.673Z" + } + ] + }, { "pakku_id": "YrMPVh28ndtUkLsq", "type": "MOD", @@ -502,7 +762,7 @@ "files": [ { "type": "modrinth", - "file_name": "TFCAstikorCarts-1.20.1-1.1.8.2.jar", + "file_name": "TFCAstikorCarts-1.20.1-1.1.8.3.jar", "mc_versions": [ "1.20.1" ], @@ -511,19 +771,19 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Q7dNt3PU/versions/AJoPq7oG/TFCAstikorCarts-1.20.1-1.1.8.2.jar", - "id": "AJoPq7oG", + "url": "https://cdn.modrinth.com/data/Q7dNt3PU/versions/UVsPFqtl/TFCAstikorCarts-1.20.1-1.1.8.3.jar", + "id": "UVsPFqtl", "parent_id": "Q7dNt3PU", "hashes": { - "sha512": "9a1821ec19fc60e145ee8d2fd2dc4007bbfb0816fedae47c4e375eb2742fa82ef9501fd7a162c1adfc6878ef1afe79bb619c9aa5d0761e6436aec76ca3781af5", - "sha1": "d054e2587e8087d2884f6f880c2aee1249c85f44" + "sha512": "6f2cfc309ba735f1bb423be39a19b1e726b96238d2ac81e93ea55dc10d9c08652d48c16eacb17c9a8cb466904b0c478702b4a35004665a908d986a3cfdf173be", + "sha1": "1a64a638d83e7b33d1f4c589ac0bc3005ffec34f" }, "required_dependencies": [ "mnLFouB0", "JaCEZUhg" ], - "size": 530830, - "date_published": "2024-08-28T13:56:36.428305Z" + "size": 532048, + "date_published": "2024-10-09T14:39:04.045371Z" }, { "type": "curseforge", @@ -613,6 +873,71 @@ } ] }, + { + "pakku_id": "CeMPJ5cBXrp9AYCG", + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "async-locator", + "modrinth": "async-locator" + }, + "name": { + "curseforge": "Async Locator", + "modrinth": "Async Locator" + }, + "id": { + "curseforge": "625069", + "modrinth": "rkN8aqci" + }, + "files": [ + { + "type": "modrinth", + "file_name": "async-locator-forge-1.20-1.3.0.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/rkN8aqci/versions/Eip0qUwF/async-locator-forge-1.20-1.3.0.jar", + "id": "Eip0qUwF", + "parent_id": "rkN8aqci", + "hashes": { + "sha512": "84cfbd80bf0a5a53ffa42f1c154e8f5991f27e5924df011849693e00310a2654962f9d9e1aaa237931d8fcc2fe13bd2908f1cd92261b1fed8d5fa2b685d83194", + "sha1": "fa8e3d65644e5bf1ea62f1ba3c94b0982dfb7357" + }, + "required_dependencies": [], + "size": 264951, + "date_published": "2023-06-22T18:23:11.502437Z" + }, + { + "type": "curseforge", + "file_name": "async-locator-forge-1.20-1.3.0.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4603/343/async-locator-forge-1.20-1.3.0.jar", + "id": "4603343", + "parent_id": "625069", + "hashes": { + "sha1": "fa8e3d65644e5bf1ea62f1ba3c94b0982dfb7357", + "md5": "8b5e3d0c39d567a44f269439f880b444" + }, + "required_dependencies": [], + "size": 264951, + "date_published": "2023-06-22T18:24:14.363Z" + } + ] + }, { "pakku_id": "oC8drXTiVhSPnyCl", "type": "MOD", @@ -675,6 +1000,132 @@ } ] }, + { + "pakku_id": "Jb0rTeH1FtOgJKci", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "auroras", + "modrinth": "auroras" + }, + "name": { + "curseforge": "Auroras", + "modrinth": "Auroras" + }, + "id": { + "curseforge": "1105290", + "modrinth": "Q7VPWopC" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Auroras-1.20.1-1.6.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6040/671/Auroras-1.20.1-1.6.2.jar", + "id": "6040671", + "parent_id": "1105290", + "hashes": { + "sha1": "f7ba6e761a5c439325c93f6d33b6b3feda3182bd", + "md5": "7fff40d58f53aea9c9767ca8b0d0efd3" + }, + "required_dependencies": [], + "size": 2119153, + "date_published": "2024-12-31T19:57:57.427Z" + }, + { + "type": "modrinth", + "file_name": "Auroras-1.20.1-1.6.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Q7VPWopC/versions/Y1QQeYYi/Auroras-1.20.1-1.6.2.jar", + "id": "Y1QQeYYi", + "parent_id": "Q7VPWopC", + "hashes": { + "sha512": "41a678484369764a2acbd98ae153b0eb104a8e201cd5600dd1cd5b31ec4d94d72266044102c2d82273ddbd8c089cd854a18d6b1366ffa1e2aa403b58ecf5cfce", + "sha1": "f7ba6e761a5c439325c93f6d33b6b3feda3182bd" + }, + "required_dependencies": [], + "size": 2119153, + "date_published": "2024-12-31T20:00:15.446246Z" + } + ] + }, + { + "pakku_id": "IaAWVyyrZaHMumyk", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "badoptimizations", + "modrinth": "badoptimizations" + }, + "name": { + "curseforge": "BadOptimizations", + "modrinth": "BadOptimizations" + }, + "id": { + "curseforge": "949555", + "modrinth": "g96Z4WVZ" + }, + "files": [ + { + "type": "modrinth", + "file_name": "BadOptimizations-2.2.1-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "fabric", + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/g96Z4WVZ/versions/M0bM4C3I/BadOptimizations-2.2.1-1.20.1.jar", + "id": "M0bM4C3I", + "parent_id": "g96Z4WVZ", + "hashes": { + "sha512": "5cb3a2cfe8c84f40ceb506e32c4ef9b8a4e560f7583a54adf7a402121cb285b37aae417d3c94314264a615b4fda0c8b974be115a1c18d783d80537acbc14b736", + "sha1": "5f7a3dcc4ecb52a028ea4ee2010f81465544319e" + }, + "required_dependencies": [], + "size": 439771, + "date_published": "2024-12-04T05:26:46.708509Z" + }, + { + "type": "curseforge", + "file_name": "BadOptimizations-2.2.1-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "fabric", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5961/397/BadOptimizations-2.2.1-1.20.1.jar", + "id": "5961397", + "parent_id": "949555", + "hashes": { + "sha1": "5f7a3dcc4ecb52a028ea4ee2010f81465544319e", + "md5": "eae6018cb889b2d14386c6d40dc4e953" + }, + "required_dependencies": [], + "size": 439771, + "date_published": "2024-12-04T05:26:46.540Z" + } + ] + }, { "pakku_id": "CBSBD7u2DdsFEaoX", "type": "MOD", @@ -690,24 +1141,25 @@ "files": [ { "type": "curseforge", - "file_name": "balm-forge-1.20.1-7.3.9-all.jar", + "file_name": "balm-forge-1.20.1-7.3.25-all.jar", "mc_versions": [ - "1.20.1" + "1.20.1", + "1.20" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5644/976/balm-forge-1.20.1-7.3.9-all.jar", - "id": "5644976", + "url": "https://edge.forgecdn.net/files/6338/295/balm-forge-1.20.1-7.3.25-all.jar", + "id": "6338295", "parent_id": "531761", "hashes": { - "sha1": "e041f044d707dd06a6efa2c63b39f26abf60f671", - "md5": "ccb8e1687a39cc613ad910460bd4ac3b" + "sha1": "384db53619c4c1f4d22d39c0ba536298737de81a", + "md5": "2e84b519da3eef234fa77d4110429e23" }, "required_dependencies": [], - "size": 373583, - "date_published": "2024-08-19T19:53:51.597Z" + "size": 473917, + "date_published": "2025-03-24T07:57:19.600Z" } ] }, @@ -784,6 +1236,147 @@ } ] }, + { + "pakku_id": "yaiXQ1VP1cepz5F2", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "beneath", + "modrinth": "beneath" + }, + "name": { + "curseforge": "Beneath", + "modrinth": "Beneath" + }, + "id": { + "curseforge": "1113980", + "modrinth": "6VieRZiz" + }, + "files": [ + { + "type": "modrinth", + "file_name": "beneath-1.20.1-1.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/6VieRZiz/versions/BPS3Bb2s/beneath-1.20.1-1.0.4.jar", + "id": "BPS3Bb2s", + "parent_id": "6VieRZiz", + "hashes": { + "sha512": "0e2ad7be3e389cb608fbe15c322de849ea05ebe890d8a015ff3e5dc9899cda90b1d1d73da25b57196ac0f0716ad9f6001aae8fe28f6851b1a1133c62267f8e45", + "sha1": "68fb9b544f582c45f7dc3402b2ae2f084d347a8b" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 1500598, + "date_published": "2025-02-11T01:11:12.901644Z" + }, + { + "type": "curseforge", + "file_name": "beneath-1.20.1-1.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6180/230/beneath-1.20.1-1.0.4.jar", + "id": "6180230", + "parent_id": "1113980", + "hashes": { + "sha1": "68fb9b544f582c45f7dc3402b2ae2f084d347a8b", + "md5": "a8b0315801867b2bc4762e14d3a1c0c7" + }, + "required_dependencies": [ + "302973" + ], + "size": 1500598, + "date_published": "2025-02-11T01:11:10.830Z" + } + ] + }, + { + "pakku_id": "BlX16Sv4PU9CrHXV", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "better-biome-reblend", + "modrinth": "bbrb" + }, + "name": { + "curseforge": "Better Biome Reblend", + "modrinth": "Better Biome Reblend" + }, + "id": { + "curseforge": "1018276", + "modrinth": "Xh8hkQmD" + }, + "files": [ + { + "type": "modrinth", + "file_name": "betterbiomeblend-1.4.2.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4", + "1.20.5", + "1.20.6" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Xh8hkQmD/versions/FBM8BqFa/betterbiomeblend-1.4.2.jar", + "id": "FBM8BqFa", + "parent_id": "Xh8hkQmD", + "hashes": { + "sha512": "f3ed0ae1d5c6940f04ba77087f128919c7ec0bb1d98965a967e8ce8a733f90efed4e620f428522579ea8a4fb1b07fe8b750cb6776c6399c0f71a686406cf204e", + "sha1": "02cb03cfd38763177928855083207e8381bf659f" + }, + "required_dependencies": [], + "size": 54314, + "date_published": "2024-05-21T23:33:56.785624Z" + }, + { + "type": "curseforge", + "file_name": "betterbiomeblend-1.4.2.jar", + "mc_versions": [ + "1.20.2", + "1.20.5", + "1.20.3", + "1.20.1", + "1.20", + "1.20.6", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5362/745/betterbiomeblend-1.4.2.jar", + "id": "5362745", + "parent_id": "1018276", + "hashes": { + "sha1": "02cb03cfd38763177928855083207e8381bf659f", + "md5": "2381ec29c676484732f7243d1da2db47" + }, + "required_dependencies": [], + "size": 54314, + "date_published": "2024-05-21T23:35:18.680Z" + } + ] + }, { "pakku_id": "ySlgxfqolWwH2GXk", "type": "MOD", @@ -849,6 +1442,50 @@ } ] }, + { + "pakku_id": "kP9ZUvWn1P5khogc", + "pakku_links": [ + "IqPkca9cWhZ2JxDJ", + "hEH6ly65CC6Sw1pf" + ], + "type": "MOD", + "slug": { + "curseforge": "betterp2p" + }, + "name": { + "curseforge": "Better P2P" + }, + "id": { + "curseforge": "538092" + }, + "files": [ + { + "type": "curseforge", + "file_name": "betterp2p-1.5.0-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6015/618/betterp2p-1.5.0-forge.jar", + "id": "6015618", + "parent_id": "538092", + "hashes": { + "sha1": "528ccd37ba0dad755e875601bb3326bdeb0f3d4a", + "md5": "343ca129e039a2875d5d1361e2d9d4ef" + }, + "required_dependencies": [ + "223794", + "351264", + "419699" + ], + "size": 262302, + "date_published": "2024-12-23T05:40:21.080Z" + } + ] + }, { "pakku_id": "27EMyRit1jQwhim7", "type": "MOD", @@ -979,76 +1616,6 @@ } ] }, - { - "pakku_id": "XEKzNetr4rJlXRtR", - "pakku_links": [ - "ljByFnUSb1ka9OoU" - ], - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "betterf3", - "modrinth": "betterf3" - }, - "name": { - "curseforge": "BetterF3", - "modrinth": "BetterF3" - }, - "id": { - "curseforge": "401648", - "modrinth": "8shC1gFX" - }, - "files": [ - { - "type": "modrinth", - "file_name": "BetterF3-7.0.2-Forge-1.20.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/8shC1gFX/versions/xo6HmgWj/BetterF3-7.0.2-Forge-1.20.1.jar", - "id": "xo6HmgWj", - "parent_id": "8shC1gFX", - "hashes": { - "sha512": "e88ce04d601a5953de909edaabb49dad9eea2c3a9ccccb1247fd041554b30794d4d4c315be065c90b1017cbd798199e644fe8d905125f4c431ddb8eaf170dd15", - "sha1": "b65cba59e87dc6c6d1aa9c47f09b9996b4e5075d" - }, - "required_dependencies": [ - "9s6osm5g" - ], - "size": 468517, - "date_published": "2023-11-13T04:17:25.937180Z" - }, - { - "type": "curseforge", - "file_name": "BetterF3-7.0.2-Forge-1.20.1.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/4863/626/BetterF3-7.0.2-Forge-1.20.1.jar", - "id": "4863626", - "parent_id": "401648", - "hashes": { - "sha1": "b65cba59e87dc6c6d1aa9c47f09b9996b4e5075d", - "md5": "7411ae023390cf6b148f05a6b685279f" - }, - "required_dependencies": [ - "348521" - ], - "size": 468517, - "date_published": "2023-11-13T04:17:09.867Z" - } - ] - }, { "pakku_id": "aWmod7mfGa1gg77B", "type": "MOD", @@ -1112,6 +1679,105 @@ } ] }, + { + "pakku_id": "zOSnEtHEiKmumRhV", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "bookshelf", + "modrinth": "bookshelf-lib" + }, + "name": { + "curseforge": "Bookshelf", + "modrinth": "Bookshelf" + }, + "id": { + "curseforge": "228525", + "modrinth": "uy4Cnpcm" + }, + "files": [ + { + "type": "modrinth", + "file_name": "Bookshelf-Forge-1.20.1-20.2.13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/uy4Cnpcm/versions/tNwsir0K/Bookshelf-Forge-1.20.1-20.2.13.jar", + "id": "tNwsir0K", + "parent_id": "uy4Cnpcm", + "hashes": { + "sha512": "1143753a001bccb3fc84c699cc93343f1941da9b7a63d3a3b8078808262b42962f8b10a2c16ed97a49c058865a6dbaa7e85a1e8842b95039d222f06ab4ee9509", + "sha1": "c53d9eb5ce9e8ef0f2ea9b11e478d84ce958c3e5" + }, + "required_dependencies": [], + "size": 343962, + "date_published": "2024-06-13T15:17:37.621721Z" + }, + { + "type": "curseforge", + "file_name": "Bookshelf-Forge-1.20.1-20.2.13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5423/987/Bookshelf-Forge-1.20.1-20.2.13.jar", + "id": "5423987", + "parent_id": "228525", + "hashes": { + "sha1": "c53d9eb5ce9e8ef0f2ea9b11e478d84ce958c3e5", + "md5": "46c8e7f9bcfa984bd576e448df2beb25" + }, + "required_dependencies": [], + "size": 343962, + "date_published": "2024-06-13T15:17:32.300Z" + } + ] + }, + { + "pakku_id": "hAYZJm96tcU47i8e", + "type": "MOD", + "slug": { + "curseforge": "building-gadgets" + }, + "name": { + "curseforge": "Building Gadgets" + }, + "id": { + "curseforge": "298187" + }, + "files": [ + { + "type": "curseforge", + "file_name": "buildinggadgets2-1.0.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5144/161/buildinggadgets2-1.0.7.jar", + "id": "5144161", + "parent_id": "298187", + "hashes": { + "sha1": "466c8cf2a45d878a224a77525b254b044aba3bd2", + "md5": "38d1f75c246c6abe558ac07a2fa58947" + }, + "required_dependencies": [], + "size": 3832269, + "date_published": "2024-02-28T20:35:19.910Z" + } + ] + }, { "pakku_id": "EcBglfhqCOZSw5D9", "type": "MOD", @@ -1173,6 +1839,75 @@ } ] }, + { + "pakku_id": "c71nY6Rsq04CcE5b", + "pakku_links": [ + "qb27I6RFmY1EfXWL" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "cccbridge", + "modrinth": "cccbridge" + }, + "name": { + "curseforge": "CC:C Bridge", + "modrinth": "CC:C Bridge" + }, + "id": { + "curseforge": "656214", + "modrinth": "fXt291FO" + }, + "files": [ + { + "type": "modrinth", + "file_name": "cccbridge-mc1.20.1-forge-1.6.3.jar", + "mc_versions": [ + "1.20.1", + "1.20.2" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fXt291FO/versions/sPKVzUaW/cccbridge-mc1.20.1-forge-1.6.3.jar", + "id": "sPKVzUaW", + "parent_id": "fXt291FO", + "hashes": { + "sha512": "aa3b5464a1038d94de718583d035def8a9944032cb5de177cbef285ed49ca891c10c7095c5db1840eb3d4f4828f083056d1e02fafcdbb2c4ca771093be5923eb", + "sha1": "78a03348b3c1f26170cd1171b3a8ca8fbb34a272" + }, + "required_dependencies": [ + "LNytGWDc", + "gu7yAYhd" + ], + "size": 289381, + "date_published": "2023-11-13T16:44:59.790127Z" + }, + { + "type": "curseforge", + "file_name": "cccbridge-mc1.20.1-forge-1.6.3.jar", + "mc_versions": [ + "1.20.2", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4864/664/cccbridge-mc1.20.1-forge-1.6.3.jar", + "id": "4864664", + "parent_id": "656214", + "hashes": { + "sha1": "78a03348b3c1f26170cd1171b3a8ca8fbb34a272", + "md5": "8954495d581577028c662b6bcf4bb5e2" + }, + "required_dependencies": [], + "size": 289381, + "date_published": "2023-11-13T16:49:26.237Z" + } + ] + }, { "pakku_id": "NZANIGIK8HPdr4i7", "type": "MOD", @@ -1277,21 +2012,25 @@ ] }, { - "pakku_id": "scaS4vsSneWYIouC", + "pakku_id": "M4PNTNZvxOW9zDWV", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "catalogue" + "curseforge": "chalk", + "modrinth": "chalk-mod" }, "name": { - "curseforge": "Catalogue" + "curseforge": "Chalk", + "modrinth": "Chalk" }, "id": { - "curseforge": "459701" + "curseforge": "533748", + "modrinth": "YWGP4Y1d" }, "files": [ { - "type": "curseforge", - "file_name": "catalogue-forge-1.20.1-1.8.0.jar", + "type": "modrinth", + "file_name": "chalk-1.20.1-1.6.5.jar", "mc_versions": [ "1.20.1" ], @@ -1299,16 +2038,37 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4766/90/catalogue-forge-1.20.1-1.8.0.jar", - "id": "4766090", - "parent_id": "459701", + "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/HA8yrJaB/chalk-1.20.1-1.6.5.jar", + "id": "HA8yrJaB", + "parent_id": "YWGP4Y1d", "hashes": { - "sha1": "b8cc73db430fa6015671492d4332a65a8c2f5cae", - "md5": "524efc6bbcd6da51e86cbf3183587330" + "sha512": "49220d73636378eae9f55d3dbeedaddcc2afa8949dc656d1ea2c64625aeda210bee3d28e7f704d0ec652020173025235a1d6fd0ef94797409c08defac622fe57", + "sha1": "e4dee75dfe5f8ca8ec21f89ff877d3564bd5c9df" }, "required_dependencies": [], - "size": 240394, - "date_published": "2023-09-24T02:34:14Z" + "size": 321480, + "date_published": "2024-12-10T13:00:12.908950Z" + }, + { + "type": "curseforge", + "file_name": "chalk-1.20.1-1.6.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5979/807/chalk-1.20.1-1.6.5.jar", + "id": "5979807", + "parent_id": "533748", + "hashes": { + "sha1": "e4dee75dfe5f8ca8ec21f89ff877d3564bd5c9df", + "md5": "cd1b8ce2f43d8dd29935778f3575d4f0" + }, + "required_dependencies": [], + "size": 321480, + "date_published": "2024-12-10T12:59:38.420Z" } ] }, @@ -1331,7 +2091,7 @@ "files": [ { "type": "modrinth", - "file_name": "chat_heads-0.13.9-forge-1.20.jar", + "file_name": "chat_heads-0.13.13-forge-1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -1340,20 +2100,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/MbKGnBG9/chat_heads-0.13.9-forge-1.20.jar", - "id": "MbKGnBG9", + "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/PXpM1WCy/chat_heads-0.13.13-forge-1.20.jar", + "id": "PXpM1WCy", "parent_id": "Wb5oqrBJ", "hashes": { - "sha512": "e9662f0439fb680b3337e4dffdcb430678544871039c0822f94132367bb328bb5bf8e12c9a3a316053815b34ba2065a7e4f972d63b7866ed846e13354b6d04bc", - "sha1": "3577a46f533736bcc8167322db86634dbcdf8316" + "sha512": "8b990fcdab738d73c03186a0e8fb6abc7927855fb8cbf38896757db8cd9df12178425ba8f8db05b9aaa42aa2eb43a6b356c7e0dd2db31de13b588878afcd5200", + "sha1": "08be219d79d6b42551bc6ade3dd4e9297c46c3d1" }, "required_dependencies": [], - "size": 266124, - "date_published": "2025-01-14T15:31:02.302064Z" + "size": 266987, + "date_published": "2025-02-08T13:33:16.519984Z" }, { "type": "curseforge", - "file_name": "chat_heads-0.13.9-forge-1.20.jar", + "file_name": "chat_heads-0.13.13-forge-1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -1362,16 +2122,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6086/695/chat_heads-0.13.9-forge-1.20.jar", - "id": "6086695", + "url": "https://edge.forgecdn.net/files/6171/85/chat_heads-0.13.13-forge-1.20.jar", + "id": "6171085", "parent_id": "407206", "hashes": { - "sha1": "3577a46f533736bcc8167322db86634dbcdf8316", - "md5": "6782ffbed16af1e1015d958347a05381" + "sha1": "08be219d79d6b42551bc6ade3dd4e9297c46c3d1", + "md5": "d5921acbc304dd65051a5cdbae5072d8" }, "required_dependencies": [], - "size": 266124, - "date_published": "2025-01-14T15:31:08.823Z" + "size": 266987, + "date_published": "2025-02-08T13:33:20.770Z" } ] }, @@ -1438,6 +2198,77 @@ } ] }, + { + "pakku_id": "yrYDV3OKEF9gAkFx", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "chunky-pregenerator-forge", + "modrinth": "chunky" + }, + "name": { + "curseforge": "Chunky (Forge/NeoForge)", + "modrinth": "Chunky" + }, + "id": { + "curseforge": "485681", + "modrinth": "fALzjamp" + }, + "files": [ + { + "type": "modrinth", + "file_name": "Chunky-1.3.146.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fALzjamp/versions/4FTDk9wv/Chunky-1.3.146.jar", + "id": "4FTDk9wv", + "parent_id": "fALzjamp", + "hashes": { + "sha512": "13ef9d5bfea1895118eec45aa3071e2d79408241f29990624f67e157d4c525391753b0a1539ff3359dad79a6e5ab5e0b84fffbe528bdefcaaefd579ec794d9c9", + "sha1": "0b782d12b4ac3b03a94c28f32e9b2d5587d1dd50" + }, + "required_dependencies": [], + "size": 341451, + "date_published": "2024-05-06T07:28:42.102951Z" + }, + { + "type": "curseforge", + "file_name": "Chunky-1.3.146.jar", + "mc_versions": [ + "1.20.2", + "1.20.5", + "1.20.3", + "1.20.1", + "1.20", + "1.20.6", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5320/28/Chunky-1.3.146.jar", + "id": "5320028", + "parent_id": "485681", + "hashes": { + "sha1": "0b782d12b4ac3b03a94c28f32e9b2d5587d1dd50", + "md5": "ed46120ac4f30ec8e03f6416e295577c" + }, + "required_dependencies": [], + "size": 341451, + "date_published": "2024-05-06T07:10:57.567Z" + } + ] + }, { "pakku_id": "2wmaTBMHkCmjJgHW", "pakku_links": [ @@ -1457,7 +2288,7 @@ "files": [ { "type": "curseforge", - "file_name": "clienttweaks-forge-1.20-11.1.0.jar", + "file_name": "clienttweaks-forge-1.20.1-11.1.3.jar", "mc_versions": [ "1.20.1", "1.20" @@ -1466,18 +2297,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4751/740/clienttweaks-forge-1.20-11.1.0.jar", - "id": "4751740", + "url": "https://edge.forgecdn.net/files/6224/941/clienttweaks-forge-1.20.1-11.1.3.jar", + "id": "6224941", "parent_id": "251407", "hashes": { - "sha1": "8a117dbbb376360c34d6ba56ce03ce2837bbccc2", - "md5": "64f331d8b76c443f2cf11e44297e23eb" + "sha1": "911754379bb80b21ee02fdb974cd99d7eb759998", + "md5": "edcc1423695bbd79d4a8a515b8274afe" }, "required_dependencies": [ "531761" ], - "size": 131208, - "date_published": "2023-09-14T10:30:30.320Z" + "size": 131625, + "date_published": "2025-02-23T10:22:48.593Z" } ] }, @@ -1581,6 +2412,197 @@ } ] }, + { + "pakku_id": "rzlZhaTwcdqwHAxG", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "coastal-waves", + "modrinth": "coastal-waves" + }, + "name": { + "curseforge": "Coastal Waves", + "modrinth": "Coastal Waves" + }, + "id": { + "curseforge": "1155936", + "modrinth": "2ygdYUcf" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Waves-1.20.1-1.5.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6353/969/Waves-1.20.1-1.5.1.jar", + "id": "6353969", + "parent_id": "1155936", + "hashes": { + "sha1": "dbbc8dfa855b3af469a48eb55687eb7363246263", + "md5": "3ac9423d4430c0d616274e7a1ddf47fc" + }, + "required_dependencies": [], + "size": 1278005, + "date_published": "2025-03-27T02:35:35.863Z" + }, + { + "type": "modrinth", + "file_name": "Waves-1.20.1-1.5.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2ygdYUcf/versions/X5VAOq7P/Waves-1.20.1-1.5.1.jar", + "id": "X5VAOq7P", + "parent_id": "2ygdYUcf", + "hashes": { + "sha512": "6eac3cee76b7543ff0d565752ab2272db36d8f4af6646b3c4434955e8527aec5b509aac79dd218227c2b739e390b3c9432fa0690eb2ccb88202fe0ae0d25fd56", + "sha1": "dbbc8dfa855b3af469a48eb55687eb7363246263" + }, + "required_dependencies": [], + "size": 1278005, + "date_published": "2025-03-27T02:37:13.337751Z" + } + ] + }, + { + "pakku_id": "yFtvK1mV3huC6kIT", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "comforts", + "modrinth": "comforts" + }, + "name": { + "curseforge": "Comforts (Fabric/Forge/Quilt)", + "modrinth": "Comforts" + }, + "id": { + "curseforge": "276951", + "modrinth": "SaCpeal4" + }, + "files": [ + { + "type": "modrinth", + "file_name": "comforts-forge-6.4.0+1.20.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/SaCpeal4/versions/gBDsc134/comforts-forge-6.4.0+1.20.1.jar", + "id": "gBDsc134", + "parent_id": "SaCpeal4", + "hashes": { + "sha512": "5f8bc01de36814bbea454ad306efd6b7ae9de933117fe8c1197a13454804e4b71ddd0685a24ace45b81527a8489d4081f7e75b6c5d3f7d7c8f791520407fac09", + "sha1": "e7b9fe89566bb1ee013e33745f22f309f679536e" + }, + "required_dependencies": [], + "size": 382083, + "date_published": "2024-07-05T03:34:46.901956Z" + }, + { + "type": "curseforge", + "file_name": "comforts-forge-6.4.0+1.20.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5503/516/comforts-forge-6.4.0+1.20.1.jar", + "id": "5503516", + "parent_id": "276951", + "hashes": { + "sha1": "e7b9fe89566bb1ee013e33745f22f309f679536e", + "md5": "a88fcc168de1a0f9b2ae4e7cbe8a8408" + }, + "required_dependencies": [], + "size": 382083, + "date_published": "2024-07-05T03:34:48.973Z" + } + ] + }, + { + "pakku_id": "jZDVmvrMLZqxgLSx", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "construction-wand", + "modrinth": "construction-wand" + }, + "name": { + "curseforge": "Construction Wand", + "modrinth": "Construction Wand" + }, + "id": { + "curseforge": "399558", + "modrinth": "bV2crgLh" + }, + "files": [ + { + "type": "curseforge", + "file_name": "constructionwand-1.20.1-2.11.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4684/54/constructionwand-1.20.1-2.11.jar", + "id": "4684054", + "parent_id": "399558", + "hashes": { + "sha1": "80bd5223cd8984dc1038cb9f2d1cb6b97f31998a", + "md5": "e17b0f6b4fa378d6750a9030a5aca9e0" + }, + "required_dependencies": [], + "size": 210312, + "date_published": "2023-08-05T20:02:14.447Z" + }, + { + "type": "modrinth", + "file_name": "constructionwand-1.20.1-2.11.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/bV2crgLh/versions/XCgKj8gL/constructionwand-1.20.1-2.11.jar", + "id": "XCgKj8gL", + "parent_id": "bV2crgLh", + "hashes": { + "sha512": "a029f801dbcfacd230650fd018f7424535454fb2062d796cbe9cd622a9fe4ae80cb0d7883faa2775c27ed73a21dffbadb44ddc32ce1293ec098654393e7b1c95", + "sha1": "80bd5223cd8984dc1038cb9f2d1cb6b97f31998a" + }, + "required_dependencies": [], + "size": 210312, + "date_published": "2023-08-05T20:03:02.535254Z" + } + ] + }, { "pakku_id": "GzdI0oHwJrRp9mrA", "pakku_links": [ @@ -1623,74 +2645,6 @@ } ] }, - { - "pakku_id": "cQrdd9o2X9w3zjT9", - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "corals-tfc", - "modrinth": "corals-tfc" - }, - "name": { - "curseforge": "Corals TFC", - "modrinth": "Corals TFC // 1.18.2 // 1.20.1 //" - }, - "id": { - "curseforge": "950924", - "modrinth": "RzMcpTLU" - }, - "redistributable": false, - "files": [ - { - "type": "modrinth", - "file_name": "corals-tfc-1.0.0-forge-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/RzMcpTLU/versions/yRiJeZSD/corals-tfc-1.0.0-forge-1.20.1.jar", - "id": "yRiJeZSD", - "parent_id": "RzMcpTLU", - "hashes": { - "sha512": "a90975332d74e56e00ecb1b7fcad2195b2c6bb4bbe5d87366e0d94db80d26e06684ef5523edfd4594020375ea50bbf8b203f1493faaf512bc3ef88797471207e", - "sha1": "a56a69a8f4cc9b555b34ffd34ce0f5177927d9ca" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 84499, - "date_published": "2023-12-16T22:48:32.766577Z" - }, - { - "type": "curseforge", - "file_name": "corals-tfc-1.0.0-forge-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4961/778/corals-tfc-1.0.0-forge-1.20.1.jar", - "id": "4961778", - "parent_id": "950924", - "hashes": { - "sha1": "a56a69a8f4cc9b555b34ffd34ce0f5177927d9ca", - "md5": "62a5dbb4d5739a12547c52ecf30f80f1" - }, - "required_dependencies": [ - "302973" - ], - "size": 84499, - "date_published": "2023-12-16T22:31:41.490Z" - } - ] - }, { "pakku_id": "w2JoHfVDhChSvfRK", "type": "MOD", @@ -1706,7 +2660,7 @@ "files": [ { "type": "curseforge", - "file_name": "corpse-forge-1.20.1-1.0.19.jar", + "file_name": "corpse-forge-1.20.1-1.0.20.jar", "mc_versions": [ "1.20.1" ], @@ -1714,16 +2668,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5985/511/corpse-forge-1.20.1-1.0.19.jar", - "id": "5985511", + "url": "https://edge.forgecdn.net/files/6121/243/corpse-forge-1.20.1-1.0.20.jar", + "id": "6121243", "parent_id": "316582", "hashes": { - "sha1": "db1348bf38522cdac460cf203b9b72d66cf742d9", - "md5": "15c7502edeaba9e1025fe81453720477" + "sha1": "fc5cd03dd52f24467c879b44296ddc70b85398f4", + "md5": "143d3e76139de3b9186849f494a41af6" }, "required_dependencies": [], - "size": 244998, - "date_published": "2024-12-12T16:50:10.933Z" + "size": 244994, + "date_published": "2025-01-24T21:52:45.963Z" } ] }, @@ -1782,7 +2736,7 @@ "files": [ { "type": "modrinth", - "file_name": "CraftPresence-2.5.0+1.20.1-forge.jar", + "file_name": "CraftPresence-2.5.3+1.20.1-forge.jar", "mc_versions": [ "1.20", "1.20.1" @@ -1792,18 +2746,18 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/DFqQfIBR/versions/4kWVMsSO/CraftPresence-2.5.0+1.20.1-forge.jar", - "id": "4kWVMsSO", + "url": "https://cdn.modrinth.com/data/DFqQfIBR/versions/bidlFDsi/CraftPresence-2.5.3+1.20.1-forge.jar", + "id": "bidlFDsi", "parent_id": "DFqQfIBR", "hashes": { - "sha512": "65b5e46e678ebed5977086d73c0dfc6ee475cf8c3879c880c501605653957a7c5cc965d8e723ebbbe312669e691e55a192c43b3bd673f034841206fb63e6f7de", - "sha1": "dcc9436dd798fe92f755645c87bf652117eec07f" + "sha512": "1150620372dadfd31c7b67d873897fdba66924bfee71d2b6a24ccd684aa1f5d309f33e818e0c550f2168f59f3d9210d537a1bb892e991f429684c72bd6fe29a8", + "sha1": "7a350de8adcfff12b8606f1ab0de8422974d7e52" }, "required_dependencies": [ "nT86WUER" ], - "size": 1905153, - "date_published": "2024-08-08T16:48:14.817101Z" + "size": 2032016, + "date_published": "2025-01-15T02:17:46.973451Z" }, { "type": "curseforge", @@ -1875,25 +2829,108 @@ ] }, { - "pakku_id": "JJEMwzpSHmXvtGNL", + "pakku_id": "yQ5A99800UdoHyv1", "type": "MOD", - "side": "BOTH", + "side": "SERVER", "slug": { - "curseforge": "create", - "modrinth": "create" + "curseforge": "crashexploitfixer", + "modrinth": "crashexploitfixer" }, "name": { - "curseforge": "Create", - "modrinth": "Create" + "curseforge": "CrashExploitFixer", + "modrinth": "CrashExploitFixer" }, "id": { - "curseforge": "328085", - "modrinth": "LNytGWDc" + "curseforge": "1079896", + "modrinth": "Z5GdSH3X" }, "files": [ { "type": "modrinth", - "file_name": "create-1.20.1-0.5.1.f.jar", + "file_name": "crashexploitfixer-forge-1.1.0+1.20.1.jar", + "mc_versions": [ + "1.14.4", + "1.15", + "1.15.1", + "1.15.2", + "1.16", + "1.16.1", + "1.16.2", + "1.16.3", + "1.16.4", + "1.16.5", + "1.17", + "1.17.1", + "1.18", + "1.18.1", + "1.18.2", + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Z5GdSH3X/versions/rUAY9w44/crashexploitfixer-forge-1.1.0+1.20.1.jar", + "id": "rUAY9w44", + "parent_id": "Z5GdSH3X", + "hashes": { + "sha512": "766f82907da30581adebfee93c75814e72251b0d89c2590cc48518c02ea3ec72f59e602aaae0d168b8b54053cd30c976c6d8384a03a594090f105deb43268767", + "sha1": "5dec3209e6dbb6c4fa06fb544e797608a1d58014" + }, + "required_dependencies": [], + "size": 688719, + "date_published": "2024-08-08T17:46:27.034093Z" + }, + { + "type": "curseforge", + "file_name": "crashexploitfixer-forge-1.1.0+1.20.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5608/519/crashexploitfixer-forge-1.1.0+1.20.1.jar", + "id": "5608519", + "parent_id": "1079896", + "hashes": { + "sha1": "5dec3209e6dbb6c4fa06fb544e797608a1d58014", + "md5": "6038b983a31161d98cc13771ac12466a" + }, + "required_dependencies": [], + "size": 688719, + "date_published": "2024-08-08T17:46:25.420Z" + } + ] + }, + { + "pakku_id": "qb27I6RFmY1EfXWL", + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "create", + "curseforge": "create" + }, + "name": { + "modrinth": "Create", + "curseforge": "Create" + }, + "id": { + "modrinth": "LNytGWDc", + "curseforge": "328085" + }, + "files": [ + { + "type": "modrinth", + "file_name": "create-1.20.1-0.5.1.j.jar", "mc_versions": [ "1.20.1" ], @@ -1902,20 +2939,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/HNYrbfZZ/create-1.20.1-0.5.1.f.jar", - "id": "HNYrbfZZ", + "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/6R069CcK/create-1.20.1-0.5.1.j.jar", + "id": "6R069CcK", "parent_id": "LNytGWDc", "hashes": { - "sha512": "426c1ce8b9cbaa3b3d6964ff5669401734146648ae024b14ea1e7bfc0768fb768310a7e464b81d40eac1cf07b24c4a7b01c84dfc879ed637c05947c6b6516961", - "sha1": "3fee3c26ebbfdfd59e1371ab73ba1f61b44ef6d0" + "sha512": "893b531f7d93e30561024087b8718934fc2bb93c4f3f40edff5346f18e0330c8d3524f1ebef50d90e91a20f7a679ef6da44dd9b6e68292afe28b1b88fa7f07fb", + "sha1": "fab2ae7fcf685b3875ca20022bfecf0d4fdafbf7" }, "required_dependencies": [], - "size": 14964127, - "date_published": "2023-11-02T15:13:46.215698Z" + "size": 15583566, + "date_published": "2024-10-23T20:15:29.730624Z" }, { "type": "curseforge", - "file_name": "create-1.20.1-0.5.1.f.jar", + "file_name": "create-1.20.1-0.5.1.j.jar", "mc_versions": [ "1.20.1" ], @@ -1924,21 +2961,25 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4835/191/create-1.20.1-0.5.1.f.jar", - "id": "4835191", + "url": "https://edge.forgecdn.net/files/5838/779/create-1.20.1-0.5.1.j.jar", + "id": "5838779", "parent_id": "328085", "hashes": { - "sha1": "3fee3c26ebbfdfd59e1371ab73ba1f61b44ef6d0", - "md5": "6a097aa0bfc73a4f8372a16e763f9f02" + "sha1": "fab2ae7fcf685b3875ca20022bfecf0d4fdafbf7", + "md5": "db945b2441efa1a136d3f86126a6f813" }, "required_dependencies": [], - "size": 14964127, - "date_published": "2023-11-02T14:59:20.063Z" + "size": 15583566, + "date_published": "2024-10-23T20:14:49.660Z" } ] }, { "pakku_id": "O2HUJjfNXeKh9X5t", + "pakku_links": [ + "84mP4zIfFqgjbn47", + "qb27I6RFmY1EfXWL" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -1956,7 +2997,7 @@ "files": [ { "type": "modrinth", - "file_name": "createaddition-1.20.1-1.2.4c.jar", + "file_name": "createaddition-1.20.1-1.2.5.jar", "mc_versions": [ "1.20.1" ], @@ -1964,18 +3005,18 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/6hnkdvDW/createaddition-1.20.1-1.2.4c.jar", - "id": "6hnkdvDW", + "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/VTTLcYWM/createaddition-1.20.1-1.2.5.jar", + "id": "VTTLcYWM", "parent_id": "kU1G12Nn", "hashes": { - "sha512": "83b76ed21e4932b8d1603dd94649194811e8c607dbf9372e6604d953bd354a6df722436f546ab307eddce451b58d2c60b10f21564c06efa4b7e6d067108effff", - "sha1": "167bc7a5a3c09b4ba4a1aae8d4206bcdaa0f531b" + "sha512": "be1d03082b2f404c7ebe93f0ad3995c8a65053f86624ef4b1ee5d5b697f62e68672f93c7e4f9bd6a50de69661b72b073be69f2ac1d1331b7f043f78caaf982ba", + "sha1": "956186484bab4eeee5eb0250e5509f1e01ad5094" }, "required_dependencies": [ "LNytGWDc" ], - "size": 1516454, - "date_published": "2024-06-25T17:16:50.392384Z" + "size": 1531985, + "date_published": "2025-01-13T23:14:47.736380Z" }, { "type": "curseforge", @@ -2002,8 +3043,146 @@ } ] }, + { + "pakku_id": "8x59SjbVoYqFc0Wv", + "pakku_links": [ + "qb27I6RFmY1EfXWL" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "create-deco", + "modrinth": "create-deco" + }, + "name": { + "curseforge": "Create Deco", + "modrinth": "Create Deco" + }, + "id": { + "curseforge": "509285", + "modrinth": "sMvUb4Rb" + }, + "files": [ + { + "type": "modrinth", + "file_name": "createdeco-2.0.2-1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/sMvUb4Rb/versions/lcpO5tBr/createdeco-2.0.2-1.20.1-forge.jar", + "id": "lcpO5tBr", + "parent_id": "sMvUb4Rb", + "hashes": { + "sha512": "f9327abbc2067717ca63b64f8374abac4452fed7f1feedf9f5289e4b758a55e411d6b79a3e5277c0799717cc2d8e1d0caadf0f82c0102ba7fb15749e78d6603a", + "sha1": "606650f31ca0a5eb64d4bbb8fbaecf357a3bdb43" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 3966138, + "date_published": "2024-04-26T21:05:41.637319Z" + }, + { + "type": "curseforge", + "file_name": "createdeco-2.0.2-1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5293/982/createdeco-2.0.2-1.20.1-forge.jar", + "id": "5293982", + "parent_id": "509285", + "hashes": { + "sha1": "606650f31ca0a5eb64d4bbb8fbaecf357a3bdb43", + "md5": "9c86ef2ebb60aa617ac92c3ae1d3c545" + }, + "required_dependencies": [], + "size": 3966138, + "date_published": "2024-04-26T21:12:12.260Z" + } + ] + }, + { + "pakku_id": "n7LrUbnh6aMeSSCg", + "pakku_links": [ + "JJEMwzpSHmXvtGNL", + "qb27I6RFmY1EfXWL" + ], + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "create-horse-power", + "modrinth": "create-horse-power" + }, + "name": { + "curseforge": "Create Horse Power", + "modrinth": "Create Horse Power" + }, + "id": { + "curseforge": "1121632", + "modrinth": "9Qm19XSM" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "createhorsepower-1.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5812/109/createhorsepower-1.0.0.jar", + "id": "5812109", + "parent_id": "1121632", + "hashes": { + "sha1": "b7818918171af3f32a499cd2d0091ae4dfd2bcca", + "md5": "c7928a5531f4fe262d0432da1a0a5e7e" + }, + "required_dependencies": [], + "size": 251254, + "date_published": "2024-10-14T18:12:31.577Z" + }, + { + "type": "modrinth", + "file_name": "createhorsepower-1.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9Qm19XSM/versions/QQH0lIPQ/createhorsepower-1.0.0.jar", + "id": "QQH0lIPQ", + "parent_id": "9Qm19XSM", + "hashes": { + "sha512": "80651b1f8277f8b669ffb2c89ed03b6d280ee67133169032a7759ab1dfd45f7a12e9a8404560c5dae744b5892d9de4217331b8537853796a2855ca7394851495", + "sha1": "b7818918171af3f32a499cd2d0091ae4dfd2bcca" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 251254, + "date_published": "2024-09-08T03:21:44.259408Z" + } + ] + }, { "pakku_id": "nETOAiekqVCbz6uw", + "pakku_links": [ + "84mP4zIfFqgjbn47", + "qb27I6RFmY1EfXWL" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -2019,6 +3198,30 @@ "modrinth": "Vg5TIO6d" }, "files": [ + { + "type": "curseforge", + "file_name": "create_connected-0.9.3-mc1.20.1-all.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6041/737/create_connected-0.9.3-mc1.20.1-all.jar", + "id": "6041737", + "parent_id": "947914", + "hashes": { + "sha1": "699f78c0fc8cca874ebd795ceaf2e44135f7ee90", + "md5": "d3d5860b5454c7a533c7c17bf3c21f13" + }, + "required_dependencies": [ + "328085" + ], + "size": 6231008, + "date_published": "2025-01-01T05:18:51.580Z" + }, { "type": "modrinth", "file_name": "create_connected-0.8.2-mc1.20.1-all.jar", @@ -2041,36 +3244,15 @@ ], "size": 6145362, "date_published": "2024-05-29T15:36:20.552670Z" - }, - { - "type": "curseforge", - "file_name": "create_connected-0.8.2-mc1.20.1-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5381/714/create_connected-0.8.2-mc1.20.1-all.jar", - "id": "5381714", - "parent_id": "947914", - "hashes": { - "sha1": "9eeb02a46197635ac926e8302aa536ad191ddf02", - "md5": "5cd8b79086ed93d62cb43f75b38d36d7" - }, - "required_dependencies": [ - "328085" - ], - "size": 6145362, - "date_published": "2024-05-29T15:36:20.090Z" } ] }, { "pakku_id": "nx6J4hVPORC7FHih", "pakku_links": [ - "JJEMwzpSHmXvtGNL" + "JJEMwzpSHmXvtGNL", + "84mP4zIfFqgjbn47", + "qb27I6RFmY1EfXWL" ], "type": "MOD", "side": "BOTH", @@ -2089,7 +3271,7 @@ "files": [ { "type": "modrinth", - "file_name": "Steam_Rails-1.6.4+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.7+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2098,18 +3280,18 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/GTvwVcFK/Steam_Rails-1.6.4+forge-mc1.20.1.jar", - "id": "GTvwVcFK", + "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/pklcGSDf/Steam_Rails-1.6.7+forge-mc1.20.1.jar", + "id": "pklcGSDf", "parent_id": "ZzjhlDgM", "hashes": { - "sha512": "1867d90779fc92192853cd88ba0e653d7a59b95f525ebcfd541d4116e1455fb333ce0c4f2b852e671c4990b5df0a2a63fb3e714401a607195f8e6b082d17c161", - "sha1": "1fa6261d8bcde2feb200886e2ff6cfcbbdb53e17" + "sha512": "1cd28a5c4c0544f6164ff9f95fc408b5149f968c7531d98dde02df75e5e59ef616b861c8a2232eaa2216cc4c34ca50957e7d134466ad2b6f8e1ed3f8cf426808", + "sha1": "7449e9cbaae6a23a31127a3cf0886899c28639dc" }, "required_dependencies": [ "LNytGWDc" ], - "size": 9096035, - "date_published": "2024-05-09T22:45:18.721638Z" + "size": 9997801, + "date_published": "2024-10-23T21:20:31.414264Z" }, { "type": "curseforge", @@ -2137,6 +3319,78 @@ } ] }, + { + "pakku_id": "1rGcA3uYMV51UBLS", + "pakku_links": [ + "JJEMwzpSHmXvtGNL", + "84mP4zIfFqgjbn47", + "qb27I6RFmY1EfXWL" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "create-vintage-improvements", + "modrinth": "create-vintage-improvements" + }, + "name": { + "curseforge": "Create: Vintage Improvements", + "modrinth": "Create: Vintage Improvements" + }, + "id": { + "curseforge": "946579", + "modrinth": "S27aYArf" + }, + "files": [ + { + "type": "curseforge", + "file_name": "vintageimprovements-1.20.1-0.2.0.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5661/407/vintageimprovements-1.20.1-0.2.0.3.jar", + "id": "5661407", + "parent_id": "946579", + "hashes": { + "sha1": "7a0f9807a148ae1a433149ef88c5c6dd4ed93d5a", + "md5": "19cc1e567129ac86a438a637589b0d68" + }, + "required_dependencies": [ + "328085" + ], + "size": 1382006, + "date_published": "2024-08-25T08:36:45.260Z" + }, + { + "type": "modrinth", + "file_name": "vintageimprovements-1.20.1-0.2.0.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/S27aYArf/versions/a7TBDYtd/vintageimprovements-1.20.1-0.2.0.3.jar", + "id": "a7TBDYtd", + "parent_id": "S27aYArf", + "hashes": { + "sha512": "0fbba07b81eaa1ec752135909520732aef3f9207aefa7d1c8c3c4f7cb3f53875f6acf607d1a106dec8a7dc413c3c91442a100839aec6b08ca1f54b7f6e018a80", + "sha1": "7a0f9807a148ae1a433149ef88c5c6dd4ed93d5a" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 1382006, + "date_published": "2024-08-25T08:38:24.609727Z" + } + ] + }, { "pakku_id": "UOjZxqemtQFAP9R8", "type": "MOD", @@ -2156,7 +3410,7 @@ "files": [ { "type": "modrinth", - "file_name": "CreativeCore_FORGE_v2.12.15_mc1.20.1.jar", + "file_name": "CreativeCore_FORGE_v2.12.31_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2165,20 +3419,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/OsZiaDHq/versions/TMXT4IEs/CreativeCore_FORGE_v2.12.15_mc1.20.1.jar", - "id": "TMXT4IEs", + "url": "https://cdn.modrinth.com/data/OsZiaDHq/versions/ERxjjtmi/CreativeCore_FORGE_v2.12.31_mc1.20.1.jar", + "id": "ERxjjtmi", "parent_id": "OsZiaDHq", "hashes": { - "sha512": "47899bd3630a95fdeab0b690f1f842b8c52c88f7f5045b541d6df794878228215b3eb9b31c88ee5790d2bafb2eb09f9aecfe6e079aa0578f423536c9ae949ec8", - "sha1": "0f88ac76fe440df0e6af19decbf9514f61870913" + "sha512": "def780dc76c9701ad3947c5f4dba4f75a4717c51bd1b9433967ed5f5ae88a23e03dab61a32b1d8217f86fe9cbaa230a76b8d07c3926bf5b7ff54989602d476b1", + "sha1": "0a4331b9670a3ad2467aac1d766d12cb9c0d4629" }, "required_dependencies": [], - "size": 1144776, - "date_published": "2024-09-21T16:46:44.697589Z" + "size": 1158550, + "date_published": "2025-01-21T14:14:09.469983Z" }, { "type": "curseforge", - "file_name": "CreativeCore_FORGE_v2.12.15_mc1.20.1.jar", + "file_name": "CreativeCore_FORGE_v2.12.31_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2187,16 +3441,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5743/457/CreativeCore_FORGE_v2.12.15_mc1.20.1.jar", - "id": "5743457", + "url": "https://edge.forgecdn.net/files/6109/933/CreativeCore_FORGE_v2.12.31_mc1.20.1.jar", + "id": "6109933", "parent_id": "257814", "hashes": { - "sha1": "0f88ac76fe440df0e6af19decbf9514f61870913", - "md5": "1efbdfbc5e122e03b31d1428b74212af" + "sha1": "0a4331b9670a3ad2467aac1d766d12cb9c0d4629", + "md5": "1ba328e0a3dfb34261c234b5f02f8935" }, "required_dependencies": [], - "size": 1144776, - "date_published": "2024-09-21T16:46:48.873Z" + "size": 1158550, + "date_published": "2025-01-21T14:14:12.967Z" } ] }, @@ -2219,7 +3473,7 @@ "files": [ { "type": "modrinth", - "file_name": "Cucumber-1.20.1-7.0.12.jar", + "file_name": "Cucumber-1.20.1-7.0.13.jar", "mc_versions": [ "1.20.1" ], @@ -2227,16 +3481,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/NZvngeGG/Cucumber-1.20.1-7.0.12.jar", - "id": "NZvngeGG", + "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/TLlsXNj6/Cucumber-1.20.1-7.0.13.jar", + "id": "TLlsXNj6", "parent_id": "Rw1NrDzF", "hashes": { - "sha512": "226db93b5fec31fc5f3d827184ed6e09d2666b7c01733a0d93fd40c2f7e6cd839229b3c1b6148ef327b65b1d13fb769e6e2484c758d95a36bbf012c407524922", - "sha1": "3346991a0cd78ff438ec38583f9f3e9d2c7aea10" + "sha512": "613ac197d59f9fb133d683ec9c86f0aa5a15305f8a872d01764abfd9a402c487cb26158688bfea30cfd75bc7dd9e218c2d0ee0dff66e551758d770e9a5b1492f", + "sha1": "e2987306d878745a1ea926bdee07f8d320bfa848" }, "required_dependencies": [], - "size": 269587, - "date_published": "2024-09-11T19:32:43.996360Z" + "size": 269589, + "date_published": "2024-10-29T16:56:00.078053Z" }, { "type": "curseforge", @@ -2317,7 +3571,7 @@ "files": [ { "type": "modrinth", - "file_name": "curios-forge-5.10.0+1.20.1.jar", + "file_name": "curios-forge-5.12.1+1.20.1.jar", "mc_versions": [ "1.20", "1.20.1" @@ -2327,20 +3581,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/vvuO3ImH/versions/8HlBRHsc/curios-forge-5.10.0+1.20.1.jar", - "id": "8HlBRHsc", + "url": "https://cdn.modrinth.com/data/vvuO3ImH/versions/aFw6K2Jy/curios-forge-5.12.1+1.20.1.jar", + "id": "aFw6K2Jy", "parent_id": "vvuO3ImH", "hashes": { - "sha512": "086269b2bbf0c9513c6230ae0cb5923e257bb1cf81d46cb883b800aeafd1b932b426d92f77a00705dce9c15d79220e24cb7f8b5aaee3d77b9106d0800d793ef3", - "sha1": "e430429e33a1aee50c2baf917daadc0bbb9104ed" + "sha512": "3d78f4918056d91641fe50b78011b62aa1b6973fd078bd5d986e3d7411f27dce5a57c2a770f8b4dadaf8ff024d1af099b0b14e7fe6db0619349bd5e15e239df3", + "sha1": "aae5dcf04a670133953839360ad236f0890c0be6" }, "required_dependencies": [], - "size": 384929, - "date_published": "2024-08-31T12:02:24.304391Z" + "size": 395966, + "date_published": "2025-02-26T10:45:02.998362Z" }, { "type": "curseforge", - "file_name": "curios-forge-5.10.0+1.20.1.jar", + "file_name": "curios-forge-5.12.1+1.20.1.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2350,16 +3604,53 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5680/164/curios-forge-5.10.0+1.20.1.jar", - "id": "5680164", + "url": "https://edge.forgecdn.net/files/6238/756/curios-forge-5.12.1+1.20.1.jar", + "id": "6238756", "parent_id": "309927", "hashes": { - "sha1": "e430429e33a1aee50c2baf917daadc0bbb9104ed", - "md5": "73c3942efd83fdfe91c781f3e4119714" + "sha1": "aae5dcf04a670133953839360ad236f0890c0be6", + "md5": "35855cd2282e9499e35f17c23c353c7b" }, "required_dependencies": [], - "size": 384929, - "date_published": "2024-08-31T12:02:27.003Z" + "size": 395966, + "date_published": "2025-02-26T10:45:05.590Z" + } + ] + }, + { + "pakku_id": "NiTBKd1VhA8XN4n6", + "type": "MOD", + "slug": { + "curseforge": "decay-2012" + }, + "name": { + "curseforge": "Decay 2012" + }, + "id": { + "curseforge": "676521" + }, + "files": [ + { + "type": "curseforge", + "file_name": "decay_2012-1.20.1-2.0.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5485/720/decay_2012-1.20.1-2.0.1.jar", + "id": "5485720", + "parent_id": "676521", + "hashes": { + "sha1": "c9290eefa38a51fca425af0d45dfcd46fe050483", + "md5": "ff6fb49e8e3a0e371e56f92e41255f3f" + }, + "required_dependencies": [], + "size": 19314, + "date_published": "2024-06-29T15:02:56.613Z" } ] }, @@ -2405,6 +3696,112 @@ } ] }, + { + "pakku_id": "Vl9JDBWAzQ5W19ta", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "detected-setblock-be-gone", + "modrinth": "dsbg" + }, + "name": { + "curseforge": "Detected setBlock Be Gone", + "modrinth": "Detected setBlock Be Gone" + }, + "id": { + "curseforge": "942945", + "modrinth": "zv7fYVyQ" + }, + "redistributable": false, + "files": [ + { + "type": "modrinth", + "file_name": "dsbg-1.0-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/zv7fYVyQ/versions/JJU0kqnK/dsbg-1.0-1.20.1.jar", + "id": "JJU0kqnK", + "parent_id": "zv7fYVyQ", + "hashes": { + "sha512": "9590a9652e85220d7195ac18df17d99d1b292aa5e5126656eeeeaead65018d50e8d35f7f2eccd403ad6651ca328d7fccb57f55fac0d14e4324e27b0d864c216c", + "sha1": "349a91654be8df6af5a19b02c7bb47758c09bac4" + }, + "required_dependencies": [], + "size": 273328, + "date_published": "2024-01-25T00:03:33.444363Z" + }, + { + "type": "curseforge", + "file_name": "dsbg-1.0-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4907/288/dsbg-1.0-1.20.1.jar", + "id": "4907288", + "parent_id": "942945", + "hashes": { + "sha1": "349a91654be8df6af5a19b02c7bb47758c09bac4", + "md5": "143f9fe8813d87e3e2f3d93b4e159643" + }, + "required_dependencies": [], + "size": 273328, + "date_published": "2023-11-27T22:50:51.187Z" + } + ] + }, + { + "pakku_id": "j8Ir2JRnUYQEZNvJ", + "pakku_links": [ + "uCACXyPoJ4iKQzNG" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "digger-helmet" + }, + "name": { + "modrinth": "Digger Helmet" + }, + "id": { + "modrinth": "8Aatj9Zy" + }, + "files": [ + { + "type": "modrinth", + "file_name": "diggerhelmet-1.20.1-1.0.0.16.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "alpha", + "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/5rweNw1h/diggerhelmet-1.20.1-1.0.0.16.jar", + "id": "5rweNw1h", + "parent_id": "8Aatj9Zy", + "hashes": { + "sha512": "c0e63e74fb7154a0fbad9244cf8a6f69b5f57f1157e5c0824864e11f9652391ee4825d8f6000baf8a65f8b0b0be69b64596797a42f897f165dd2a16c8718b2ec", + "sha1": "674235b35ed08dc16906603043c010f3a2a9485d" + }, + "required_dependencies": [ + "vvuO3ImH", + "8BmcQJ2H" + ], + "size": 109514, + "date_published": "2025-03-31T05:56:20.625415Z" + } + ] + }, { "pakku_id": "LStFy4sfjjGCv9JS", "type": "MOD", @@ -2470,6 +3867,43 @@ } ] }, + { + "pakku_id": "ws9PkrwZV82vo1QC", + "type": "MOD", + "slug": { + "curseforge": "domum-ornamentum" + }, + "name": { + "curseforge": "Domum Ornamentum" + }, + "id": { + "curseforge": "527361" + }, + "files": [ + { + "type": "curseforge", + "file_name": "domum_ornamentum-1.20.1-1.0.285-snapshot-universal.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6335/390/domum_ornamentum-1.20.1-1.0.285-snapshot-universal.jar", + "id": "6335390", + "parent_id": "527361", + "hashes": { + "sha1": "c7ac72b2e4fb5309e3cd0988b610c2f3016b9cb9", + "md5": "65cda7180bfc67f9a2bf9ee6965bf3e7" + }, + "required_dependencies": [], + "size": 1096466, + "date_published": "2025-03-23T13:32:07.977Z" + } + ] + }, { "pakku_id": "nZjctGN2oruEuDuc", "type": "MOD", @@ -2489,7 +3923,7 @@ "files": [ { "type": "modrinth", - "file_name": "drippyloadingscreen_forge_3.0.1_MC_1.20.1.jar", + "file_name": "drippyloadingscreen_forge_3.0.11_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2497,23 +3931,23 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/TuWe7Vwp/drippyloadingscreen_forge_3.0.1_MC_1.20.1.jar", - "id": "TuWe7Vwp", + "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/iR874weD/drippyloadingscreen_forge_3.0.11_MC_1.20.1.jar", + "id": "iR874weD", "parent_id": "v3CYg2V9", "hashes": { - "sha512": "7d8c504037b9da5e2ba1713f6b296d996839b7700b0a0d70206af5e73efeb3a2a9a539d570a67036483a051478e72e8546b3c380717fc5e942832325a3bfd04d", - "sha1": "3d19cbea53c232fdbc9ee667ecc2baf64d8e43b9" + "sha512": "d164b5c7538a9a7e907da9eca01b19b85ba843be18ba734481565647261bb2d6224db4e82778b5c9460a3b95f4f185729518208c002ac0e8a47e547b3869489c", + "sha1": "04a0dacd153d8809877f663057004bba04668bee" }, "required_dependencies": [ - "J81TRJWm", - "Wq5SjeWM" + "Wq5SjeWM", + "J81TRJWm" ], - "size": 234780, - "date_published": "2024-02-18T10:52:37.945716Z" + "size": 240085, + "date_published": "2025-02-08T20:40:05.906123Z" }, { "type": "curseforge", - "file_name": "drippyloadingscreen_forge_3.0.1_MC_1.20.1.jar", + "file_name": "drippyloadingscreen_forge_3.0.11_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2521,19 +3955,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5117/77/drippyloadingscreen_forge_3.0.1_MC_1.20.1.jar", - "id": "5117077", + "url": "https://edge.forgecdn.net/files/6172/518/drippyloadingscreen_forge_3.0.11_MC_1.20.1.jar", + "id": "6172518", "parent_id": "511770", "hashes": { - "sha1": "3d19cbea53c232fdbc9ee667ecc2baf64d8e43b9", - "md5": "85749848e1dfd2a7e790df78e4cc4d0b" + "sha1": "04a0dacd153d8809877f663057004bba04668bee", + "md5": "a49a0e0bf7b5b48204328ed415e6bedd" }, "required_dependencies": [ - "367706", - "410295" + "410295", + "367706" ], - "size": 234780, - "date_published": "2024-02-18T10:52:34.187Z" + "size": 240085, + "date_published": "2025-02-08T20:40:01.767Z" } ] }, @@ -2556,7 +3990,7 @@ "files": [ { "type": "modrinth", - "file_name": "emi-1.1.7+1.20.1+forge.jar", + "file_name": "emi-1.1.20+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -2564,20 +3998,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fRiHVvU7/versions/QT6oPqYH/emi-1.1.7+1.20.1+forge.jar", - "id": "QT6oPqYH", + "url": "https://cdn.modrinth.com/data/fRiHVvU7/versions/3fJ5PcgX/emi-1.1.20+1.20.1+forge.jar", + "id": "3fJ5PcgX", "parent_id": "fRiHVvU7", "hashes": { - "sha512": "457227edf5ec11937b2e675d09355513bbf2093c0c6425140ee47232a976b286ba1f2767f70289658e400c6e9f3e2cb0f36bf0d58c83516307cde7a6d570322d", - "sha1": "324214c511d487a87a102a426d3f50027ee22c64" + "sha512": "32ecb901c18cadc76059afebcfa889f72985252205c18863b70048bbba456c938ce135c085caadea76cd9fa96843e4b471619f82b98ef56a628726e39d4a822b", + "sha1": "f6ee97d1f49e106b2dc887df3c238bb06b84bada" }, "required_dependencies": [], - "size": 977882, - "date_published": "2024-06-17T02:50:47.409005Z" + "size": 1028204, + "date_published": "2025-02-18T04:58:54.075523Z" }, { "type": "curseforge", - "file_name": "emi-1.1.7+1.20.1+forge.jar", + "file_name": "emi-1.1.20+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -2585,21 +4019,21 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5436/769/emi-1.1.7+1.20.1+forge.jar", - "id": "5436769", + "url": "https://edge.forgecdn.net/files/6205/514/emi-1.1.20+1.20.1+forge.jar", + "id": "6205514", "parent_id": "580555", "hashes": { - "sha1": "324214c511d487a87a102a426d3f50027ee22c64", - "md5": "a6a90b6784e203746c56e2975886f77b" + "sha1": "f6ee97d1f49e106b2dc887df3c238bb06b84bada", + "md5": "dc29b4d99258b76f28aa3ad5ce5e6e2d" }, "required_dependencies": [], - "size": 977882, - "date_published": "2024-06-17T02:50:49.880Z" + "size": 1028204, + "date_published": "2025-02-18T04:58:55.627Z" } ] }, { - "pakku_id": "wNFM1S7BKaKAsMsi", + "pakku_id": "PGG5IiciynuRNWMz", "type": "MOD", "side": "CLIENT", "slug": { @@ -2615,31 +4049,9 @@ "modrinth": "sk9rgfiA" }, "files": [ - { - "type": "modrinth", - "file_name": "embeddium-0.3.19+mc1.20.1-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/sk9rgfiA/versions/l871Kzhu/embeddium-0.3.19+mc1.20.1-all.jar", - "id": "l871Kzhu", - "parent_id": "sk9rgfiA", - "hashes": { - "sha512": "aca5bd94138120f5a03a0d167ab31a8ab1292711848b04ca454ba4c94117d9c13fb9e92b90d23e81041fb6ffe79845116b40071cc43bcd325b6898068ff85f8d", - "sha1": "19d9b5b8c416b7d260f2ad7b17db832dcccd18f7" - }, - "required_dependencies": [], - "size": 1280293, - "date_published": "2024-05-18T01:04:18.576895Z" - }, { "type": "curseforge", - "file_name": "embeddium-0.3.19+mc1.20.1-all.jar", + "file_name": "embeddium-0.3.31+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2648,86 +4060,113 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5352/230/embeddium-0.3.19+mc1.20.1-all.jar", - "id": "5352230", + "url": "https://edge.forgecdn.net/files/5681/725/embeddium-0.3.31+mc1.20.1.jar", + "id": "5681725", "parent_id": "908741", "hashes": { - "sha1": "19d9b5b8c416b7d260f2ad7b17db832dcccd18f7", - "md5": "1b272575bea5f1e7c61a4d189b712343" + "sha1": "bb2fa8f3e493af16af9160d049f96c614a1faf2f", + "md5": "1dfb2ee49ce9ad5d484ff3eea0d628b7" }, "required_dependencies": [], - "size": 1280293, - "date_published": "2024-05-18T01:04:17.877Z" + "size": 1320675, + "date_published": "2024-08-31T23:11:49.240Z" + }, + { + "type": "modrinth", + "file_name": "embeddium-0.3.31+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/sk9rgfiA/versions/UTbfe5d1/embeddium-0.3.31+mc1.20.1.jar", + "id": "UTbfe5d1", + "parent_id": "sk9rgfiA", + "hashes": { + "sha512": "ffbf2da4685260a4d5c14c621708bd20722563f084f042d3dfb0a7b87f048e39299648c854a93939129da0d23a15a91ec628560d601e76074b08e275f6e132e9", + "sha1": "bb2fa8f3e493af16af9160d049f96c614a1faf2f" + }, + "required_dependencies": [], + "size": 1320675, + "date_published": "2024-08-31T23:11:49.184634Z" } ] }, { - "pakku_id": "xxIkzoc7onNYIjDF", + "pakku_id": "GmEWXR5FUyidD4Fi", "pakku_links": [ - "wNFM1S7BKaKAsMsi" + "cxgo5IyMJwtpohRH", + "d8BnQkUyCUjyUmNE", + "J5CyvX6hIaMAyzVK", + "uCACXyPoJ4iKQzNG" ], "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "embeddiumplus", - "modrinth": "embeddiumplus" + "curseforge": "enderman-overhaul", + "modrinth": "enderman-overhaul" }, "name": { - "curseforge": "Embeddium++", - "modrinth": "Embeddium++" + "curseforge": "Enderman Overhaul", + "modrinth": "Enderman Overhaul" }, "id": { - "curseforge": "931925", - "modrinth": "yD9qW65f" + "curseforge": "574409", + "modrinth": "Lq6ojcWv" }, "files": [ - { - "type": "modrinth", - "file_name": "embeddiumplus-1.20.1-v1.2.12.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/yD9qW65f/versions/NvLxgTXE/embeddiumplus-1.20.1-v1.2.12.jar", - "id": "NvLxgTXE", - "parent_id": "yD9qW65f", - "hashes": { - "sha512": "12066faaf94e6b82b2126c6bdae957f227bbd7bb3bacc07abeab76562fcc50f4e42616e7f4c18bea1620f17c109d211d951d78bef51e16d4f9266e71800b2e2e", - "sha1": "d464336a0a490698dc7e455d936370fd7e731b66" - }, - "required_dependencies": [ - "sk9rgfiA" - ], - "size": 895412, - "date_published": "2024-05-14T02:10:54.771499Z" - }, { "type": "curseforge", - "file_name": "embeddiumplus-1.20.1-v1.2.12.jar", + "file_name": "endermanoverhaul-forge-1.20.1-1.0.4.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5342/269/embeddiumplus-1.20.1-v1.2.12.jar", - "id": "5342269", - "parent_id": "931925", + "url": "https://edge.forgecdn.net/files/5019/620/endermanoverhaul-forge-1.20.1-1.0.4.jar", + "id": "5019620", + "parent_id": "574409", "hashes": { - "sha1": "d464336a0a490698dc7e455d936370fd7e731b66", - "md5": "bce16abec368c7a87aef4ff7ad16c537" + "sha1": "636a2b20a5973fcb80016370865cb4251e029b6a", + "md5": "992f4f6fad129c6ff47b33b0365d485a" }, "required_dependencies": [ - "908741" + "570073", + "388172", + "714059" ], - "size": 895412, - "date_published": "2024-05-14T02:10:49.597Z" + "size": 1208062, + "date_published": "2024-01-09T10:35:03.367Z" + }, + { + "type": "modrinth", + "file_name": "endermanoverhaul-forge-1.20.1-1.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Lq6ojcWv/versions/yjxych8u/endermanoverhaul-forge-1.20.1-1.0.4.jar", + "id": "yjxych8u", + "parent_id": "Lq6ojcWv", + "hashes": { + "sha512": "febe0456384ecc71d1366535ac49c4852820bba19704f4f23e453f9855e1494dfe1c7d9ac617e353baf18a805bfb6fbd9728c5f0641120cd8e5d93ead0c29bd0", + "sha1": "636a2b20a5973fcb80016370865cb4251e029b6a" + }, + "required_dependencies": [ + "G1hIVOrD", + "M1953qlQ", + "8BmcQJ2H" + ], + "size": 1208062, + "date_published": "2024-01-09T10:35:05.817065Z" } ] }, @@ -2801,6 +4240,68 @@ } ] }, + { + "pakku_id": "uzdktX2ggPctn9sc", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "entityculling", + "modrinth": "entityculling" + }, + "name": { + "curseforge": "Entity Culling Fabric/Forge", + "modrinth": "Entity Culling" + }, + "id": { + "curseforge": "448233", + "modrinth": "NNAgCjsB" + }, + "redistributable": false, + "files": [ + { + "type": "modrinth", + "file_name": "entityculling-forge-1.7.3-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/SdwRMvNg/entityculling-forge-1.7.3-mc1.20.1.jar", + "id": "SdwRMvNg", + "parent_id": "NNAgCjsB", + "hashes": { + "sha512": "2a5989064f58342b98045857113aa6e9b7889dcb92bebee2b2de3f97a29f52d26d4b29d7ce4026e6420992064e0f86397e00aeb5777a4d6a568588e42381c088", + "sha1": "09c17c8794a0e00d2ccb51b8d7c1b812498c5c33" + }, + "required_dependencies": [], + "size": 77548, + "date_published": "2025-02-25T19:44:40.265577Z" + }, + { + "type": "curseforge", + "file_name": "entityculling-forge-1.7.3-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6236/056/entityculling-forge-1.7.3-mc1.20.1.jar", + "id": "6236056", + "parent_id": "448233", + "hashes": { + "sha1": "09c17c8794a0e00d2ccb51b8d7c1b812498c5c33", + "md5": "34ae0d54004066bac5c13ab2129978b8" + }, + "required_dependencies": [], + "size": 77548, + "date_published": "2025-02-25T19:44:37.793Z" + } + ] + }, { "pakku_id": "qaC8dEXb3M46wC0R", "type": "MOD", @@ -2818,6 +4319,28 @@ "modrinth": "zi3Fnfmc" }, "files": [ + { + "type": "curseforge", + "file_name": "etched-3.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5999/495/etched-3.0.4.jar", + "id": "5999495", + "parent_id": "491890", + "hashes": { + "sha1": "4f440ac41309993a46e0ffcb2dd6106d7b92b3e2", + "md5": "a14244fe3a300eb08eed9e99506c3ab1" + }, + "required_dependencies": [], + "size": 611496, + "date_published": "2024-12-17T19:34:14.223Z" + }, { "type": "modrinth", "file_name": "etched-3.0.2.jar", @@ -2839,28 +4362,6 @@ "required_dependencies": [], "size": 610871, "date_published": "2024-05-14T23:44:35.498485Z" - }, - { - "type": "curseforge", - "file_name": "etched-3.0.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5344/499/etched-3.0.2.jar", - "id": "5344499", - "parent_id": "491890", - "hashes": { - "sha1": "792f055e76eb7a13efe26552cbccad66c2585860", - "md5": "919b6bf8e14fc87bf86f8192e1c22167" - }, - "required_dependencies": [], - "size": 610871, - "date_published": "2024-05-14T23:42:16.590Z" } ] }, @@ -2948,25 +4449,24 @@ "files": [ { "type": "modrinth", - "file_name": "exposure-1.20.1-1.7.7-forge.jar", + "file_name": "exposure-1.20.1-1.7.10-forge.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "forge", - "neoforge" + "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/hB899VmG/versions/3o0pJdF1/exposure-1.20.1-1.7.7-forge.jar", - "id": "3o0pJdF1", + "url": "https://cdn.modrinth.com/data/hB899VmG/versions/8oUcWZTh/exposure-1.20.1-1.7.10-forge.jar", + "id": "8oUcWZTh", "parent_id": "hB899VmG", "hashes": { - "sha512": "47845fe77048201fbe25de88be6db6f8f54deb0b6446c40d342d32ed04271c4d505a0feecf11e1165cbbfb544b50e3dcdd94f47d3250f5e5a77f517641314f7d", - "sha1": "eda99c8659c675f2b3a9362129a061c4c11f7b2f" + "sha512": "bb91b3d59414bb58bdd24e1570fee33be714ec7e816d3f70b2196dd597a7b1da3420f7bc781986f8a20a6f87d89f6c0a80a4f1f4ea4ee0e6f789610fc7148254", + "sha1": "a8595144c369937987152ba3661f04c821443c4d" }, "required_dependencies": [], - "size": 1326106, - "date_published": "2024-09-24T02:18:46.852871Z" + "size": 1333973, + "date_published": "2025-03-14T19:42:36.029110Z" }, { "type": "curseforge", @@ -2996,7 +4496,8 @@ "pakku_id": "cPoiNkLiMK7uUQT3", "pakku_links": [ "jkz20XWDUGHwlZxp", - "HlauzHpOCumhX2AQ" + "HlauzHpOCumhX2AQ", + "hEH6ly65CC6Sw1pf" ], "type": "MOD", "slug": { @@ -3011,7 +4512,7 @@ "files": [ { "type": "curseforge", - "file_name": "ExtendedAE-1.20-1.1.14-forge.jar", + "file_name": "ExtendedAE-1.20-1.3.5-forge.jar", "mc_versions": [ "1.20.1" ], @@ -3020,19 +4521,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5728/75/ExtendedAE-1.20-1.1.14-forge.jar", - "id": "5728075", + "url": "https://edge.forgecdn.net/files/6167/228/ExtendedAE-1.20-1.3.5-forge.jar", + "id": "6167228", "parent_id": "892005", "hashes": { - "sha1": "ec7aa92cda026396cd0b9f45598e06097c215b3f", - "md5": "7ebdf69d47ee263fdfb256ab69019c31" + "sha1": "135265703fe0ba937f70fde9dd16bd33a1b84541", + "md5": "8ea4dc0b917f25a417c268b00c50d457" }, "required_dependencies": [ - "957920", - "223794" + "223794", + "957920" ], - "size": 1307721, - "date_published": "2024-09-16T09:14:33.277Z" + "size": 1521405, + "date_published": "2025-02-07T11:11:22.133Z" } ] }, @@ -3238,7 +4739,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-library-forge-2001.2.4.jar", + "file_name": "ftb-library-forge-2001.2.9.jar", "mc_versions": [ "1.20.1" ], @@ -3246,18 +4747,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5567/591/ftb-library-forge-2001.2.4.jar", - "id": "5567591", + "url": "https://edge.forgecdn.net/files/6164/53/ftb-library-forge-2001.2.9.jar", + "id": "6164053", "parent_id": "404465", "hashes": { - "sha1": "0f98f24493af3e18e6dbfbca93bac9a659094d35", - "md5": "e60f8af3ffa7cb3ccffee661efa5de15" + "sha1": "42639a90f91c79d6b323ede5e229a79c050f4dc7", + "md5": "cdf8b270d3ee2c403a26206b10e0a749" }, "required_dependencies": [ "419699" ], - "size": 791152, - "date_published": "2024-07-26T11:03:23.890Z" + "size": 791841, + "date_published": "2025-02-06T12:34:16.087Z" } ] }, @@ -3279,7 +4780,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-quests-forge-2001.4.8.jar", + "file_name": "ftb-quests-forge-2001.4.11.jar", "mc_versions": [ "1.20.1" ], @@ -3287,20 +4788,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5543/955/ftb-quests-forge-2001.4.8.jar", - "id": "5543955", + "url": "https://edge.forgecdn.net/files/6167/56/ftb-quests-forge-2001.4.11.jar", + "id": "6167056", "parent_id": "289412", "hashes": { - "sha1": "dc8416b042866f5d8b0d852a7788d7dc138c41d2", - "md5": "74c500cb0ac713642b0dbc8602f858aa" + "sha1": "8d128193018b64efec3a6dda14c7cffbca7d20ec", + "md5": "9a517a062ee32a9daba22b65a534b415" }, "required_dependencies": [ - "419699", + "404468", "404465", - "404468" + "419699" ], - "size": 1181709, - "date_published": "2024-07-18T18:56:25.190Z" + "size": 1192604, + "date_published": "2025-02-07T10:19:05.973Z" } ] }, @@ -3401,7 +4902,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-xmod-compat-forge-2.1.1.jar", + "file_name": "ftb-xmod-compat-forge-2.1.2.jar", "mc_versions": [ "1.20.1" ], @@ -3409,19 +4910,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5257/897/ftb-xmod-compat-forge-2.1.1.jar", - "id": "5257897", + "url": "https://edge.forgecdn.net/files/6046/20/ftb-xmod-compat-forge-2.1.2.jar", + "id": "6046020", "parent_id": "889915", "hashes": { - "sha1": "55897695a22247ebe781499558a87b779175082a", - "md5": "f506cff280b8cb09b4aeb39359f7b1aa" + "sha1": "68e497eadb936bf9e92591f9c2e34288a52b01f4", + "md5": "270efcd953102996e26d318ef8c3c09d" }, "required_dependencies": [ "404465", "419699" ], - "size": 129541, - "date_published": "2024-04-13T08:13:54.353Z" + "size": 129682, + "date_published": "2025-01-02T15:28:42.713Z" } ] }, @@ -3448,7 +4949,7 @@ "files": [ { "type": "modrinth", - "file_name": "fancymenu_forge_3.2.3_MC_1.20.1.jar", + "file_name": "fancymenu_forge_3.4.6_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -3456,23 +4957,23 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/P4AHpQ6f/fancymenu_forge_3.2.3_MC_1.20.1.jar", - "id": "P4AHpQ6f", + "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/UQK8sljp/fancymenu_forge_3.4.6_MC_1.20.1.jar", + "id": "UQK8sljp", "parent_id": "Wq5SjeWM", "hashes": { - "sha512": "6915dfd79509d2839247dd0aade828ededd5fb448a9cc1e35258615d73bf8b2980ca4aa862416a178b80d32cefd056e06fba1c88dd40238155e2a4823bd171d2", - "sha1": "15512ce60a2aba724edc28f81c46b2fdeb2b94f3" + "sha512": "cf75b236d9c9d459eed187b2c52be837ebaea0bac6fc447e198fa2994507b80fac0d5a998b12a1c30e4718e809379845e52f19ede53590cc43c357f82a50fc1c", + "sha1": "9e7fc73dacca36b8b93fc5e67ed919dd295ae9c9" }, "required_dependencies": [ - "CVT4pFB2", - "J81TRJWm" + "J81TRJWm", + "CVT4pFB2" ], - "size": 2696876, - "date_published": "2024-05-13T09:41:36.457950Z" + "size": 3236834, + "date_published": "2025-02-24T20:03:26.499398Z" }, { "type": "curseforge", - "file_name": "fancymenu_forge_3.2.3_MC_1.20.1.jar", + "file_name": "fancymenu_forge_3.4.6_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -3480,19 +4981,240 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5340/225/fancymenu_forge_3.2.3_MC_1.20.1.jar", - "id": "5340225", + "url": "https://edge.forgecdn.net/files/6231/136/fancymenu_forge_3.4.6_MC_1.20.1.jar", + "id": "6231136", "parent_id": "367706", "hashes": { - "sha1": "15512ce60a2aba724edc28f81c46b2fdeb2b94f3", - "md5": "ac238a3496ff4d386a148fb06ca6a116" + "sha1": "9e7fc73dacca36b8b93fc5e67ed919dd295ae9c9", + "md5": "cf03ba79512e5466e253c27889f7ec94" }, "required_dependencies": [ - "938643", - "410295" + "410295", + "938643" ], - "size": 2696876, - "date_published": "2024-05-13T09:41:26.110Z" + "size": 3236834, + "date_published": "2025-02-24T20:03:16.967Z" + } + ] + }, + { + "pakku_id": "QCmNyJiULTjXOT6z", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "fast-ip-ping", + "modrinth": "fast-ip-ping" + }, + "name": { + "curseforge": "Fast IP Ping", + "modrinth": "Fast IP Ping" + }, + "id": { + "curseforge": "904356", + "modrinth": "9mtu0sUO" + }, + "files": [ + { + "type": "modrinth", + "file_name": "fast-ip-ping-v1.0.5-mc1.20.4-forge.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9mtu0sUO/versions/lfk0K3KM/fast-ip-ping-v1.0.5-mc1.20.4-forge.jar", + "id": "lfk0K3KM", + "parent_id": "9mtu0sUO", + "hashes": { + "sha512": "1fc904dd25895fcf2c6fa75a1e42d88c1e082a1070e8a7d8559692cb5e538256686a128a84bf5326af9f92d84e478e2cfe6b6a53e055ac24631e8979aa7dedc8", + "sha1": "cba9a0f2b37706ae0486e74636049545580892fd" + }, + "required_dependencies": [], + "size": 10557, + "date_published": "2024-09-22T17:36:02.937591Z" + }, + { + "type": "curseforge", + "file_name": "fast-ip-ping-v1.0.5-mc1.20.4-forge.jar", + "mc_versions": [ + "1.20.2", + "1.20.3", + "1.20.1", + "1.20", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5746/970/fast-ip-ping-v1.0.5-mc1.20.4-forge.jar", + "id": "5746970", + "parent_id": "904356", + "hashes": { + "sha1": "cba9a0f2b37706ae0486e74636049545580892fd", + "md5": "4531ee0f3dec49c9d2e79cb00216aa67" + }, + "required_dependencies": [], + "size": 10557, + "date_published": "2024-09-22T17:36:01.897Z" + } + ] + }, + { + "pakku_id": "M1zzOhfFKbBUyvAt", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "fastboot", + "modrinth": "fastboot" + }, + "name": { + "curseforge": "FastBoot", + "modrinth": "FastBoot" + }, + "id": { + "curseforge": "1030285", + "modrinth": "nRL5uFe0" + }, + "redistributable": false, + "files": [ + { + "type": "modrinth", + "file_name": "fastboot-1.20.x-1.2.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4", + "1.20.5", + "1.20.6" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nRL5uFe0/versions/L7hAkvRy/fastboot-1.20.x-1.2.jar", + "id": "L7hAkvRy", + "parent_id": "nRL5uFe0", + "hashes": { + "sha512": "7c888221c58ba85199feeae6aba539bde4a02c4c996457b49d91cb9274f5a08b19cfecfe6d6c3387343ef15dbfde812f8e2672e4fd7979615045d6a9d16e6aa8", + "sha1": "0820d6611bdf664cc84bf351089e75998a9f1962" + }, + "required_dependencies": [], + "size": 24477, + "date_published": "2024-10-23T13:40:38.723694Z" + }, + { + "type": "curseforge", + "file_name": "fastboot-1.20.x-1.2.jar", + "mc_versions": [ + "1.20.2", + "1.20.5", + "1.20.3", + "1.20.1", + "1.20", + "1.20.6", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5696/829/fastboot-1.20.x-1.2.jar", + "id": "5696829", + "parent_id": "1030285", + "hashes": { + "sha1": "0820d6611bdf664cc84bf351089e75998a9f1962", + "md5": "9489df8d4e141724d79e503d85b3d51f" + }, + "required_dependencies": [], + "size": 24477, + "date_published": "2024-09-06T08:48:44.887Z" + } + ] + }, + { + "pakku_id": "hKY5xqyAJhbHUXg1", + "type": "MOD", + "slug": { + "curseforge": "fastfurnace" + }, + "name": { + "curseforge": "FastFurnace" + }, + "id": { + "curseforge": "299540" + }, + "files": [ + { + "type": "curseforge", + "file_name": "FastFurnace-1.20.1-8.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5181/98/FastFurnace-1.20.1-8.0.2.jar", + "id": "5181098", + "parent_id": "299540", + "hashes": { + "sha1": "b144b8599acd3fac3f8f9d31fa217a4a5b942f61", + "md5": "48b8d2df29ea216a625928e29a6434da" + }, + "required_dependencies": [ + "283644" + ], + "size": 6170, + "date_published": "2024-03-14T05:38:15.720Z" + } + ] + }, + { + "pakku_id": "Wfcwfq7wQnUwhGve", + "type": "MOD", + "slug": { + "curseforge": "fastworkbench" + }, + "name": { + "curseforge": "FastWorkbench" + }, + "id": { + "curseforge": "288885" + }, + "files": [ + { + "type": "curseforge", + "file_name": "FastWorkbench-1.20.1-8.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5101/229/FastWorkbench-1.20.1-8.0.4.jar", + "id": "5101229", + "parent_id": "288885", + "hashes": { + "sha1": "1a322a85e7c7024b8a0715c12d27b5ed0930d729", + "md5": "2b55c4786cc726b0757689af28b97e7e" + }, + "required_dependencies": [ + "283644" + ], + "size": 28188, + "date_published": "2024-02-12T05:39:41.417Z" } ] }, @@ -3562,28 +5284,29 @@ ] }, { - "pakku_id": "7G8CAYj7aYbcj9DY", + "pakku_id": "Bulb4DSBYe5vmmM4", "pakku_links": [ + "UiVtcmEH7uJMcy8z", "F6H99cZ4H6jZRpEK" ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "firmaciv", - "modrinth": "firmaciv" + "modrinth": "firmaciv", + "curseforge": "firmaciv" }, "name": { - "curseforge": "Firma: Civilization (TFC)", - "modrinth": "Firma: Civilization" + "modrinth": "Firma: Civilization", + "curseforge": "Firma: Civilization (TFC)" }, "id": { - "curseforge": "714158", - "modrinth": "6o49a8Vz" + "modrinth": "6o49a8Vz", + "curseforge": "714158" }, "files": [ { "type": "modrinth", - "file_name": "FirmaCivilization-0.2.10-alpha-1.20.1.jar", + "file_name": "FirmaCivilization-1.20.1-1.0.9.jar", "mc_versions": [ "1.20.1" ], @@ -3591,23 +5314,24 @@ "forge", "neoforge" ], - "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/6o49a8Vz/versions/unOUNl4H/FirmaCivilization-0.2.10-alpha-1.20.1.jar", - "id": "unOUNl4H", + "release_type": "release", + "url": "https://cdn.modrinth.com/data/6o49a8Vz/versions/NCjI8fvd/FirmaCivilization-1.20.1-1.0.9.jar", + "id": "NCjI8fvd", "parent_id": "6o49a8Vz", "hashes": { - "sha512": "8519544f294f41f576d503f86e9a4b89658255126b1bc9e6a36998ad3b913c1ebb402944813594640e3abd5f841e1167512fe3062ce49047a03ddb921a45861e", - "sha1": "051bd4d08bdb4bd0ddb0164cdbfdfed8666017de" + "sha512": "01257e1247489a2d67db4338c2470afd63a19a502f0ce24a5fb041d5e0598cd3fc723c38eaae2daff9c306a959641252b5ec2f255065f52e337c5da918be3dca", + "sha1": "41e134f5dd02cc5030229c972b474a2e69793233" }, "required_dependencies": [ + "vuNeeDyl", "JaCEZUhg" ], - "size": 20474579, - "date_published": "2024-05-05T04:14:52.123149Z" + "size": 16593596, + "date_published": "2024-09-19T18:15:41.714888Z" }, { "type": "curseforge", - "file_name": "FirmaCivilization-0.2.10-alpha-1.20.1.jar", + "file_name": "FirmaCivilization-1.20.1-1.0.9.jar", "mc_versions": [ "1.20.1" ], @@ -3615,19 +5339,64 @@ "neoforge", "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5316/956/FirmaCivilization-0.2.10-alpha-1.20.1.jar", - "id": "5316956", + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5737/719/FirmaCivilization-1.20.1-1.0.9.jar", + "id": "5737719", "parent_id": "714158", "hashes": { - "sha1": "051bd4d08bdb4bd0ddb0164cdbfdfed8666017de", - "md5": "0f218d13ccea7ea2567ff046c5a7a517" + "sha1": "41e134f5dd02cc5030229c972b474a2e69793233", + "md5": "dcc52c65fdd8312e3c64407535b93861" }, "required_dependencies": [ - "302973" + "302973", + "1068445" ], - "size": 20474579, - "date_published": "2024-05-05T04:13:42.693Z" + "size": 16593596, + "date_published": "2024-09-19T18:16:40.767Z" + } + ] + }, + { + "pakku_id": "gANtU2y5hTCQgmzw", + "pakku_links": [ + "7G8CAYj7aYbcj9DY", + "54GBXX5SRvwVuWAF", + "Bulb4DSBYe5vmmM4" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "firmacivplus" + }, + "name": { + "modrinth": "FirmaCivPlus" + }, + "id": { + "modrinth": "h1WsEaNH" + }, + "files": [ + { + "type": "modrinth", + "file_name": "firmacivplus-1.0.0-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/h1WsEaNH/versions/YGsrlUXs/firmacivplus-1.0.0-1.20.1.jar", + "id": "YGsrlUXs", + "parent_id": "h1WsEaNH", + "hashes": { + "sha512": "903faad27e53240af384ab78178bdc7cd772556d72da755cf6d1fcd6a0588b2e47d185fe5deb9dc60f03d500d13d5e4e175e6b09c2309b0fae56dd84ea95e7c6", + "sha1": "9bdb54e464ca7ad507242d9f2d12c1b8c0761625" + }, + "required_dependencies": [ + "6o49a8Vz" + ], + "size": 7027607, + "date_published": "2025-03-09T20:59:03.534218Z" } ] }, @@ -3650,7 +5419,7 @@ "files": [ { "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.15.jar", + "file_name": "Firmalife-1.20.1-2.1.17.jar", "mc_versions": [ "1.20.1" ], @@ -3659,22 +5428,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/UZns29eV/Firmalife-1.20.1-2.1.15.jar", - "id": "UZns29eV", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/gJiot3h6/Firmalife-1.20.1-2.1.17.jar", + "id": "gJiot3h6", "parent_id": "5bKeBHw2", "hashes": { - "sha512": "bd88c3465fe21d1dfe0ef766c7808aeeac8a696dc18c1f79938bc2247a46da09cec7c3b5f13b1f833b4259f314eb159fd2e7ddf52dde0fa3a50305123604eaaa", - "sha1": "9151f69e32e11b26ad2b951d7d59a6a80c338dc2" + "sha512": "1993b13c8119d635b208c8b9a938860439f161829b678773a663c3c2017bdfbe32ab9bc196833258251419d456a1bf008e376ea7fc7ea5d417784cbed6040ea0", + "sha1": "9f25104803df71aac481885d20282d46dd624a01" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 4521752, - "date_published": "2024-12-29T16:29:56.539579Z" + "size": 4532304, + "date_published": "2025-04-03T02:22:20.561569Z" }, { "type": "curseforge", - "file_name": "Firmalife-1.20.1-2.1.15.jar", + "file_name": "Firmalife-1.20.1-2.1.17.jar", "mc_versions": [ "1.20.1" ], @@ -3683,18 +5452,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6033/720/Firmalife-1.20.1-2.1.15.jar", - "id": "6033720", + "url": "https://edge.forgecdn.net/files/6379/742/Firmalife-1.20.1-2.1.17.jar", + "id": "6379742", "parent_id": "453394", "hashes": { - "sha1": "9151f69e32e11b26ad2b951d7d59a6a80c338dc2", - "md5": "fd688c9477317cfb1ff04df897221c79" + "sha1": "9f25104803df71aac481885d20282d46dd624a01", + "md5": "a954970500b6b78adf392e696d1e4c47" }, "required_dependencies": [ "302973" ], - "size": 4521752, - "date_published": "2024-12-29T16:29:54.183Z" + "size": 4532304, + "date_published": "2025-04-03T02:22:17.440Z" } ] }, @@ -3718,7 +5487,7 @@ "files": [ { "type": "modrinth", - "file_name": "firstperson-forge-2.4.5-mc1.20.1.jar", + "file_name": "firstperson-forge-2.4.8-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -3726,16 +5495,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H5XMjpHi/versions/odq4S3nL/firstperson-forge-2.4.5-mc1.20.1.jar", - "id": "odq4S3nL", + "url": "https://cdn.modrinth.com/data/H5XMjpHi/versions/iwodXe68/firstperson-forge-2.4.8-mc1.20.1.jar", + "id": "iwodXe68", "parent_id": "H5XMjpHi", "hashes": { - "sha512": "dbd9775f0f8164d61b590e35b4959615c9a15065c3c79e5f4119f6f31888ffacadad017c64dcdc1ecc440eddb4690c3c7e6678b6b1d013d59562f17dfd8d5d18", - "sha1": "84f0f568482a83dc6d412efc31ca4e2b243a2bb1" + "sha512": "f2bcd626c3b634959d1dc375c9ef4df379b137a8f8f7120553e08fec87199bb1f8c690bd0395f6c1fa49d5610f1fbb58ac952dc8d75bb7fc985759c5c5113e8a", + "sha1": "1ab303f2e074acf090bb150b929d0d5737dc1183" }, "required_dependencies": [], - "size": 126229, - "date_published": "2024-09-16T17:25:33.034900Z" + "size": 126470, + "date_published": "2024-12-21T23:24:11.155518Z" }, { "type": "curseforge", @@ -3824,6 +5593,48 @@ } ] }, + { + "pakku_id": "nNBnQWZwvzYe5kBt", + "pakku_links": [ + "GOh1ocuoLHhYMq2J" + ], + "type": "MOD", + "slug": { + "curseforge": "forgiving-world" + }, + "name": { + "curseforge": "Forgiving World - Dimension Stacking[Forge/Fabric]" + }, + "id": { + "curseforge": "523233" + }, + "files": [ + { + "type": "curseforge", + "file_name": "forgivingworld-1.20.1-4.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5470/219/forgivingworld-1.20.1-4.7.jar", + "id": "5470219", + "parent_id": "523233", + "hashes": { + "sha1": "3cc56387ad8646106f624d64b7e684594c1b443e", + "md5": "3a4e1cb898b1ab5dd042ca48613eafd4" + }, + "required_dependencies": [ + "326652" + ], + "size": 24083, + "date_published": "2024-06-24T21:54:19.433Z" + } + ] + }, { "pakku_id": "5N8b1NjyistuTaVG", "type": "MOD", @@ -3886,6 +5697,201 @@ } ] }, + { + "pakku_id": "wpE1XCxxzA05zZuT", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "free-cam", + "modrinth": "freecam" + }, + "name": { + "curseforge": "Freecam", + "modrinth": "Freecam" + }, + "id": { + "curseforge": "557076", + "modrinth": "XeEZ3fK2" + }, + "files": [ + { + "type": "modrinth", + "file_name": "freecam-forge-1.2.1+1.20.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/XeEZ3fK2/versions/bvoDmWip/freecam-forge-1.2.1+1.20.jar", + "id": "bvoDmWip", + "parent_id": "XeEZ3fK2", + "hashes": { + "sha512": "14d5194c02d6281094efdc857e608b412cdb84ffbf94a06401c8509daa74914273e18224f05d9fe9bcea23fa70d5350c6edaf8bf657e58787f08a4553169c0d2", + "sha1": "e4224b56750a1fe3956ae73a65f4470be3e0df3b" + }, + "required_dependencies": [], + "size": 75389, + "date_published": "2025-03-26T09:22:51.179523Z" + }, + { + "type": "curseforge", + "file_name": "freecam-forge-1.2.1+1.20.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4643/128/freecam-forge-1.2.1+1.20.jar", + "id": "4643128", + "parent_id": "557076", + "hashes": { + "sha1": "e4224b56750a1fe3956ae73a65f4470be3e0df3b", + "md5": "3301388f64a2bcbc760ca33324bca2c0" + }, + "required_dependencies": [], + "size": 75389, + "date_published": "2023-07-14T03:46:56.520Z" + } + ] + }, + { + "pakku_id": "2wt2APHThAmSG5Rq", + "pakku_links": [ + "IqPkca9cWhZ2JxDJ" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "fzzy-config", + "modrinth": "fzzy-config" + }, + "name": { + "curseforge": "Fzzy Config", + "modrinth": "Fzzy Config" + }, + "id": { + "curseforge": "1005914", + "modrinth": "hYykXjDp" + }, + "files": [ + { + "type": "modrinth", + "file_name": "fzzy_config-0.6.2+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/QOLmBnu1/fzzy_config-0.6.2+1.20.1+forge.jar", + "id": "QOLmBnu1", + "parent_id": "hYykXjDp", + "hashes": { + "sha512": "40cc9d874dfe2ed2cf4dd6115de3d508bd843ae07f3e0cb9c6c9851b5d58a92da316c177e1c510ad4d9754319ade387c2a0beb966168f87d1acfdac29f544f22", + "sha1": "a5bc43c8a4d999981aba47a1b0bf3fab3fa39f31" + }, + "required_dependencies": [ + "ordsPcFz" + ], + "size": 1865000, + "date_published": "2025-01-18T00:11:40.677921Z" + }, + { + "type": "curseforge", + "file_name": "fzzy_config-0.6.2+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6097/787/fzzy_config-0.6.2+1.20.1+forge.jar", + "id": "6097787", + "parent_id": "1005914", + "hashes": { + "sha1": "a5bc43c8a4d999981aba47a1b0bf3fab3fa39f31", + "md5": "bb2c58275b895f728e29fc557a137719" + }, + "required_dependencies": [ + "351264" + ], + "size": 1865000, + "date_published": "2025-01-18T00:11:31.747Z" + } + ] + }, + { + "pakku_id": "uCACXyPoJ4iKQzNG", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "geckolib", + "modrinth": "geckolib" + }, + "name": { + "curseforge": "GeckoLib", + "modrinth": "Geckolib" + }, + "id": { + "curseforge": "388172", + "modrinth": "8BmcQJ2H" + }, + "files": [ + { + "type": "curseforge", + "file_name": "geckolib-forge-1.20.1-4.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6027/567/geckolib-forge-1.20.1-4.7.jar", + "id": "6027567", + "parent_id": "388172", + "hashes": { + "sha1": "698d4374fb062edf68b93e05f3bf3b5873cdd260", + "md5": "96dddfb78d375bdd330ae1577ee28bfe" + }, + "required_dependencies": [], + "size": 1004042, + "date_published": "2024-12-27T16:27:17.200Z" + }, + { + "type": "modrinth", + "file_name": "geckolib-forge-1.20.1-4.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/LwI6czff/geckolib-forge-1.20.1-4.7.jar", + "id": "LwI6czff", + "parent_id": "8BmcQJ2H", + "hashes": { + "sha512": "4efd2d70533d73fc70012b0969bac9fb6035a4ebcc8b6ccb692321456bcc044da93a12b44392fca3c607889c134acd41db9e0fed376151a46d5391c56881a149", + "sha1": "451226923e02ac708b8fe59d75a2f9a28cc7e467" + }, + "required_dependencies": [], + "size": 1004043, + "date_published": "2024-12-27T16:27:02.907556Z" + } + ] + }, { "pakku_id": "rSUHapr2idxvSjLh", "type": "MOD", @@ -3952,16 +5958,42 @@ { "pakku_id": "HlauzHpOCumhX2AQ", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "glodium" + "curseforge": "glodium", + "modrinth": "glodium" }, "name": { - "curseforge": "Glodium" + "curseforge": "Glodium", + "modrinth": "Glodium" }, "id": { - "curseforge": "957920" + "curseforge": "957920", + "modrinth": "UhW5uCKw" }, "files": [ + { + "type": "modrinth", + "file_name": "Glodium-1.20-1.5-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/UhW5uCKw/versions/eoUaDkZf/Glodium-1.20-1.5-forge.jar", + "id": "eoUaDkZf", + "parent_id": "UhW5uCKw", + "hashes": { + "sha512": "57ba996845f588191b12f5e4c578b6f33a2b431facd54176dc61abba0f08f86cbc03c39cf795c7d5dea4926a923ec88e646a25d1a9a3a5bb9508fcb79a661a5e", + "sha1": "c7534db3248adfcf39a6158b423dfc9bfc99a378" + }, + "required_dependencies": [], + "size": 60550, + "date_published": "2025-02-04T13:08:25.693981Z" + }, { "type": "curseforge", "file_name": "Glodium-1.20-1.5-forge.jar", @@ -3986,6 +6018,67 @@ } ] }, + { + "pakku_id": "g9pF49NG9dTJ3SkT", + "type": "MOD", + "slug": { + "curseforge": "grappling-hook-mod-reforged" + }, + "name": { + "curseforge": "Grappling Hook - Reforged" + }, + "id": { + "curseforge": "1166811" + }, + "files": [ + { + "type": "curseforge", + "file_name": "grappling_hook_mod-1.20.1-1.20.1-v13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6028/357/grappling_hook_mod-1.20.1-1.20.1-v13.jar", + "id": "6028357", + "parent_id": "1166811", + "hashes": { + "sha1": "dfb72e1482b432fa98afc97539a0daeb5f7d14e2", + "md5": "82c433ef162dbc72c2aa0379bf594f49" + }, + "required_dependencies": [], + "size": 543872, + "date_published": "2024-12-27T20:54:54.927Z" + } + ] + }, + { + "pakku_id": "j6fA0JbUIMVAq3q2", + "type": "MOD", + "slug": { + "github": "GreateBeyondTheHorizon/Greate" + }, + "name": { + "github": "Greate" + }, + "id": { + "github": "673422318" + }, + "files": [ + { + "type": "github", + "file_name": "greate-0.0.38.jar", + "release_type": "release", + "url": "https://github.com/GreateBeyondTheHorizon/Greate/releases/download/0.0.38/greate-0.0.38.jar", + "id": "227638684", + "parent_id": "673422318", + "size": 1514248, + "date_published": "2025-02-09T16:31:16Z" + } + ] + }, { "pakku_id": "7y1N4D8zXDgkhDlz", "type": "RESOURCE_PACK", @@ -4066,7 +6159,7 @@ "files": [ { "type": "modrinth", - "file_name": "gtceu-1.20.1-1.2.3.a.jar", + "file_name": "gtceu-1.20.1-1.6.4.jar", "mc_versions": [ "1.20.1" ], @@ -4074,20 +6167,20 @@ "forge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/7tG215v7/versions/K6pno1JG/gtceu-1.20.1-1.2.3.a.jar", - "id": "K6pno1JG", + "url": "https://cdn.modrinth.com/data/7tG215v7/versions/agSy623h/gtceu-1.20.1-1.6.4.jar", + "id": "agSy623h", "parent_id": "7tG215v7", "hashes": { - "sha512": "d7fd7b94ad7647b730acbdfa1c3faabdf8427daa2745dbf1c2f543eed3f51eeee1f011318eee48f92c6756181c31c8c75e805ac2e4e38a1bd8e5763224dec804", - "sha1": "2d25ac389a0a3da1d371fb05081d9ffe166c2fe0" + "sha512": "3915ddb104b7cd6b6a9c3213749c8d4c0a3c1eb07745fdbe97d881ab6661853ce0d9411aad0fde5c933648bafb03417455184abcc641e6af7f4c5fab92daa418", + "sha1": "8f9705cb309bc862f1abf684717bc6c87165604a" }, "required_dependencies": [], - "size": 14836593, - "date_published": "2024-05-24T16:25:40.887375Z" + "size": 11787892, + "date_published": "2025-03-02T06:23:05.388636Z" }, { "type": "curseforge", - "file_name": "gtceu-1.20.1-1.2.3.a.jar", + "file_name": "gtceu-1.20.1-1.6.4.jar", "mc_versions": [ "1.20.1" ], @@ -4095,84 +6188,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5369/20/gtceu-1.20.1-1.2.3.a.jar", - "id": "5369020", + "url": "https://edge.forgecdn.net/files/6254/458/gtceu-1.20.1-1.6.4.jar", + "id": "6254458", "parent_id": "890405", "hashes": { - "sha1": "2d25ac389a0a3da1d371fb05081d9ffe166c2fe0", - "md5": "30558fb7eb72fc6ec1c351398d087483" + "sha1": "8f9705cb309bc862f1abf684717bc6c87165604a", + "md5": "64d24463a9d7c6e1171ad5a67b50830f" }, "required_dependencies": [], - "size": 14836593, - "date_published": "2024-05-24T16:25:30.757Z" - } - ] - }, - { - "pakku_id": "7IAgZ79FYLBAC0tv", - "pakku_links": [ - "apqasFnXUkYXZUFj" - ], - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "gcyr", - "modrinth": "gcyr" - }, - "name": { - "curseforge": "Gregicality Rocketry", - "modrinth": "Gregicality Rocketry" - }, - "id": { - "curseforge": "922713", - "modrinth": "4VJrCEMZ" - }, - "files": [ - { - "type": "modrinth", - "file_name": "gcyr-1.20.1-0.1.8.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/4VJrCEMZ/versions/1qFIKxNA/gcyr-1.20.1-0.1.8.jar", - "id": "1qFIKxNA", - "parent_id": "4VJrCEMZ", - "hashes": { - "sha512": "bb5d723047eb9deff90b3a67ac4f343764bc9d4a3a638061d221407a1e591a891e03a82bf3bdf0ef57354f7fc6e140863216de3bd6986e96e3eea52f79ca987a", - "sha1": "bba15e8a8983d82393814beea8d0952fdcca9d5e" - }, - "required_dependencies": [ - "7tG215v7" - ], - "size": 1204300, - "date_published": "2024-05-23T08:00:31.834774Z" - }, - { - "type": "curseforge", - "file_name": "gcyr-1.20.1-0.1.8.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5366/124/gcyr-1.20.1-0.1.8.jar", - "id": "5366124", - "parent_id": "922713", - "hashes": { - "sha1": "bba15e8a8983d82393814beea8d0952fdcca9d5e", - "md5": "7624e7f849ff9fa4efe1d76a423f36cc" - }, - "required_dependencies": [ - "890405" - ], - "size": 1204300, - "date_published": "2024-05-23T08:00:25.760Z" + "size": 11787892, + "date_published": "2025-03-02T06:22:56.823Z" } ] }, @@ -4299,6 +6324,72 @@ } ] }, + { + "pakku_id": "ysI0Svq6SxqLzQ2D", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "icterine", + "modrinth": "icterine" + }, + "name": { + "curseforge": "Icterine", + "modrinth": "Icterine" + }, + "id": { + "curseforge": "974774", + "modrinth": "7RvRWn6p" + }, + "files": [ + { + "type": "modrinth", + "file_name": "Icterine-forge-1.20.0-1-1.3.0.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/7RvRWn6p/versions/81fZ7ynE/Icterine-forge-1.20.0-1-1.3.0.jar", + "id": "81fZ7ynE", + "parent_id": "7RvRWn6p", + "hashes": { + "sha512": "18314a6d3402f7d7d0ec2960ccd8be7e03bcf9ce5de562d5049dcc3e3b44fae8ffdf231932d9139ee1139b0b5ad98f4fd7b490026f8a07d418ecc884af3d5ae8", + "sha1": "55fde23d7602924ba4772d441fb5a78d562be238" + }, + "required_dependencies": [], + "size": 38848, + "date_published": "2024-02-10T22:07:48.553619Z" + }, + { + "type": "curseforge", + "file_name": "Icterine-forge-1.20.0-1-1.3.0.jar", + "mc_versions": [ + "1.20.1", + "1.20", + "1.20-Snapshot" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5108/244/Icterine-forge-1.20.0-1-1.3.0.jar", + "id": "5108244", + "parent_id": "974774", + "hashes": { + "sha1": "55fde23d7602924ba4772d441fb5a78d562be238", + "md5": "d7442dfca7ccad12c119871e5f08ee81" + }, + "required_dependencies": [], + "size": 38848, + "date_published": "2024-02-14T19:57:38.397Z" + } + ] + }, { "pakku_id": "bz1kRoXx71DMQLBz", "type": "MOD", @@ -4318,7 +6409,7 @@ "files": [ { "type": "modrinth", - "file_name": "ImmediatelyFast-Forge-1.2.18+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.0+1.20.4.jar", "mc_versions": [ "1.20", "1.20.1", @@ -4330,20 +6421,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/XgQjD9fF/ImmediatelyFast-Forge-1.2.18+1.20.4.jar", - "id": "XgQjD9fF", + "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/xNaL38Bs/ImmediatelyFast-Forge-1.5.0+1.20.4.jar", + "id": "xNaL38Bs", "parent_id": "5ZwdcRci", "hashes": { - "sha512": "2134283239ad59301b5592d6dc3d77ef97525ff930d997f79dcbb9d13a53b0c772644feb6dd125fa12b662bb4ecdbd400f5e4797f5b9abcfc08a0dc24149aa74", - "sha1": "e687ef280a501983cc9f4e1e3d35cf16d3cc64e6" + "sha512": "ec94ad253be05774b9fb8b67587929fb953c3fb4cbd835180eb2797ebab2bc71656f2c5644321107e862bee16985d50bbb833909a6ac07ff06cb842c0bde8d83", + "sha1": "653fb9d1ce673b9987b18dfc0a9db4b9cb48d1de" }, "required_dependencies": [], - "size": 432181, - "date_published": "2024-06-13T19:48:21.276008Z" + "size": 428350, + "date_published": "2025-03-16T17:12:37.853726Z" }, { "type": "curseforge", - "file_name": "ImmediatelyFast-Forge-1.2.18+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.0+1.20.4.jar", "mc_versions": [ "1.20.2", "1.20.3", @@ -4355,16 +6446,77 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5425/36/ImmediatelyFast-Forge-1.2.18+1.20.4.jar", - "id": "5425036", + "url": "https://edge.forgecdn.net/files/6312/293/ImmediatelyFast-Forge-1.5.0+1.20.4.jar", + "id": "6312293", "parent_id": "686911", "hashes": { - "sha1": "e687ef280a501983cc9f4e1e3d35cf16d3cc64e6", - "md5": "d85d8927a599d038011fa6c23f46c4b9" + "sha1": "653fb9d1ce673b9987b18dfc0a9db4b9cb48d1de", + "md5": "c46791160a43bc35040f8f947e959024" }, "required_dependencies": [], - "size": 432181, - "date_published": "2024-06-13T19:48:21.397Z" + "size": 428350, + "date_published": "2025-03-16T17:12:38.090Z" + } + ] + }, + { + "pakku_id": "w5G2EmycbcFrsM0g", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "immersive-aircraft", + "modrinth": "immersive-aircraft" + }, + "name": { + "curseforge": "Immersive Aircraft [Fabric/Forge]", + "modrinth": "Immersive Aircraft" + }, + "id": { + "curseforge": "666014", + "modrinth": "x3HZvrj6" + }, + "files": [ + { + "type": "curseforge", + "file_name": "immersive_aircraft-1.2.2+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6316/345/immersive_aircraft-1.2.2+1.20.1-forge.jar", + "id": "6316345", + "parent_id": "666014", + "hashes": { + "sha1": "5f1c9fb4a9825557a951bd5f97465fe44fc01df7", + "md5": "18fa516980439d1b7f4fd1d3a68334f8" + }, + "required_dependencies": [], + "size": 2180392, + "date_published": "2025-03-17T18:06:57.950Z" + }, + { + "type": "modrinth", + "file_name": "immersive_aircraft-1.2.2+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/x3HZvrj6/versions/X2smCkoc/immersive_aircraft-1.2.2+1.20.1-forge.jar", + "id": "X2smCkoc", + "parent_id": "x3HZvrj6", + "hashes": { + "sha512": "51131231da1e9953e6c5850b103cb87b04de7767d2771e7cc1477b6c8ef83a7088c0823ade27ab9e45c075924043151af34c716c7a051296b9b1ff13d6b328af", + "sha1": "5f1c9fb4a9825557a951bd5f97465fe44fc01df7" + }, + "required_dependencies": [], + "size": 2180392, + "date_published": "2025-03-17T18:07:00.527935Z" } ] }, @@ -4476,7 +6628,7 @@ ] }, { - "pakku_id": "CjxuHZ8b02ABX2JY", + "pakku_id": "KrMagbELcCin0ry1", "type": "MOD", "side": "CLIENT", "slug": { @@ -4492,28 +6644,6 @@ "modrinth": "uqnMI1kq" }, "files": [ - { - "type": "modrinth", - "file_name": "invtweaks-1.20.1-1.1.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/uqnMI1kq/versions/noMmNlEf/invtweaks-1.20.1-1.1.0.jar", - "id": "noMmNlEf", - "parent_id": "uqnMI1kq", - "hashes": { - "sha512": "3303d72462d4f863625914100cbbc050e3c88a23203b1010d194524518145ad859a9a30e714326a1866ad129860bc4e28a658a77069e595aa40f1507051f4dd5", - "sha1": "1550d40fd570ae88839382ea888dba9b5c3bd29c" - }, - "required_dependencies": [], - "size": 74491, - "date_published": "2024-05-04T18:03:08.340558Z" - }, { "type": "curseforge", "file_name": "invtweaks-1.20.1-1.1.0.jar", @@ -4535,6 +6665,93 @@ "required_dependencies": [], "size": 74491, "date_published": "2024-05-04T18:03:07.010Z" + }, + { + "type": "modrinth", + "file_name": "invtweaks-1.20.1-1.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/uqnMI1kq/versions/noMmNlEf/invtweaks-1.20.1-1.1.0.jar", + "id": "noMmNlEf", + "parent_id": "uqnMI1kq", + "hashes": { + "sha512": "3303d72462d4f863625914100cbbc050e3c88a23203b1010d194524518145ad859a9a30e714326a1866ad129860bc4e28a658a77069e595aa40f1507051f4dd5", + "sha1": "1550d40fd570ae88839382ea888dba9b5c3bd29c" + }, + "required_dependencies": [], + "size": 74491, + "date_published": "2024-05-04T18:03:08.340558Z" + } + ] + }, + { + "pakku_id": "qfmfJ9pcWlHX4gSC", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "iris-flywheel-compat", + "modrinth": "iris-flw-compat" + }, + "name": { + "curseforge": "Iris & Oculus Flywheel Compat", + "modrinth": "Iris & Oculus Flywheel Compat" + }, + "id": { + "curseforge": "659897", + "modrinth": "ndHYMY2K" + }, + "files": [ + { + "type": "modrinth", + "file_name": "oculus-flywheel-compat-forge1.20.1+1.1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/ndHYMY2K/versions/j26FjsSe/oculus-flywheel-compat-forge1.20.1+1.1.4.jar", + "id": "j26FjsSe", + "parent_id": "ndHYMY2K", + "hashes": { + "sha512": "811874cef4a54eb8d6b1f871d004b32bda39cf800ade45b60f156ccf7d81cf39244ec49a1adeaf3565bb8fc623869cd54c6ff84f6f406e65ea27ea6be1ecb3f2", + "sha1": "8f79b9c4e0ac809b5310b59ad812a7325a6c7f1e" + }, + "required_dependencies": [ + "GchcoXML" + ], + "size": 91538, + "date_published": "2024-11-17T07:21:13.814050Z" + }, + { + "type": "curseforge", + "file_name": "oculus-flywheel-compat-forge1.20.1+1.1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/5910/194/oculus-flywheel-compat-forge1.20.1+1.1.4.jar", + "id": "5910194", + "parent_id": "659897", + "hashes": { + "sha1": "8f79b9c4e0ac809b5310b59ad812a7325a6c7f1e", + "md5": "c3b7b2082a81bc6bbb5390aad69049a5" + }, + "required_dependencies": [ + "581495" + ], + "size": 91538, + "date_published": "2024-11-17T07:21:11.960Z" } ] }, @@ -4557,7 +6774,7 @@ "files": [ { "type": "modrinth", - "file_name": "ItemPhysicLite_FORGE_v1.6.5_mc1.20.1.jar", + "file_name": "ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -4566,18 +6783,18 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/OuyCgP8t/versions/BSTlUVQ4/ItemPhysicLite_FORGE_v1.6.5_mc1.20.1.jar", - "id": "BSTlUVQ4", + "url": "https://cdn.modrinth.com/data/OuyCgP8t/versions/pblKjZQf/ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", + "id": "pblKjZQf", "parent_id": "OuyCgP8t", "hashes": { - "sha512": "72190f7fa94c335091bbdde84ed06dfac6e6ade9e1354cada00437055a42e440af901a1c42df14ec61f1b0f0aa0075a377f9ff4db8df43961e9fb9334e840c4a", - "sha1": "ae7c975384abced013c7a040393a60715bb5000b" + "sha512": "7458b25e6243c196ecac5363ce6b30713eb93c043226906d6ad6b9774985831f67a250a3057183e6f9721cbdf56c6ebdd3db3769c1da66c7d07ba4d0d5878d1b", + "sha1": "4fc87af53afb8610e77710b30340783fc6bd0ccf" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 19472, - "date_published": "2024-09-20T08:53:30.080036Z" + "size": 19487, + "date_published": "2025-01-02T15:19:25.955410Z" }, { "type": "curseforge", @@ -4615,7 +6832,7 @@ }, "name": { "curseforge": "Jade Addons (Neo/Forge)", - "modrinth": "Jade Addons (NeoForge)" + "modrinth": "Jade Addons (Neo/Forge)" }, "id": { "curseforge": "583345", @@ -4624,27 +6841,28 @@ "files": [ { "type": "modrinth", - "file_name": "JadeAddons-1.20.1-forge-5.2.2.jar", + "file_name": "JadeAddons-1.20.1-Forge-5.3.1.jar", "mc_versions": [ "1.20", "1.20.1" ], "loaders": [ - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/xuDOzCLy/versions/AdyaTuHw/JadeAddons-1.20.1-forge-5.2.2.jar", - "id": "AdyaTuHw", + "url": "https://cdn.modrinth.com/data/xuDOzCLy/versions/PSP77dD5/JadeAddons-1.20.1-Forge-5.3.1.jar", + "id": "PSP77dD5", "parent_id": "xuDOzCLy", "hashes": { - "sha512": "e10fd945f24af9e738726e8155c70a084de09800984d7fee2c4c1097158c73f8aee9b8e363fc9968b5a43c421daad721648b4c23188a235c0ffc19e6d067808c", - "sha1": "74b567a2b23bf34cd37ee4c02059318f8cc702d7" + "sha512": "f892ddfd0551a4c813343507c511707253f30808972228f506e4541750c91e8af15ca460bd88d17fd512a83fe8c280703064afb2b6d56b32f1ee082a8d69b302", + "sha1": "140a393ae43519bcb9018a7e00c300f930d659dc" }, "required_dependencies": [ "nvQzSEkH" ], - "size": 58529, - "date_published": "2023-12-04T11:49:25.243199Z" + "size": 77839, + "date_published": "2024-09-04T19:28:53.887177Z" }, { "type": "curseforge", @@ -4692,7 +6910,7 @@ "files": [ { "type": "modrinth", - "file_name": "Jade-1.20.1-forge-11.9.4.jar", + "file_name": "Jade-1.20.1-Forge-11.13.1.jar", "mc_versions": [ "1.20", "1.20.1" @@ -4702,20 +6920,20 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/nvQzSEkH/versions/MLYKnVCk/Jade-1.20.1-forge-11.9.4.jar", - "id": "MLYKnVCk", + "url": "https://cdn.modrinth.com/data/nvQzSEkH/versions/9gf6jOO0/Jade-1.20.1-Forge-11.13.1.jar", + "id": "9gf6jOO0", "parent_id": "nvQzSEkH", "hashes": { - "sha512": "94e27580ebc0dd4ee186b200a0c07582a828b4c125728308256c7182ca3fd24363c6214029508e510f1698dd5ef3685efa2640bbe0ec21764548b58b022cf072", - "sha1": "29b6d7c1c7742310cfaa2ea2964834561b9a8257" + "sha512": "3b8c4e273b70c30781accb27b3c307e9a8f676c2f3e6987fb9864588c4c0b93cbfd20bbcbe697dada6474b4d652ce686f98d3f72346d4946e573c0435674d8cf", + "sha1": "0e5af2bdca3a600d3f0cf28cc9f735542d19e7fc" }, "required_dependencies": [], - "size": 545911, - "date_published": "2024-07-01T19:38:09.658401Z" + "size": 550551, + "date_published": "2025-03-06T16:47:31.546464Z" }, { "type": "curseforge", - "file_name": "Jade-1.20.1-forge-11.9.4.jar", + "file_name": "Jade-1.20.1-Forge-11.13.1.jar", "mc_versions": [ "1.20.1", "1.20" @@ -4725,21 +6943,21 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5493/390/Jade-1.20.1-forge-11.9.4.jar", - "id": "5493390", + "url": "https://edge.forgecdn.net/files/6271/651/Jade-1.20.1-Forge-11.13.1.jar", + "id": "6271651", "parent_id": "324717", "hashes": { - "sha1": "29b6d7c1c7742310cfaa2ea2964834561b9a8257", - "md5": "c8cf19d68c5aefd7d15a63229bf22589" + "sha1": "0e5af2bdca3a600d3f0cf28cc9f735542d19e7fc", + "md5": "e36b4d172480009220be7eae12490943" }, "required_dependencies": [], - "size": 545911, - "date_published": "2024-07-01T19:38:04.103Z" + "size": 550551, + "date_published": "2025-03-06T16:47:24.837Z" } ] }, { - "pakku_id": "DSCOOd09nNDPN7Uk", + "pakku_id": "jhCnEANGzAZibyXL", "type": "MOD", "side": "BOTH", "slug": { @@ -4755,47 +6973,47 @@ "modrinth": "u6dRKJwZ" }, "files": [ - { - "type": "modrinth", - "file_name": "jei-1.20.1-forge-15.3.0.8.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/u6dRKJwZ/versions/C3OE8nXl/jei-1.20.1-forge-15.3.0.8.jar", - "id": "C3OE8nXl", - "parent_id": "u6dRKJwZ", - "hashes": { - "sha512": "e50de5b80b80592d7e67dd6243387117ce2dfbfd4663a4ca55ddd7ec5a6b6cb3619474c099d279defa4c931e5c94d46b701a012dc33a13125994b097a3dcc9ad", - "sha1": "95aec36d76b4ce6601d3abbc2c2a3652565c9552" - }, - "required_dependencies": [], - "size": 1128338, - "date_published": "2024-06-18T05:47:37.893554Z" - }, { "type": "curseforge", - "file_name": "jei-1.20.1-forge-15.3.0.8.jar", + "file_name": "jei-1.20.1-forge-15.20.0.106.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5440/261/jei-1.20.1-forge-15.3.0.8.jar", - "id": "5440261", + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6075/247/jei-1.20.1-forge-15.20.0.106.jar", + "id": "6075247", "parent_id": "238222", "hashes": { - "sha1": "95aec36d76b4ce6601d3abbc2c2a3652565c9552", - "md5": "389dc0a66f837ff16aba840200dcb09f" + "sha1": "77928d15d797663846cba44de8f79e4e4c5fdbb7", + "md5": "245af433575aef3a47ae73492196018f" }, "required_dependencies": [], - "size": 1128338, - "date_published": "2024-06-18T05:47:05.693Z" + "size": 1379220, + "date_published": "2025-01-11T01:35:54.057Z" + }, + { + "type": "modrinth", + "file_name": "jei-1.20.1-forge-15.20.0.106.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/u6dRKJwZ/versions/WTWP98yg/jei-1.20.1-forge-15.20.0.106.jar", + "id": "WTWP98yg", + "parent_id": "u6dRKJwZ", + "hashes": { + "sha512": "c49f6f4fa86a76751fae927e93f6f6a00b955aca97edae6eecc496f2959e581f4e697f80c53e27d2c90e73374171669b3be6bd860b9446aaa521a2553569bfc1", + "sha1": "77928d15d797663846cba44de8f79e4e4c5fdbb7" + }, + "required_dependencies": [], + "size": 1379220, + "date_published": "2025-01-11T01:36:06.889620Z" } ] }, @@ -4862,6 +7080,79 @@ } ] }, + { + "pakku_id": "IqPkca9cWhZ2JxDJ", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "kotlin-for-forge", + "modrinth": "kotlin-for-forge" + }, + "name": { + "curseforge": "Kotlin for Forge", + "modrinth": "Kotlin for Forge" + }, + "id": { + "curseforge": "351264", + "modrinth": "ordsPcFz" + }, + "files": [ + { + "type": "modrinth", + "file_name": "kotlinforforge-4.11.0-all.jar", + "mc_versions": [ + "1.19.3", + "1.19.4", + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ordsPcFz/versions/hmeyC41q/kotlinforforge-4.11.0-all.jar", + "id": "hmeyC41q", + "parent_id": "ordsPcFz", + "hashes": { + "sha512": "d72707078f0c4fde78981c638ca976722f22a64ce74bdb489258790fe9886d763a7b1e0dfbc5429ddd3105d8a65d177f06242dfb1457e219e56c70dd3e8cbf2c", + "sha1": "1fd8acfd75a2be2dc3cdcc7e816482b2e427d6e5" + }, + "required_dependencies": [], + "size": 7193768, + "date_published": "2024-06-06T01:10:20.253226Z" + }, + { + "type": "curseforge", + "file_name": "kotlinforforge-4.11.0-all.jar", + "mc_versions": [ + "1.20.2", + "1.20.3", + "1.20.1", + "1.20", + "1.20.4" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5402/61/kotlinforforge-4.11.0-all.jar", + "id": "5402061", + "parent_id": "351264", + "hashes": { + "sha1": "1fd8acfd75a2be2dc3cdcc7e816482b2e427d6e5", + "md5": "417caa90d17dc86cf7d24b802c2a5c56" + }, + "required_dependencies": [], + "size": 7193768, + "date_published": "2024-06-05T23:45:43.380Z" + } + ] + }, { "pakku_id": "YpgXdfsYvpMj2cy4", "type": "MOD", @@ -4881,7 +7172,7 @@ "files": [ { "type": "modrinth", - "file_name": "Ksyxis-1.3.2.jar", + "file_name": "Ksyxis-1.3.3.jar", "mc_versions": [ "1.8", "1.8.1-pre1", @@ -5477,7 +7768,16 @@ "1.21.4", "25w02a", "25w03a", - "25w04a" + "25w04a", + "25w05a", + "25w06a", + "25w07a", + "25w08a", + "25w09a", + "25w09b", + "25w10a", + "1.21.5-pre1", + "1.21.5-pre2" ], "loaders": [ "fabric", @@ -5486,20 +7786,20 @@ "quilt" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/2ecVyZ49/versions/QFfBwOwT/Ksyxis-1.3.2.jar", - "id": "QFfBwOwT", + "url": "https://cdn.modrinth.com/data/2ecVyZ49/versions/ueN87SNs/Ksyxis-1.3.3.jar", + "id": "ueN87SNs", "parent_id": "2ecVyZ49", "hashes": { - "sha512": "dde5310b59efdd98f0af3c687e14ad5de9207296a1e0003e2e07fccc090b6351fe5769237b1d9e666686521eba91fa4ebcb7cd5a085f805f524385e379ed72cc", - "sha1": "21c82ab70e7b427e07cee07cec26ba603301d83e" + "sha512": "e754d8709d4a4c4ea894dda7bc5c3b017c8baddaaaa67b2319881d52dcce5ecd12d626087d55008de5eb942b02cf9e2099c71602296c5b63ea75abb2452b0bc7", + "sha1": "2fff901eeb095c0a17ee16590e1be76c968224fc" }, "required_dependencies": [], - "size": 26235, - "date_published": "2024-06-12T02:38:21.382993Z" + "size": 28484, + "date_published": "2025-02-09T11:57:39.221784Z" }, { "type": "curseforge", - "file_name": "Ksyxis-1.3.2.jar", + "file_name": "Ksyxis-1.3.3.jar", "mc_versions": [ "1.20.2", "1.20.5", @@ -5520,16 +7820,16 @@ "quilt" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5419/927/Ksyxis-1.3.2.jar", - "id": "5419927", + "url": "https://edge.forgecdn.net/files/6174/567/Ksyxis-1.3.3.jar", + "id": "6174567", "parent_id": "537533", "hashes": { - "sha1": "21c82ab70e7b427e07cee07cec26ba603301d83e", - "md5": "287b5b24a48264d493f76db2a5db8411" + "sha1": "988bf589b25a9c48c23bccec0326271cf2602c88", + "md5": "9c007fc4d85b75dc5ab910cd1f18f509" }, "required_dependencies": [], - "size": 26235, - "date_published": "2024-06-12T02:40:36.497Z" + "size": 28483, + "date_published": "2025-02-09T12:02:32.110Z" } ] }, @@ -5555,28 +7855,27 @@ "files": [ { "type": "modrinth", - "file_name": "kubejs-forge-2001.6.5-build.14.jar", + "file_name": "kubejs-forge-2001.6.5-build.16.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "forge", - "neoforge" + "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/umyGl7zF/versions/AhYGbfUn/kubejs-forge-2001.6.5-build.14.jar", - "id": "AhYGbfUn", + "url": "https://cdn.modrinth.com/data/umyGl7zF/versions/g5igndAv/kubejs-forge-2001.6.5-build.16.jar", + "id": "g5igndAv", "parent_id": "umyGl7zF", "hashes": { - "sha512": "d35ab35c2e589b332283c99627ef50de5248e6f1050724bbdf5f3c253b90f85181a23bbf501c6fdcf1bec38cbfc1fdfbdb72e1a72e261aace3b3b721a8524286", - "sha1": "3a40e639a6b7576deeb1f9e5379beaba85c15280" + "sha512": "819f730d2a9d980bb246d30d67793f06f6a1608381c7ce3577cf25e70dd3d595271f8fcfbf3ae037168842f660e79e49846756bd18c79793b310ff18ab826cbd", + "sha1": "93fcf0eacc5dc08a4f719eaaed1dc93f0dc80f66" }, "required_dependencies": [ "lhGA9TYQ", "sk9knFPE" ], - "size": 1654724, - "date_published": "2024-06-21T18:29:14.997763Z" + "size": 1654660, + "date_published": "2024-10-28T09:20:35.912552Z" }, { "type": "curseforge", @@ -5608,7 +7907,9 @@ { "pakku_id": "PN3zm8zqAQ6blEfy", "pakku_links": [ - "allFEHgIxsCYE7PD" + "allFEHgIxsCYE7PD", + "84mP4zIfFqgjbn47", + "qb27I6RFmY1EfXWL" ], "type": "MOD", "side": "BOTH", @@ -5697,7 +7998,7 @@ "files": [ { "type": "modrinth", - "file_name": "kubejs_tfc-1.20.1-1.1.3.jar", + "file_name": "kubejs_tfc-1.20.1-1.2.5.jar", "mc_versions": [ "1.20.1" ], @@ -5706,23 +8007,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/MjZPkQtU/kubejs_tfc-1.20.1-1.1.3.jar", - "id": "MjZPkQtU", + "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/IvDJQ46x/kubejs_tfc-1.20.1-1.2.5.jar", + "id": "IvDJQ46x", "parent_id": "mhtClB2S", "hashes": { - "sha512": "ea44bacb427fdf79b55d90b252288364a769e0078b556d3241a7fcf380a5f77cc866e12c6eef1609c3ae6d23fd322fd56690e813496ef913e9e72f98b3af269d", - "sha1": "76459a3985ad4cc3fd715454205851d1fc8a7ea4" + "sha512": "82b5a15ed7a58230f5b4fe8e14b7a47854027ced6712208ad49d918f313be0f0e27feb6d47907a93be4ec2f3ddabacf65b243a4de488788333df67cb987fc35e", + "sha1": "03b4e82678d080f9262e8e368178efb907c6efd5" }, "required_dependencies": [ - "JaCEZUhg", - "umyGl7zF" + "umyGl7zF", + "JaCEZUhg" ], - "size": 499599, - "date_published": "2024-05-19T20:31:38.478117Z" + "size": 727590, + "date_published": "2025-03-13T21:50:14.087618Z" }, { "type": "curseforge", - "file_name": "kubejs_tfc-1.20.1-1.1.3.jar", + "file_name": "kubejs_tfc-1.20.1-1.2.5.jar", "mc_versions": [ "1.20.1" ], @@ -5731,19 +8032,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5356/968/kubejs_tfc-1.20.1-1.1.3.jar", - "id": "5356968", + "url": "https://edge.forgecdn.net/files/6301/242/kubejs_tfc-1.20.1-1.2.5.jar", + "id": "6301242", "parent_id": "841001", "hashes": { - "sha1": "76459a3985ad4cc3fd715454205851d1fc8a7ea4", - "md5": "e5bd8c75b8610df62165b1f22ece98d8" + "sha1": "03b4e82678d080f9262e8e368178efb907c6efd5", + "md5": "a366327c392ee54277496fcb932999e9" }, - "required_dependencies": [ - "302973", - "238086" - ], - "size": 499599, - "date_published": "2024-05-19T20:32:53.743Z" + "required_dependencies": [], + "size": 727590, + "date_published": "2025-03-13T21:50:17.930Z" } ] }, @@ -5766,7 +8064,7 @@ "files": [ { "type": "modrinth", - "file_name": "letmedespawn-forge-1.3.2b.jar", + "file_name": "letmedespawn-1.20.x-forge-1.5.0.jar", "mc_versions": [ "1.20.1", "1.20.2", @@ -5777,22 +8075,26 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/vE2FN5qn/versions/FdzvSqUq/letmedespawn-forge-1.3.2b.jar", - "id": "FdzvSqUq", + "url": "https://cdn.modrinth.com/data/vE2FN5qn/versions/1VmupN41/letmedespawn-1.20.x-forge-1.5.0.jar", + "id": "1VmupN41", "parent_id": "vE2FN5qn", "hashes": { - "sha512": "69a4746f74301c8509ac8c8633f034cf3d97a5fb051472a3a947b989cba9a3082bcbf6c41e322457a3e7eacb2a3d48bbce6120b0e8c858232ba12ca314de15df", - "sha1": "10322877eab165bd572c6352ae72be55f5fac7ee" + "sha512": "22e5e7a3e4eb1e238ff420108f6fb138e2fc47335a8fbe4cef093cef32d7aaf710de00ba0450bfee570aa2857989b0e9d7abb8600720386e185ffac5670505c1", + "sha1": "878dd35df02e1e17b7eb16113147f964eda8847f" }, - "required_dependencies": [], - "size": 85412, - "date_published": "2024-09-22T16:57:43.841124Z" + "required_dependencies": [ + "Gi02250Z" + ], + "size": 14789, + "date_published": "2025-03-16T11:37:47.063456Z" }, { "type": "curseforge", - "file_name": "letmedespawn-forge-1.3.2b.jar", + "file_name": "letmedespawn-1.20.x-forge-1.5.0.jar", "mc_versions": [ "1.20.2", + "1.20.2-Snapshot", + "1.20.3-Snapshot", "1.20.3", "1.20.1", "1.20.4" @@ -5801,16 +8103,84 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5746/857/letmedespawn-forge-1.3.2b.jar", - "id": "5746857", + "url": "https://edge.forgecdn.net/files/6311/230/letmedespawn-1.20.x-forge-1.5.0.jar", + "id": "6311230", "parent_id": "663477", "hashes": { - "sha1": "10322877eab165bd572c6352ae72be55f5fac7ee", - "md5": "b05fd7298a823809e8d38c563be2aa5b" + "sha1": "878dd35df02e1e17b7eb16113147f964eda8847f", + "md5": "0ff799ece663ddafab61ad32704fc51c" + }, + "required_dependencies": [ + "1115285" + ], + "size": 14789, + "date_published": "2025-03-16T11:34:03.527Z" + } + ] + }, + { + "pakku_id": "3mTNqBVok4dOJATl", + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "lmft", + "modrinth": "lmft" + }, + "name": { + "curseforge": "Load My F***ing Tags", + "modrinth": "Load My F***ing Tags" + }, + "id": { + "curseforge": "656346", + "modrinth": "67kVxsaO" + }, + "files": [ + { + "type": "modrinth", + "file_name": "lmft-1.0.4+1.20.1-forge.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/67kVxsaO/versions/wtPd74Rj/lmft-1.0.4+1.20.1-forge.jar", + "id": "wtPd74Rj", + "parent_id": "67kVxsaO", + "hashes": { + "sha512": "2a4c44f3b27280255bc1b7d0fea5ca01ea7957650afa869dd323eea4de45145b531b0fa85bb7892d23d65ee863013638d8d17362af60304611e7c123d620d41b", + "sha1": "e44a12eb51813b16faaab89b8073ec63c746c1b0" }, "required_dependencies": [], - "size": 85412, - "date_published": "2024-09-22T16:52:47.883Z" + "size": 178625, + "date_published": "2023-11-20T23:35:32.786902Z" + }, + { + "type": "curseforge", + "file_name": "lmft-1.0.4+1.20.1-forge.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4892/299/lmft-1.0.4+1.20.1-forge.jar", + "id": "4892299", + "parent_id": "656346", + "hashes": { + "sha1": "e44a12eb51813b16faaab89b8073ec63c746c1b0", + "md5": "b6fef15e42caec14db87f5aa498233e8" + }, + "required_dependencies": [], + "size": 178625, + "date_published": "2023-11-23T00:33:22.407Z" } ] }, @@ -5877,10 +8247,48 @@ } ] }, + { + "pakku_id": "m3etmMcwwpwqRadD", + "type": "MOD", + "slug": { + "curseforge": "lootr" + }, + "name": { + "curseforge": "Lootr (Forge & NeoForge)" + }, + "id": { + "curseforge": "361276" + }, + "files": [ + { + "type": "curseforge", + "file_name": "lootr-forge-1.20-0.7.34.89.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5636/598/lootr-forge-1.20-0.7.34.89.jar", + "id": "5636598", + "parent_id": "361276", + "hashes": { + "sha1": "4f6fb612fee28f82b798723e76de5752636c4eea", + "md5": "268721ef907b1d9f9a42e36d370c6c90" + }, + "required_dependencies": [], + "size": 347913, + "date_published": "2024-08-17T02:26:34.983Z" + } + ] + }, { "pakku_id": "pw7ThBG0IEqFqKZQ", "pakku_links": [ - "jkz20XWDUGHwlZxp" + "jkz20XWDUGHwlZxp", + "hEH6ly65CC6Sw1pf" ], "type": "MOD", "side": "BOTH", @@ -5951,7 +8359,8 @@ "pakku_id": "TbhXfxxfGxTYHhAL", "pakku_links": [ "jkz20XWDUGHwlZxp", - "ljByFnUSb1ka9OoU" + "ljByFnUSb1ka9OoU", + "hEH6ly65CC6Sw1pf" ], "type": "MOD", "side": "BOTH", @@ -5970,7 +8379,7 @@ "files": [ { "type": "modrinth", - "file_name": "megacells-forge-2.4.4-1.20.1.jar", + "file_name": "megacells-forge-2.4.6-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5979,23 +8388,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/jjuIRIVr/versions/Jeg9Zxud/megacells-forge-2.4.4-1.20.1.jar", - "id": "Jeg9Zxud", + "url": "https://cdn.modrinth.com/data/jjuIRIVr/versions/SH2D1n3s/megacells-forge-2.4.6-1.20.1.jar", + "id": "SH2D1n3s", "parent_id": "jjuIRIVr", "hashes": { - "sha512": "6d2dae1c3c31c3c475cb2a666159f125fe363f4dafa5db42e19bf19d7467ee98e828993171d245b379cd50a2e51bc122fd29be74b22f61938b8cb01aaaec4210", - "sha1": "bafc90a131c52efa98f4b056b6c2a2c7f7031009" + "sha512": "a4fe5ee459310785e3bfb2ec7ceab5fb817e2faa26397599cbb6a114147a0199254df2e35d110aa31b07379ac36a246fa4d5dac07020384316eb47ba6b322e25", + "sha1": "ed6fd5eb0c782529be03f199d66d9a7c9eb2a518" }, "required_dependencies": [ - "9s6osm5g", - "XxWD5pD3" + "XxWD5pD3", + "9s6osm5g" ], - "size": 372143, - "date_published": "2024-05-06T14:07:05.709974Z" + "size": 387196, + "date_published": "2025-02-09T14:26:13.288593Z" }, { "type": "curseforge", - "file_name": "megacells-forge-2.4.4-1.20.1.jar", + "file_name": "megacells-forge-2.4.6-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6004,19 +8413,122 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5320/730/megacells-forge-2.4.4-1.20.1.jar", - "id": "5320730", + "url": "https://edge.forgecdn.net/files/6175/8/megacells-forge-2.4.6-1.20.1.jar", + "id": "6175008", "parent_id": "622112", "hashes": { - "sha1": "bafc90a131c52efa98f4b056b6c2a2c7f7031009", - "md5": "e12fe7b010ba2689927455cd226c3d12" + "sha1": "ed6fd5eb0c782529be03f199d66d9a7c9eb2a518", + "md5": "c2fbcaaa3c810162602ad709ad31a792" }, "required_dependencies": [ - "223794", - "348521" + "348521", + "223794" ], - "size": 372143, - "date_published": "2024-05-06T14:07:03.900Z" + "size": 387196, + "date_published": "2025-02-09T14:26:09.890Z" + } + ] + }, + { + "pakku_id": "NcKQPvd5HQneyraR", + "pakku_links": [ + "w5G2EmycbcFrsM0g" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "man-of-many-planes", + "modrinth": "man-of-many-planes" + }, + "name": { + "curseforge": "Man of Many Planes", + "modrinth": "Man of Many Planes" + }, + "id": { + "curseforge": "984493", + "modrinth": "9qdTHi0q" + }, + "files": [ + { + "type": "curseforge", + "file_name": "man_of_many_planes-0.2.0+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5713/356/man_of_many_planes-0.2.0+1.20.1-forge.jar", + "id": "5713356", + "parent_id": "984493", + "hashes": { + "sha1": "0037367a8af0d55a1b7f4c43dfc94cbdaca281db", + "md5": "513ceaf49ede4812691e6e80fb4cbdee" + }, + "required_dependencies": [ + "666014" + ], + "size": 309137, + "date_published": "2024-09-11T12:05:28.360Z" + }, + { + "type": "modrinth", + "file_name": "man_of_many_planes-0.2.0+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9qdTHi0q/versions/uZNB5Zrk/man_of_many_planes-0.2.0+1.20.1-forge.jar", + "id": "uZNB5Zrk", + "parent_id": "9qdTHi0q", + "hashes": { + "sha512": "82d78136ea735447b2a8ed929e26776b508b973b1c9200dffb3cc7de76b9e138b6563180fa906c46d9fa726aa1012e139f03e7fd008815b20b1066ae484d149c", + "sha1": "0037367a8af0d55a1b7f4c43dfc94cbdaca281db" + }, + "required_dependencies": [], + "size": 309137, + "date_published": "2024-09-11T12:05:29.630931Z" + } + ] + }, + { + "pakku_id": "7kwz7sGb5cZCf3kp", + "type": "MOD", + "slug": { + "curseforge": "measurements" + }, + "name": { + "curseforge": "Measurements" + }, + "id": { + "curseforge": "478559" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Measurements-forge-1.20.1-2.0.0.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4586/849/Measurements-forge-1.20.1-2.0.0.jar", + "id": "4586849", + "parent_id": "478559", + "hashes": { + "sha1": "b0e1bc28ae16f702d93a60ca39452e03c9d17b28", + "md5": "4f24755a20f24389bb8b78b746899e69" + }, + "required_dependencies": [], + "size": 43446, + "date_published": "2023-06-14T16:52:08.437Z" } ] }, @@ -6087,57 +8599,6 @@ } ] }, - { - "pakku_id": "Q1jGdWU7QHBplBZM", - "type": "MOD", - "side": "BOTH", - "slug": { - "modrinth": "memoryleakfix" - }, - "name": { - "modrinth": "Memory Leak Fix" - }, - "id": { - "modrinth": "NRjRiSSD" - }, - "files": [ - { - "type": "modrinth", - "file_name": "memoryleakfix-forge-1.17+-1.1.5.jar", - "mc_versions": [ - "1.17", - "1.17.1", - "1.18", - "1.18.1", - "1.18.2", - "1.19", - "1.19.1", - "1.19.2", - "1.19.3", - "1.19.4", - "1.20", - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/NRjRiSSD/versions/3w0IxNtk/memoryleakfix-forge-1.17+-1.1.5.jar", - "id": "3w0IxNtk", - "parent_id": "NRjRiSSD", - "hashes": { - "sha512": "f4d7b0eb70a605ffb81bebd24fd125d8c0bc7917c3e00f27bee64988836323de5a3d205e89a4a5f8ae75741ca874f62996e7c8e5ed489dc3c1824337e93d263f", - "sha1": "9f60142dd94631800386a16a4ad70ad9e84cd78a" - }, - "required_dependencies": [], - "size": 227925, - "date_published": "2024-01-06T15:23:23.935326Z" - } - ] - }, { "pakku_id": "LygBbX5d2RFkLrzE", "type": "MOD", @@ -6219,29 +8680,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.18.1+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/JCb26GJk/modernfix-forge-5.18.1+mc1.20.1.jar", - "id": "JCb26GJk", - "parent_id": "nmDcB62a", - "hashes": { - "sha512": "4de4382173e7f17f71d48a2d090b2a165e4277e6c65c99d8099281b0b86bac209ac4f715c757b09a96847860ec5a86fb774227ef0bb89e85cd821c30bc64e67a", - "sha1": "e10adc7a9767d77cca3f830b6527c2bc300414eb" - }, - "required_dependencies": [], - "size": 771936, - "date_published": "2024-06-13T22:35:03.669980Z" - }, - { - "type": "curseforge", - "file_name": "modernfix-forge-5.18.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.20.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6249,16 +8688,37 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5425/647/modernfix-forge-5.18.1+mc1.20.1.jar", - "id": "5425647", - "parent_id": "790626", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/LmgaF8pW/modernfix-forge-5.20.2+mc1.20.1.jar", + "id": "LmgaF8pW", + "parent_id": "nmDcB62a", "hashes": { - "sha1": "e10adc7a9767d77cca3f830b6527c2bc300414eb", - "md5": "5801ab7c4f85be96f72841743c43e295" + "sha512": "e34badc237b2ef3e763d0d45a8a0d0c9f361e6b87ce02ccc92bd978855736713ace08069d7f3f78331b109f86dfa824a76329fed1affa9b2c63c195112b03c13", + "sha1": "23d49f71d56de4fdb8ec046507a42c48594daadb" }, "required_dependencies": [], - "size": 771936, - "date_published": "2024-06-13T22:34:59.313Z" + "size": 821631, + "date_published": "2025-01-26T00:47:27.319846Z" + }, + { + "type": "curseforge", + "file_name": "modernfix-forge-5.20.2+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6125/143/modernfix-forge-5.20.2+mc1.20.1.jar", + "id": "6125143", + "parent_id": "790626", + "hashes": { + "sha1": "23d49f71d56de4fdb8ec046507a42c48594daadb", + "md5": "05ba904400eb9505f619689b0f5a220c" + }, + "required_dependencies": [], + "size": 821631, + "date_published": "2025-01-26T00:47:23.323Z" } ] }, @@ -6388,6 +8848,75 @@ } ] }, + { + "pakku_id": "SxLmxJRoJqpBxkVJ", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "more-red-x-cc-tweaked-compat", + "modrinth": "more-red-x-cc-tweaked-compat" + }, + "name": { + "curseforge": "More Red x CC:Tweaked Compat", + "modrinth": "More Red x CC:Tweaked Compat" + }, + "id": { + "curseforge": "867286", + "modrinth": "e4uFcbDl" + }, + "files": [ + { + "type": "modrinth", + "file_name": "MoreRed-CCT-Compat-1.20.1-1.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/e4uFcbDl/versions/DVOCes0G/MoreRed-CCT-Compat-1.20.1-1.0.0.jar", + "id": "DVOCes0G", + "parent_id": "e4uFcbDl", + "hashes": { + "sha512": "2931514718be05c42dceb4e5ebd76d05912ca0be99f5edf6b85f8786154bd094372c7d3f37cf1e66f46c262327507963b2b36a1fcefef88cd08e99f49224fe18", + "sha1": "ed57300c9b6e335af2a6a386fc2d373b4b5daaf4" + }, + "required_dependencies": [ + "UxYNfnfx", + "gu7yAYhd" + ], + "size": 9388, + "date_published": "2023-07-24T01:43:44.043518Z" + }, + { + "type": "curseforge", + "file_name": "MoreRed-CCT-Compat-1.20.1-1.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4650/653/MoreRed-CCT-Compat-1.20.1-1.0.0.jar", + "id": "4650653", + "parent_id": "867286", + "hashes": { + "sha1": "ed57300c9b6e335af2a6a386fc2d373b4b5daaf4", + "md5": "6e31e60032216fe7bb015026c1c0be5a" + }, + "required_dependencies": [ + "282001", + "387638" + ], + "size": 9388, + "date_published": "2023-07-18T02:23:23.550Z" + } + ] + }, { "pakku_id": "qlqEgHhdvkQMNTpm", "type": "MOD", @@ -6591,73 +9120,65 @@ ] }, { - "pakku_id": "hhCU2ebTDzmT3wyZ", + "pakku_id": "ysxh7fEFk8WuW3yz", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { - "curseforge": "no-report-button", - "modrinth": "nrb" + "curseforge": "no-chat-reports", + "modrinth": "no-chat-reports" }, "name": { - "curseforge": "No Report Button", - "modrinth": "No Report Button" + "curseforge": "No Chat Reports", + "modrinth": "No Chat Reports" }, "id": { - "curseforge": "658722", - "modrinth": "9WJeSpTH" + "curseforge": "634062", + "modrinth": "qQyHxfxd" }, "files": [ { "type": "modrinth", - "file_name": "no-report-button-forge-1.5.0.jar", + "file_name": "NoChatReports-FORGE-1.20.1-v2.2.2.jar", "mc_versions": [ - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4", - "1.20.5", - "1.20.6" + "1.20", + "1.20.1" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/9WJeSpTH/versions/5TLOa6VS/no-report-button-forge-1.5.0.jar", - "id": "5TLOa6VS", - "parent_id": "9WJeSpTH", + "url": "https://cdn.modrinth.com/data/qQyHxfxd/versions/ksEG6N5E/NoChatReports-FORGE-1.20.1-v2.2.2.jar", + "id": "ksEG6N5E", + "parent_id": "qQyHxfxd", "hashes": { - "sha512": "cd6f5925b2618e674448229fdfd48b48b0da992018f228825449e0881d74fc43a1b098006b34371e030f661971326826bc5090f00d054f41e4d64455518dfbba", - "sha1": "d05c3ed9409e02cd5c0285bbcf54844505eccf37" + "sha512": "39aa2e120a10ee68e9b03e3d5bd6f2d5def2fa7fcd914f55f018a85381eb0bb52055abce53a64cb0b0fba10f24da12caef085733e715907598ce468bcf59df51", + "sha1": "069396e689ae887d065c8d61b7945e685fbcc65b" }, "required_dependencies": [], - "size": 17064, - "date_published": "2023-06-18T14:00:17.977016Z" + "size": 272740, + "date_published": "2023-06-26T14:50:58.923786Z" }, { "type": "curseforge", - "file_name": "no-report-button-forge-1.5.0.jar", + "file_name": "NoChatReports-FORGE-1.20.1-v2.2.2.jar", "mc_versions": [ - "1.20.2", - "1.20.5", - "1.20.3", "1.20.1", - "1.20.6", - "1.20.4" + "1.20" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4594/978/no-report-button-forge-1.5.0.jar", - "id": "4594978", - "parent_id": "658722", + "url": "https://edge.forgecdn.net/files/4610/474/NoChatReports-FORGE-1.20.1-v2.2.2.jar", + "id": "4610474", + "parent_id": "634062", "hashes": { - "sha1": "d05c3ed9409e02cd5c0285bbcf54844505eccf37", - "md5": "320d2ec234b985680443f6f44112a970" + "sha1": "069396e689ae887d065c8d61b7945e685fbcc65b", + "md5": "3153d1e860c6fefe6dac26efdb5c40c6" }, "required_dependencies": [], - "size": 17064, - "date_published": "2023-06-18T13:58:08.760Z" + "size": 272740, + "date_published": "2023-06-26T14:50:49.010Z" } ] }, @@ -6746,7 +9267,7 @@ "files": [ { "type": "modrinth", - "file_name": "notenoughanimations-forge-1.7.6-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.9.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6754,20 +9275,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/1JIoFNAK/notenoughanimations-forge-1.7.6-mc1.20.1.jar", - "id": "1JIoFNAK", + "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/9nsxApYz/notenoughanimations-forge-1.9.2-mc1.20.1.jar", + "id": "9nsxApYz", "parent_id": "MPCX6s5C", "hashes": { - "sha512": "8aa56014271aee6d2b7bea7ae34b096920c3e7344633232d8f11fa6d97c9cbfb99006f56297dcb56aff1cabeda83815cc145674977d40ee120926d8264dc58d7", - "sha1": "91c460a1cf1b86778a669c2098e253ffae598cac" + "sha512": "972bff34a36cdb198138372e30f975503a670897886a76ee6f3db537c08a73a635f6b6f56fcfcb54e449cd60b87e783a6363e8afdc24e599e78957e45bda6c73", + "sha1": "c9666025164bcafed9e6d03057ec8a31ebbce170" }, "required_dependencies": [], - "size": 429578, - "date_published": "2024-09-06T20:41:22.180061Z" + "size": 455945, + "date_published": "2025-02-10T18:15:03.719362Z" }, { "type": "curseforge", - "file_name": "notenoughanimations-forge-1.7.6-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.9.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6775,16 +9296,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5698/665/notenoughanimations-forge-1.7.6-mc1.20.1.jar", - "id": "5698665", + "url": "https://edge.forgecdn.net/files/6179/086/notenoughanimations-forge-1.9.2-mc1.20.1.jar", + "id": "6179086", "parent_id": "433760", "hashes": { - "sha1": "91c460a1cf1b86778a669c2098e253ffae598cac", - "md5": "f4a88402838d72073a1c630f2c37e999" + "sha1": "c9666025164bcafed9e6d03057ec8a31ebbce170", + "md5": "315ca93cf31b1307abd9ad99a9a9e09b" }, "required_dependencies": [], - "size": 429578, - "date_published": "2024-09-06T20:41:19.450Z" + "size": 455945, + "date_published": "2025-02-10T18:15:01.423Z" } ] }, @@ -6925,6 +9446,9 @@ }, { "pakku_id": "GAki1Arlsgajcu08", + "pakku_links": [ + "PGG5IiciynuRNWMz" + ], "type": "MOD", "side": "CLIENT", "slug": { @@ -6942,7 +9466,7 @@ "files": [ { "type": "modrinth", - "file_name": "oculus-mc1.20.1-1.7.0.jar", + "file_name": "oculus-mc1.20.1-1.8.0.jar", "mc_versions": [ "1.20.1" ], @@ -6951,18 +9475,18 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/GchcoXML/versions/vVuYfukI/oculus-mc1.20.1-1.7.0.jar", - "id": "vVuYfukI", + "url": "https://cdn.modrinth.com/data/GchcoXML/versions/iQ1SwGc3/oculus-mc1.20.1-1.8.0.jar", + "id": "iQ1SwGc3", "parent_id": "GchcoXML", "hashes": { - "sha512": "8f7e56e65a12c7cfa4719c69e1de552dc8651ab202ff9bf78ff180c4bf81a82f3e569641046b1915b6f9e60f54451ae4b8b0d9a688a0c966473b91de9cefb923", - "sha1": "27410903d3af950378776106b76503cfebe7ea3a" + "sha512": "1bb4ac77400d6684347988ed298a692c2cb15cf7923693607eb8739b171a20fef7412259e9e157111d9ce21779badab386029956f7d2283a9e611722a373e9d5", + "sha1": "984f774e71790deaec674c7587bd24e0711871b2" }, "required_dependencies": [ "sk9rgfiA" ], - "size": 2831148, - "date_published": "2024-04-28T21:22:46.942307Z" + "size": 2851119, + "date_published": "2024-12-24T23:33:42.216148Z" }, { "type": "curseforge", @@ -7009,7 +9533,7 @@ "files": [ { "type": "modrinth", - "file_name": "open-parties-and-claims-forge-1.20.1-0.23.2.jar", + "file_name": "open-parties-and-claims-forge-1.20.1-0.23.7.jar", "mc_versions": [ "1.20", "1.20.1" @@ -7018,16 +9542,16 @@ "forge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/gF3BGWvG/versions/zRwr7vKD/open-parties-and-claims-forge-1.20.1-0.23.2.jar", - "id": "zRwr7vKD", + "url": "https://cdn.modrinth.com/data/gF3BGWvG/versions/oeVpN9sy/open-parties-and-claims-forge-1.20.1-0.23.7.jar", + "id": "oeVpN9sy", "parent_id": "gF3BGWvG", "hashes": { - "sha512": "e16569224fea20b096ac74008146d3c187855ec8cd874721d62b822338d6f07ea4daf6096c550db97cf9cde9af09d764ac916cf5ee7f1b9a06ce921c7546d405", - "sha1": "17f769e0779e302882c3143a3d0e0fed7737f1a2" + "sha512": "02b257698f46ae57adc8c407b318d10c2463e6ab66b4840b1c467716d675c70999acb03f0458175d98b69e4ce5bcd53dc9a2bbe17012a5e040765736e1f702e4", + "sha1": "8f59207176cdc2fe53e5f7e65debc08a7dca3882" }, "required_dependencies": [], - "size": 1244599, - "date_published": "2024-07-23T10:23:07.533660Z" + "size": 1245092, + "date_published": "2025-01-05T09:27:14.419271Z" }, { "type": "curseforge", @@ -7072,7 +9596,7 @@ "files": [ { "type": "modrinth", - "file_name": "packetfixer-forge-1.4.2-1.19-to-1.20.1.jar", + "file_name": "packetfixer-forge-2.0.0-1.19-to-1.20.1.jar", "mc_versions": [ "1.19", "1.19.1", @@ -7087,20 +9611,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/c7m1mi73/versions/AScUisZl/packetfixer-forge-1.4.2-1.19-to-1.20.1.jar", - "id": "AScUisZl", + "url": "https://cdn.modrinth.com/data/c7m1mi73/versions/dhU6qmvR/packetfixer-forge-2.0.0-1.19-to-1.20.1.jar", + "id": "dhU6qmvR", "parent_id": "c7m1mi73", "hashes": { - "sha512": "5117290f545708d2bed4a79a9225008537d6fae5714a534e3b9c16671f09e384db0db98b312f457f09525b5da87b48ff9e1356885285128fbcd8ec5ba4e6dac5", - "sha1": "fde1ac873b9a07ec2ad7dab2c2a6249b11151664" + "sha512": "d09b5af31d488327cd4434b0506d8781751e99c205a8fbf701362f442de6b61429809212c9a3c3be291ef6ea276cefeedb8f7cdefb40a4b284beeb053a4a76df", + "sha1": "7e49bb839dd872ec323b25826f6dd782f6f34b2a" }, "required_dependencies": [], - "size": 22067, - "date_published": "2024-06-10T19:18:42.081511Z" + "size": 24682, + "date_published": "2025-02-15T12:56:31.182977Z" }, { "type": "curseforge", - "file_name": "packetfixer-forge-1.4.2-1.19-to-1.20.1.jar", + "file_name": "packetfixer-forge-2.0.0-1.19-to-1.20.1.jar", "mc_versions": [ "1.20.1", "1.20" @@ -7110,16 +9634,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5416/166/packetfixer-forge-1.4.2-1.19-to-1.20.1.jar", - "id": "5416166", + "url": "https://edge.forgecdn.net/files/6195/870/packetfixer-forge-2.0.0-1.19-to-1.20.1.jar", + "id": "6195870", "parent_id": "689467", "hashes": { - "sha1": "fde1ac873b9a07ec2ad7dab2c2a6249b11151664", - "md5": "7d9df4ab58a48eae97e3ac5279b50b76" + "sha1": "7e49bb839dd872ec323b25826f6dd782f6f34b2a", + "md5": "f1cdfcf43af91d745f3aedb570a15aed" }, "required_dependencies": [], - "size": 22067, - "date_published": "2024-06-10T19:21:05.747Z" + "size": 24682, + "date_published": "2025-02-15T12:59:55.487Z" } ] }, @@ -7271,6 +9795,137 @@ } ] }, + { + "pakku_id": "oe7rgW0D4n602Aiz", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "particle-core", + "modrinth": "particle-core" + }, + "name": { + "curseforge": "Particle Core", + "modrinth": "Particle Core" + }, + "id": { + "curseforge": "985426", + "modrinth": "RSeLon5O" + }, + "files": [ + { + "type": "modrinth", + "file_name": "particle_core-0.2.5+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/2pgXWmty/particle_core-0.2.5+1.20.1+forge.jar", + "id": "2pgXWmty", + "parent_id": "RSeLon5O", + "hashes": { + "sha512": "1da3ce936ce34f60ee96aa1faab9fec89f1227152a3c146bbe48a404cb93918f1f8722a6c44afc3eda8a9e4ea6f97a61ad6788da6085aec1816b1c3871e15c9c", + "sha1": "d791c2000b0985bdef906db93b9313319ac47aba" + }, + "required_dependencies": [ + "hYykXjDp", + "ordsPcFz" + ], + "size": 95351, + "date_published": "2024-09-16T22:23:21.437733Z" + }, + { + "type": "curseforge", + "file_name": "particle_core-0.2.5+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5729/965/particle_core-0.2.5+1.20.1+forge.jar", + "id": "5729965", + "parent_id": "985426", + "hashes": { + "sha1": "d791c2000b0985bdef906db93b9313319ac47aba", + "md5": "e8ac337d4436d8b3dfbbb9edf503c338" + }, + "required_dependencies": [ + "351264", + "1005914" + ], + "size": 95351, + "date_published": "2024-09-16T22:23:18.103Z" + } + ] + }, + { + "pakku_id": "nZjo5dxgrxl4zm2b", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "particular-reforged", + "modrinth": "particular-reforged" + }, + "name": { + "curseforge": "Particular ✨ Reforged", + "modrinth": "Particular ✨ Reforged" + }, + "id": { + "curseforge": "1219053", + "modrinth": "pYFUU6cq" + }, + "files": [ + { + "type": "modrinth", + "file_name": "particular-1.20.1-Forge-1.2.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/pYFUU6cq/versions/ZP94L2Nm/particular-1.20.1-Forge-1.2.0.jar", + "id": "ZP94L2Nm", + "parent_id": "pYFUU6cq", + "hashes": { + "sha512": "bf3c9a8e615216177511d2e656f1260c881db3dc2cc3f0f14ac993747e5d90e17092e74ad24a90176291510c6af84e01fc44763c5b30719428954b40b2d7d121", + "sha1": "fa2140c8231137222aad8c69e5276f65ee7b81f2" + }, + "required_dependencies": [], + "size": 413624, + "date_published": "2025-04-04T18:27:56.564062Z" + }, + { + "type": "curseforge", + "file_name": "particular-1.20.1-Forge-1.2.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6384/680/particular-1.20.1-Forge-1.2.0.jar", + "id": "6384680", + "parent_id": "1219053", + "hashes": { + "sha1": "fa2140c8231137222aad8c69e5276f65ee7b81f2", + "md5": "e8130db1cc9236c1d98ba967120f3c7d" + }, + "required_dependencies": [], + "size": 413624, + "date_published": "2025-04-04T17:06:23.443Z" + } + ] + }, { "pakku_id": "p2gtFoMFQckm3agI", "type": "MOD", @@ -7290,7 +9945,7 @@ "files": [ { "type": "modrinth", - "file_name": "Patchouli-1.20.1-84-FORGE.jar", + "file_name": "Patchouli-1.20.1-84.1-FORGE.jar", "mc_versions": [ "1.20.1" ], @@ -7298,20 +9953,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nU0bVIaL/versions/JMtc0mTS/Patchouli-1.20.1-84-FORGE.jar", - "id": "JMtc0mTS", + "url": "https://cdn.modrinth.com/data/nU0bVIaL/versions/8Qyw08ld/Patchouli-1.20.1-84.1-FORGE.jar", + "id": "8Qyw08ld", "parent_id": "nU0bVIaL", "hashes": { - "sha512": "c38eb664bf5a0a9552e01e790b43a60551e2286309042ec2f71c5abd7881975623f0409c49b12db1d74db497e678cd74061d9e8d6b6d4d363cd3747eca8da25d", - "sha1": "b6b7267f3669c10c167d5d375d0274d40e3eb756" + "sha512": "d87143ae5dc979e8d65dd35ff0916077a355c503c4a906bed0d9dbe600ff0602e5296800cbdf2260d47033f664691b54e1b18a1b9835339c4e13d69fc4251f1b", + "sha1": "e91d2e2f251375d647d592b670ea6f310c2554eb" }, "required_dependencies": [], - "size": 642506, - "date_published": "2023-12-18T11:28:39.467781Z" + "size": 642711, + "date_published": "2025-02-06T16:09:49.287555Z" }, { "type": "curseforge", - "file_name": "Patchouli-1.20.1-84-FORGE.jar", + "file_name": "Patchouli-1.20.1-84.1-FORGE.jar", "mc_versions": [ "1.20.1" ], @@ -7319,16 +9974,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4966/125/Patchouli-1.20.1-84-FORGE.jar", - "id": "4966125", + "url": "https://edge.forgecdn.net/files/6164/575/Patchouli-1.20.1-84.1-FORGE.jar", + "id": "6164575", "parent_id": "306770", "hashes": { - "sha1": "b6b7267f3669c10c167d5d375d0274d40e3eb756", - "md5": "64452a4404a2c47a782ba99cb90c3ca0" + "sha1": "e91d2e2f251375d647d592b670ea6f310c2554eb", + "md5": "d5154cacf6859582eebd853bd59f5537" }, "required_dependencies": [], - "size": 642506, - "date_published": "2023-12-18T11:28:42.253Z" + "size": 642711, + "date_published": "2025-02-06T16:09:52.160Z" } ] }, @@ -7415,7 +10070,7 @@ "files": [ { "type": "curseforge", - "file_name": "Placebo-1.20.1-8.6.2.jar", + "file_name": "Placebo-1.20.1-8.6.3.jar", "mc_versions": [ "1.20.1" ], @@ -7424,16 +10079,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5414/631/Placebo-1.20.1-8.6.2.jar", - "id": "5414631", + "url": "https://edge.forgecdn.net/files/6274/231/Placebo-1.20.1-8.6.3.jar", + "id": "6274231", "parent_id": "283644", "hashes": { - "sha1": "dacfb5429e4a7902203e417c78aab6e0d5087255", - "md5": "0b7358e758257452184a3a8f82f60abe" + "sha1": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f", + "md5": "13133ab9989e8474931cd7a86bd19cc5" }, "required_dependencies": [], - "size": 285351, - "date_published": "2024-06-10T07:10:27.317Z" + "size": 282474, + "date_published": "2025-03-07T09:06:06.367Z" } ] }, @@ -7459,7 +10114,7 @@ "files": [ { "type": "modrinth", - "file_name": "PlayerRevive_FORGE_v2.0.27_mc1.20.1.jar", + "file_name": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -7468,18 +10123,18 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ABIMzABM/versions/5qdIMp3y/PlayerRevive_FORGE_v2.0.27_mc1.20.1.jar", - "id": "5qdIMp3y", + "url": "https://cdn.modrinth.com/data/ABIMzABM/versions/fUdn8MeF/PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", + "id": "fUdn8MeF", "parent_id": "ABIMzABM", "hashes": { - "sha512": "6c0c9bc1c856bd8e693801ce4e758a2c2f341c75d0efff914221dcd9e74b5e0c252788c9308757e8135b29f269e2195edad9de66515886d354244f074d3a34a4", - "sha1": "fe335d6680b86aad9ff95e1858b572244b168ff7" + "sha512": "26ec9d4f4ff24a3e708f5485e40149214df76734af90848429bc7cedf397230a8e7b8b11aa21f11e50ea2987c862f09186ecd1b55b7ded31c5c99d661ede686a", + "sha1": "84c039f20b8f048c835c429c2c4a9fd82a5e65f6" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 5297306, - "date_published": "2024-08-20T14:18:49.086200Z" + "size": 5298162, + "date_published": "2025-01-03T12:43:40.830979Z" }, { "type": "curseforge", @@ -7572,6 +10227,82 @@ } ] }, + { + "pakku_id": "pITFJNUBx59dBitK", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "primitive-creatures" + }, + "name": { + "curseforge": "Primitive creatures" + }, + "id": { + "curseforge": "1218288" + }, + "files": [ + { + "type": "curseforge", + "file_name": "primitive_creatures_netherforge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6293/489/primitive_creatures_netherforge-1.20.1.jar", + "id": "6293489", + "parent_id": "1218288", + "hashes": { + "sha1": "2af2dc7e02672eba68d1631fc9a331bebe59b89d", + "md5": "0855701ad11cb7c8430dfcaed6d27a5d" + }, + "required_dependencies": [], + "size": 54387, + "date_published": "2025-03-11T19:35:31.220Z" + } + ] + }, + { + "pakku_id": "jq9QGlgfAvlRlyEk", + "type": "MOD", + "slug": { + "curseforge": "probejs" + }, + "name": { + "curseforge": "ProbeJS" + }, + "id": { + "curseforge": "585406" + }, + "files": [ + { + "type": "curseforge", + "file_name": "probejs-6.0.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5227/399/probejs-6.0.1-forge.jar", + "id": "5227399", + "parent_id": "585406", + "hashes": { + "sha1": "5380211b1c2891f454a136545721526b184d8513", + "md5": "69dfe15b710b9b213feb7eb788ed83a9" + }, + "required_dependencies": [ + "238086" + ], + "size": 2365466, + "date_published": "2024-04-01T14:08:56.003Z" + } + ] + }, { "pakku_id": "IxsPMqjGrMxcFzus", "type": "MOD", @@ -7591,7 +10322,7 @@ "files": [ { "type": "modrinth", - "file_name": "PuzzlesLib-v8.1.23-1.20.1-Forge.jar", + "file_name": "PuzzlesLib-v8.1.29-1.20.1-Forge.jar", "mc_versions": [ "1.20.1" ], @@ -7599,20 +10330,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/QAGBst4M/versions/UlSkomup/PuzzlesLib-v8.1.23-1.20.1-Forge.jar", - "id": "UlSkomup", + "url": "https://cdn.modrinth.com/data/QAGBst4M/versions/pbMkjqgd/PuzzlesLib-v8.1.29-1.20.1-Forge.jar", + "id": "pbMkjqgd", "parent_id": "QAGBst4M", "hashes": { - "sha512": "87e2a8fae68b9861a62cc9385e4e62231a2cac1bfcc26184c75f83f31fada1cbd713ebb9223218175a103d09e50ecaea1620692ec0754602b1cc571138bb6e61", - "sha1": "dac5d9a8dbb0df2c98d4b71aa1f5ab04761ac34f" + "sha512": "75f2d77e61027b0ea2bd60ca2d5f1b6f7d3e860baad1d8f3955c4d33da7715ece5d028d086e9e34f1faa7c402f1159b9c9285a14e43a29565dea916cda983c53", + "sha1": "6d26b564e8fcc2757e63a735530ed22c345f6279" }, "required_dependencies": [], - "size": 1002231, - "date_published": "2024-09-09T17:32:00.597255Z" + "size": 1321050, + "date_published": "2025-03-09T12:14:34.855400Z" }, { "type": "curseforge", - "file_name": "PuzzlesLib-v8.1.23-1.20.1-Forge.jar", + "file_name": "PuzzlesLib-v8.1.29-1.20.1-Forge.jar", "mc_versions": [ "1.20.1" ], @@ -7620,21 +10351,21 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5707/404/PuzzlesLib-v8.1.23-1.20.1-Forge.jar", - "id": "5707404", + "url": "https://edge.forgecdn.net/files/6283/733/PuzzlesLib-v8.1.29-1.20.1-Forge.jar", + "id": "6283733", "parent_id": "495476", "hashes": { - "sha1": "dac5d9a8dbb0df2c98d4b71aa1f5ab04761ac34f", - "md5": "02b46fc0be5c865434ff6023f6a2f094" + "sha1": "6d26b564e8fcc2757e63a735530ed22c345f6279", + "md5": "67ab6af1d19c585fedc9f1e44bf91a4d" }, "required_dependencies": [], - "size": 1002231, - "date_published": "2024-09-09T17:31:55.947Z" + "size": 1321050, + "date_published": "2025-03-09T12:14:28.217Z" } ] }, { - "pakku_id": "6rYXnCX3ULPWuOQf", + "pakku_id": "t219ei5RtSWdWJSs", "type": "MOD", "side": "BOTH", "slug": { @@ -7650,31 +10381,9 @@ "modrinth": "2gvRmQXx" }, "files": [ - { - "type": "modrinth", - "file_name": "radium-mc1.20.1-0.12.3+git.50c5c33.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/2gvRmQXx/versions/NhMILNAm/radium-mc1.20.1-0.12.3+git.50c5c33.jar", - "id": "NhMILNAm", - "parent_id": "2gvRmQXx", - "hashes": { - "sha512": "d6b952904a65a8bdb64796edcccea5bfc0c6cc4da7d5332e089cc7cf9b22969be42296b7e1fe435e8f8f289dba85fc1e8ae7f289adab9eb4efbad04501f860b4", - "sha1": "c498557a39250523a29a40678ae86f1c03d757c0" - }, - "required_dependencies": [], - "size": 712994, - "date_published": "2024-04-02T14:06:36.416132Z" - }, { "type": "curseforge", - "file_name": "radium-mc1.20.1-0.12.3+git.50c5c33.jar", + "file_name": "radium-mc1.20.1-0.12.4+git.26c9d8e.jar", "mc_versions": [ "1.20.1" ], @@ -7683,16 +10392,101 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5229/844/radium-mc1.20.1-0.12.3+git.50c5c33.jar", - "id": "5229844", + "url": "https://edge.forgecdn.net/files/5706/69/radium-mc1.20.1-0.12.4+git.26c9d8e.jar", + "id": "5706069", "parent_id": "570017", "hashes": { - "sha1": "c498557a39250523a29a40678ae86f1c03d757c0", - "md5": "06d9a7528a47a7618aaaad5f26c85794" + "sha1": "f5f5f792473bb7b85ec221f75c5afb3740afb13a", + "md5": "3a46fb58e8ff12213e4dbc909f47a77d" }, "required_dependencies": [], - "size": 712994, - "date_published": "2024-04-02T14:06:34.467Z" + "size": 713454, + "date_published": "2024-09-09T08:07:43.540Z" + }, + { + "type": "modrinth", + "file_name": "radium-mc1.20.1-0.12.4+git.26c9d8e.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2gvRmQXx/versions/n947JjJH/radium-mc1.20.1-0.12.4+git.26c9d8e.jar", + "id": "n947JjJH", + "parent_id": "2gvRmQXx", + "hashes": { + "sha512": "7b59c491d72801257c740626faab8c14ed580db28493c474147341531bca3de5ea822d4042d3786ae619449b6f6ffc1001a1cdc1b9276ec900e57ab17dd8989a", + "sha1": "f5f5f792473bb7b85ec221f75c5afb3740afb13a" + }, + "required_dependencies": [], + "size": 713454, + "date_published": "2024-09-09T08:07:45.955294Z" + } + ] + }, + { + "pakku_id": "8Xy6EP4mZpuTcXQt", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "rainboows", + "modrinth": "rainboows" + }, + "name": { + "curseforge": "Rainbows!", + "modrinth": "Rainbows" + }, + "id": { + "curseforge": "1121832", + "modrinth": "MdWygI5q" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Rainbows-1.20.1-1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6323/743/Rainbows-1.20.1-1.4.jar", + "id": "6323743", + "parent_id": "1121832", + "hashes": { + "sha1": "5eafa465c959b0483fd21daedf7da1a3849b59d1", + "md5": "4935728dbc603e867f3490a05d342e78" + }, + "required_dependencies": [], + "size": 2312766, + "date_published": "2025-03-19T22:42:59.493Z" + }, + { + "type": "modrinth", + "file_name": "Rainbows-1.20.1-1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/MdWygI5q/versions/zCe8Wtfk/Rainbows-1.20.1-1.4.jar", + "id": "zCe8Wtfk", + "parent_id": "MdWygI5q", + "hashes": { + "sha512": "14c7a6b14b88abd354b0d92573343032f3abf4a1ce97faee4fe8b4533e0fa9bd91e61efec392e344a69cc46c837aac3c53587415a41b698f55ea94b65840880c", + "sha1": "5eafa465c959b0483fd21daedf7da1a3849b59d1" + }, + "required_dependencies": [], + "size": 2312766, + "date_published": "2025-03-19T22:44:41.887240Z" } ] }, @@ -7714,7 +10508,7 @@ "files": [ { "type": "curseforge", - "file_name": "recipeessentials-1.20.1-3.6.jar", + "file_name": "recipeessentials-1.20.1-4.0.jar", "mc_versions": [ "1.20.1" ], @@ -7723,18 +10517,138 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5581/360/recipeessentials-1.20.1-3.6.jar", - "id": "5581360", + "url": "https://edge.forgecdn.net/files/6165/709/recipeessentials-1.20.1-4.0.jar", + "id": "6165709", "parent_id": "907856", "hashes": { - "sha1": "65eb0d1447c9e96bac7c8f24fb73998f45c0da14", - "md5": "fbc49bde00072751b93eb071babb9511" + "sha1": "6e50995efefdef6f77f0289200a17ae4c18cde75", + "md5": "570607c1e36e86f2180fdfb960b50dff" }, - "required_dependencies": [ - "326652" + "required_dependencies": [], + "size": 50739, + "date_published": "2025-02-06T22:39:36.930Z" + } + ] + }, + { + "pakku_id": "J5CyvX6hIaMAyzVK", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "resourceful-config", + "modrinth": "resourceful-config" + }, + "name": { + "curseforge": "Resourceful Config", + "modrinth": "Resourceful Config" + }, + "id": { + "curseforge": "714059", + "modrinth": "M1953qlQ" + }, + "files": [ + { + "type": "curseforge", + "file_name": "resourcefulconfig-forge-1.20.1-2.1.3.jar", + "mc_versions": [ + "1.20.1" ], - "size": 52519, - "date_published": "2024-07-30T18:28:00.613Z" + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6231/176/resourcefulconfig-forge-1.20.1-2.1.3.jar", + "id": "6231176", + "parent_id": "714059", + "hashes": { + "sha1": "597d40920dcc935f963842c817dcc4901862ab14", + "md5": "947463b04c043937cd24506842f737a3" + }, + "required_dependencies": [], + "size": 136923, + "date_published": "2025-02-24T20:12:14.590Z" + }, + { + "type": "modrinth", + "file_name": "resourcefulconfig-forge-1.20.1-2.1.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/M1953qlQ/versions/DERs8u7v/resourcefulconfig-forge-1.20.1-2.1.3.jar", + "id": "DERs8u7v", + "parent_id": "M1953qlQ", + "hashes": { + "sha512": "2e05fe27529d00d7808a83dbe0c475a0fb96a20ebfd5c9767f4cc8dcd9a865e20a18de41fb9ed710e5cd2e0211c30303b43c1f22702af1d50ee7212ad83a54d3", + "sha1": "597d40920dcc935f963842c817dcc4901862ab14" + }, + "required_dependencies": [], + "size": 136923, + "date_published": "2025-02-24T20:12:39.956555Z" + } + ] + }, + { + "pakku_id": "cxgo5IyMJwtpohRH", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "resourceful-lib", + "modrinth": "resourceful-lib" + }, + "name": { + "curseforge": "Resourceful Lib", + "modrinth": "Resourceful Lib" + }, + "id": { + "curseforge": "570073", + "modrinth": "G1hIVOrD" + }, + "files": [ + { + "type": "curseforge", + "file_name": "resourcefullib-forge-1.20.1-2.1.29.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5659/871/resourcefullib-forge-1.20.1-2.1.29.jar", + "id": "5659871", + "parent_id": "570073", + "hashes": { + "sha1": "6fc590a7c56a720fec57e290cbb0a106efbb3ffa", + "md5": "a040c6cc86f653fddf280ff3af9068f0" + }, + "required_dependencies": [], + "size": 432753, + "date_published": "2024-08-24T19:45:21Z" + }, + { + "type": "modrinth", + "file_name": "resourcefullib-forge-1.20.1-2.1.29.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/G1hIVOrD/versions/OhsHaCcW/resourcefullib-forge-1.20.1-2.1.29.jar", + "id": "OhsHaCcW", + "parent_id": "G1hIVOrD", + "hashes": { + "sha512": "8dbe951d431545a7d18081a8b11a52a248e6d8ff9862ae6462b0f5a6f57ff523af12704c3adb071ae99a7c5c1dd895bd7875dea59f9c4956c1597a668b6e8820", + "sha1": "6fc590a7c56a720fec57e290cbb0a106efbb3ffa" + }, + "required_dependencies": [], + "size": 432753, + "date_published": "2024-08-24T19:45:23.325509Z" } ] }, @@ -7757,7 +10671,7 @@ "files": [ { "type": "modrinth", - "file_name": "rhino-forge-2001.2.2-build.18.jar", + "file_name": "rhino-forge-2001.2.3-build.6.jar", "mc_versions": [ "1.20.1" ], @@ -7765,16 +10679,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/sk9knFPE/versions/w5HiejeN/rhino-forge-2001.2.2-build.18.jar", - "id": "w5HiejeN", + "url": "https://cdn.modrinth.com/data/sk9knFPE/versions/maCpsT70/rhino-forge-2001.2.3-build.6.jar", + "id": "maCpsT70", "parent_id": "sk9knFPE", "hashes": { - "sha512": "1fd5f5667e0f078797112df7ae5f300d2fed2c992fdfd0818569e9286d9bdf6c311cf722cbef542a9ecd78577dde5f88e3cfaa48824d0d75bfede9fd4e1be18e", - "sha1": "0a631b4e8235a777d08bd53d4f49dba388205cad" + "sha512": "5e9f06561b776c472848d0f44461ad4daef64b08db9734ced785fede6198748f785f7ca721f806cf118c995bc43b2807e138845962b43fa2d91d97d972237341", + "sha1": "0c91c1710d7338f139b7cb3465f00590e210139e" }, "required_dependencies": [], - "size": 1782275, - "date_published": "2023-12-09T21:19:50.854557Z" + "size": 1796600, + "date_published": "2024-08-23T12:53:19.932888Z" }, { "type": "curseforge", @@ -7799,6 +10713,79 @@ } ] }, + { + "pakku_id": "0S1ClgnxBj34qrW2", + "pakku_links": [ + "p2gtFoMFQckm3agI", + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "roads-and-roofs-tfc", + "modrinth": "roads-and-roofs-tfc" + }, + "name": { + "curseforge": "Roads and Roofs TFC", + "modrinth": "Roads and Roofs TFC" + }, + "id": { + "curseforge": "1048212", + "modrinth": "ca9X1Phr" + }, + "files": [ + { + "type": "curseforge", + "file_name": "rnr-0.2.1-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5852/507/rnr-0.2.1-1.20.1.jar", + "id": "5852507", + "parent_id": "1048212", + "hashes": { + "sha1": "046e086b2d4861fbc74bbeb18031102d09622197", + "md5": "451fe8a1c496f44d20d73bfb4cb51a57" + }, + "required_dependencies": [ + "306770", + "302973" + ], + "size": 3557362, + "date_published": "2024-10-27T23:10:58.567Z" + }, + { + "type": "modrinth", + "file_name": "rnr-0.2.1-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ca9X1Phr/versions/msv0XMkD/rnr-0.2.1-1.20.1.jar", + "id": "msv0XMkD", + "parent_id": "ca9X1Phr", + "hashes": { + "sha512": "e0f7b50c0da47f449fe03427859a1a33d0b8bef59a676b7ac88f518c99a0a6f02b255b576716c0d5d3a7810bd48e8cc9d74d4f9ed8e519485949c6e2ff8e469a", + "sha1": "046e086b2d4861fbc74bbeb18031102d09622197" + }, + "required_dependencies": [ + "nU0bVIaL", + "JaCEZUhg" + ], + "size": 3557362, + "date_published": "2024-10-27T23:13:57.176874Z" + } + ] + }, { "pakku_id": "EDnRsOgCRyTTbCNH", "type": "MOD", @@ -7897,79 +10884,6 @@ } ] }, - { - "pakku_id": "8nSOthb7P7uv3HgJ", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "shimmer", - "modrinth": "shimmer!" - }, - "name": { - "curseforge": "Shimmer", - "modrinth": "Shimmer" - }, - "id": { - "curseforge": "627824", - "modrinth": "uBKACKpl" - }, - "files": [ - { - "type": "modrinth", - "file_name": "Shimmer-forge-1.20.1-0.2.4.jar", - "mc_versions": [ - "1.20", - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4", - "1.20.5", - "1.20.6" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/uBKACKpl/versions/za2dJzYV/Shimmer-forge-1.20.1-0.2.4.jar", - "id": "za2dJzYV", - "parent_id": "uBKACKpl", - "hashes": { - "sha512": "c67b5bac7e981345818b196ea24cd367d42b3329108ad5aca1c33648c0527572785728de526b905f0ae779e38dd476a0846041f02dfb64a844f632986f8709ab", - "sha1": "6e51070337e954de2843e44fc8810e22325c2e55" - }, - "required_dependencies": [], - "size": 918461, - "date_published": "2024-09-02T10:16:13.974241Z" - }, - { - "type": "curseforge", - "file_name": "Shimmer-forge-1.20.1-0.2.4.jar", - "mc_versions": [ - "1.20.2", - "1.20.5", - "1.20.3", - "1.20.1", - "1.20", - "1.20.6", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5685/940/Shimmer-forge-1.20.1-0.2.4.jar", - "id": "5685940", - "parent_id": "627824", - "hashes": { - "sha1": "6e51070337e954de2843e44fc8810e22325c2e55", - "md5": "6c2332b82b6bd2e44cf9fc86e1c3bc66" - }, - "required_dependencies": [], - "size": 918461, - "date_published": "2024-09-02T10:16:12.170Z" - } - ] - }, { "pakku_id": "3wLGdl5QOJNVEgeg", "type": "MOD", @@ -8067,81 +10981,47 @@ } ] }, - { - "pakku_id": "q1ATRLHMMw6nzXEE", - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "smooth-boot-reloaded", - "modrinth": "smooth-boot-reloaded" - }, - "name": { - "curseforge": "Smooth Boot (Reloaded)", - "modrinth": "Smooth Boot (Reloaded)" - }, - "id": { - "curseforge": "633412", - "modrinth": "z53V2L4P" - }, - "files": [ - { - "type": "modrinth", - "file_name": "smoothboot(reloaded)-mc1.20.1-0.0.4.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/z53V2L4P/versions/HkfL3iGO/smoothboot(reloaded)-mc1.20.1-0.0.4.jar", - "id": "HkfL3iGO", - "parent_id": "z53V2L4P", - "hashes": { - "sha512": "1cf706491339f3efae0d48d0dd596f27a74fcfa8e94008d7ef55e18be8c6f3c437bb74020e48910e1cc724ad35894bffce94788fe8f765c37048d4cc532ba261", - "sha1": "3fd79132dba444bd109b5de4ad75dee06a48e130" - }, - "required_dependencies": [], - "size": 41044, - "date_published": "2024-01-08T01:33:07.890390Z" - }, - { - "type": "curseforge", - "file_name": "smoothboot(reloaded)-mc1.20.1-0.0.4.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5016/280/smoothboot(reloaded)-mc1.20.1-0.0.4.jar", - "id": "5016280", - "parent_id": "633412", - "hashes": { - "sha1": "3fd79132dba444bd109b5de4ad75dee06a48e130", - "md5": "c8cd5ae14d99796fd92c95a353e96211" - }, - "required_dependencies": [], - "size": 41044, - "date_published": "2024-01-08T01:30:52.480Z" - } - ] - }, { "pakku_id": "mPWICCEoWgyvHKRu", "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "dynamiclights-reforged" + "curseforge": "dynamiclights-reforged", + "modrinth": "sodium-dynamic-lights" }, "name": { - "curseforge": "Sodium/Embeddium Dynamic Lights" + "curseforge": "Sodium/Embeddium Dynamic Lights", + "modrinth": "Sodium Dynamic Lights" }, "id": { - "curseforge": "551736" + "curseforge": "551736", + "modrinth": "PxQSWIcD" }, "files": [ + { + "type": "modrinth", + "file_name": "sodiumdynamiclights-forge-1.0.10-1.20.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/PxQSWIcD/versions/I156ee3A/sodiumdynamiclights-forge-1.0.10-1.20.1.jar", + "id": "I156ee3A", + "parent_id": "PxQSWIcD", + "hashes": { + "sha512": "b8527199be5a8b4bc758a4f320586b5886e6ff657718f52d464386b1e3c695d7bfe644e2ef9487a869c93c0866818995ecd47b9e1a19054929242682e37f58b7", + "sha1": "d27524e85bed0f0af83c03be46f9ca3eb02a1be9" + }, + "required_dependencies": [ + "Es5v4eyq" + ], + "size": 511601, + "date_published": "2025-01-02T01:22:44.551718Z" + }, { "type": "curseforge", "file_name": "dynamiclightsreforged-1.20.1_v1.6.0.jar", @@ -8166,6 +11046,149 @@ } ] }, + { + "pakku_id": "y1Ztb0r0w1S1vAwg", + "pakku_links": [ + "t1tp4uchU5FgbL7A", + "PGG5IiciynuRNWMz" + ], + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "magnesium-extras", + "modrinth": "sodium-extras" + }, + "name": { + "curseforge": "Sodium/Embeddium Extras", + "modrinth": "Sodium Extras" + }, + "id": { + "curseforge": "558905", + "modrinth": "vqqx0QiE" + }, + "files": [ + { + "type": "modrinth", + "file_name": "sodiumextras-forge-1.0.7-1.20.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vqqx0QiE/versions/VNFB2Vgv/sodiumextras-forge-1.0.7-1.20.1.jar", + "id": "VNFB2Vgv", + "parent_id": "vqqx0QiE", + "hashes": { + "sha512": "47f298943079eb6b8f5222cbb093fec0c29c86a6f68e8000545059d64ff5c4cbf76fa774565a0d4d89d1fb0a278b62292f7619fb818e4fdfd9f01a637e7fcbfb", + "sha1": "7603f44bc4750774fbbdc07a3153c391650fcf3d" + }, + "required_dependencies": [ + "Es5v4eyq", + "sk9rgfiA" + ], + "size": 438540, + "date_published": "2025-01-01T04:39:15.567585Z" + }, + { + "type": "curseforge", + "file_name": "sodiumextras-forge-1.0.7-1.20.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6041/697/sodiumextras-forge-1.0.7-1.20.1.jar", + "id": "6041697", + "parent_id": "558905", + "hashes": { + "sha1": "7603f44bc4750774fbbdc07a3153c391650fcf3d", + "md5": "823adea3bcfd64dbdbaec46950cf4108" + }, + "required_dependencies": [ + "1103431", + "908741" + ], + "size": 438540, + "date_published": "2025-01-01T04:39:13.763Z" + } + ] + }, + { + "pakku_id": "t1tp4uchU5FgbL7A", + "pakku_links": [ + "PGG5IiciynuRNWMz" + ], + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "sodium-options-api", + "modrinth": "sodium-options-api" + }, + "name": { + "curseforge": "Sodium/Embeddium Options API", + "modrinth": "Sodium Options API" + }, + "id": { + "curseforge": "1103431", + "modrinth": "Es5v4eyq" + }, + "files": [ + { + "type": "modrinth", + "file_name": "sodiumoptionsapi-forge-1.0.10-1.20.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Es5v4eyq/versions/d0EFLitO/sodiumoptionsapi-forge-1.0.10-1.20.1.jar", + "id": "d0EFLitO", + "parent_id": "Es5v4eyq", + "hashes": { + "sha512": "20b11f1582df3df3d351e0cffcfc8b97453e2d73164fbad46d3f4eb960cab57d8f708d84b818782ef019d5cd9494ce001161f753623680516a191d6f510ebb79", + "sha1": "7529fbf938787ed13a251cbf40936f8c29ec4b6c" + }, + "required_dependencies": [ + "sk9rgfiA" + ], + "size": 443978, + "date_published": "2025-01-18T20:48:20.566320Z" + }, + { + "type": "curseforge", + "file_name": "sodiumoptionsapi-forge-1.0.10-1.20.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6100/812/sodiumoptionsapi-forge-1.0.10-1.20.1.jar", + "id": "6100812", + "parent_id": "1103431", + "hashes": { + "sha1": "7529fbf938787ed13a251cbf40936f8c29ec4b6c", + "md5": "75807590ae2648ecdeb855705868ce59" + }, + "required_dependencies": [ + "908741" + ], + "size": 443978, + "date_published": "2025-01-18T20:48:18.013Z" + } + ] + }, { "pakku_id": "oJGHQ159WfLFe4FX", "type": "MOD", @@ -8181,7 +11204,7 @@ "files": [ { "type": "curseforge", - "file_name": "sophisticatedbackpacks-1.20.1-3.20.5.1044.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.23.6.1211.jar", "mc_versions": [ "1.20.1" ], @@ -8190,18 +11213,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5296/475/sophisticatedbackpacks-1.20.1-3.20.5.1044.jar", - "id": "5296475", + "url": "https://edge.forgecdn.net/files/6303/388/sophisticatedbackpacks-1.20.1-3.23.6.1211.jar", + "id": "6303388", "parent_id": "422301", "hashes": { - "sha1": "82e97629d2383d87d65f6684c6270c438f95156b", - "md5": "1cb86d978ee8780206de685497d1faf0" + "sha1": "10e7979236c1fac796c172ce14016b03c2b6ff8e", + "md5": "848e20a3094e77d5263464fe7c82ab8a" }, "required_dependencies": [ "618298" ], - "size": 851750, - "date_published": "2024-04-27T20:58:03.903Z" + "size": 897034, + "date_published": "2025-03-14T15:01:13.337Z" } ] }, @@ -8220,7 +11243,7 @@ "files": [ { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-0.6.22.611.jar", + "file_name": "sophisticatedcore-1.20.1-1.2.23.902.jar", "mc_versions": [ "1.20.1" ], @@ -8229,16 +11252,116 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5326/245/sophisticatedcore-1.20.1-0.6.22.611.jar", - "id": "5326245", + "url": "https://edge.forgecdn.net/files/6317/48/sophisticatedcore-1.20.1-1.2.23.902.jar", + "id": "6317048", "parent_id": "618298", "hashes": { - "sha1": "f2f9639f50d04fa4f6ae7a2e972428f40a8f80d4", - "md5": "3569d694bccc0e8e35ab7707b4baf0b1" + "sha1": "382432e5e2f6c8eb1212ef7cfbee4eb8ef5fa323", + "md5": "dff2aaa24facbad483eac3582f1966ae" }, "required_dependencies": [], - "size": 1080551, - "date_published": "2024-05-08T09:36:29.750Z" + "size": 1170980, + "date_published": "2025-03-17T21:45:08.283Z" + } + ] + }, + { + "pakku_id": "miNW6LK45leMJEgY", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "sound-physics-remastered" + }, + "name": { + "curseforge": "Sound Physics Remastered" + }, + "id": { + "curseforge": "535489" + }, + "files": [ + { + "type": "curseforge", + "file_name": "sound-physics-remastered-forge-1.20.1-1.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/5525/256/sound-physics-remastered-forge-1.20.1-1.4.5.jar", + "id": "5525256", + "parent_id": "535489", + "hashes": { + "sha1": "c524ea87f02a23b1b08aa4c43322ec018db90fd2", + "md5": "e819065ae0a3d034c7804e2b2e16a45f" + }, + "required_dependencies": [], + "size": 196564, + "date_published": "2024-07-12T07:23:56.583Z" + } + ] + }, + { + "pakku_id": "cKIMFUo1WXYa0CYj", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "starlight-forge", + "modrinth": "starlight-forge" + }, + "name": { + "curseforge": "Starlight (Forge)", + "modrinth": "Starlight (Forge)" + }, + "id": { + "curseforge": "526854", + "modrinth": "iRfIGC1s" + }, + "files": [ + { + "type": "modrinth", + "file_name": "starlight-1.1.2+forge.1cda73c.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/iRfIGC1s/versions/cNa0vkNj/starlight-1.1.2+forge.1cda73c.jar", + "id": "cNa0vkNj", + "parent_id": "iRfIGC1s", + "hashes": { + "sha512": "cc89c6b2dd0db709586028c7732a57a3e6184f19cc2b98b25964c720c3ab434031e62de23e0dab022575d637b5e4a34b5813164d32ec356d56588da400e7d026", + "sha1": "a915880c7834a0b0f9f300f0e3053deaa9a3205a" + }, + "required_dependencies": [], + "size": 110583, + "date_published": "2023-07-08T06:10:54.244596Z" + }, + { + "type": "curseforge", + "file_name": "starlight-1.1.2+forge.1cda73c.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4631/193/starlight-1.1.2+forge.1cda73c.jar", + "id": "4631193", + "parent_id": "526854", + "hashes": { + "sha1": "a915880c7834a0b0f9f300f0e3053deaa9a3205a", + "md5": "da99a054428fb62342b6767b993c4c8d" + }, + "required_dependencies": [], + "size": 110583, + "date_published": "2023-07-08T06:07:12.477Z" } ] }, @@ -8326,7 +11449,7 @@ "files": [ { "type": "modrinth", - "file_name": "supermartijn642corelib-1.1.17-forge-mc1.20.1.jar", + "file_name": "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", "mc_versions": [ "1.20", "1.20.1" @@ -8335,16 +11458,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/rOUBggPv/versions/U92Le4sE/supermartijn642corelib-1.1.17-forge-mc1.20.1.jar", - "id": "U92Le4sE", + "url": "https://cdn.modrinth.com/data/rOUBggPv/versions/VWJoqHin/supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", + "id": "VWJoqHin", "parent_id": "rOUBggPv", "hashes": { - "sha512": "d4cc6078747748e6bfb2e11e52b8ba355a30ffec48ec6d5265277e6776852e8986b9967cb3838496b43412417cdd6bb44092b91a372fac4e863915cc16ff4bf7", - "sha1": "f2c3d1aa0bef8663700b9438f789c15cfd72137d" + "sha512": "dedde27b0e1cd24c006c840bf4d0028689670f1fe9cbde16134e7c08cce58a88f431b39346b7a6847348cafec09638b2c14b2e6dcb4c14a23127e90c5ba9d362", + "sha1": "d37e1148b512c67cee704635b4f07d1f9ea8c31c" }, "required_dependencies": [], - "size": 512069, - "date_published": "2024-02-12T16:19:02.382481Z" + "size": 515362, + "date_published": "2024-12-29T22:15:09.734450Z" }, { "type": "curseforge", @@ -8385,7 +11508,7 @@ "files": [ { "type": "curseforge", - "file_name": "TFCAgedAlcohol-1.20.1-2.1.jar", + "file_name": "TFCAgedAlcohol-1.20.1-2.2.jar", "mc_versions": [ "1.20.1" ], @@ -8394,16 +11517,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5331/987/TFCAgedAlcohol-1.20.1-2.1.jar", - "id": "5331987", + "url": "https://edge.forgecdn.net/files/6299/84/TFCAgedAlcohol-1.20.1-2.2.jar", + "id": "6299084", "parent_id": "880532", "hashes": { - "sha1": "ac56bb698222c9e9e4a65bb71816f9d7e38cc94f", - "md5": "362920e737165ea7bff4851fc6ce60e8" + "sha1": "0f9389d1fc476e8071bf342703dbb9211a310934", + "md5": "92066762e266e7abacf6798fbe0de446" }, "required_dependencies": [], - "size": 43121, - "date_published": "2024-05-10T06:47:04.697Z" + "size": 43968, + "date_published": "2025-03-13T08:07:55.920Z" } ] }, @@ -8424,6 +11547,28 @@ "modrinth": "K7eNiRnX" }, "files": [ + { + "type": "curseforge", + "file_name": "tfcambiental-1.20.1-3.3.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5655/440/tfcambiental-1.20.1-3.3.1.jar", + "id": "5655440", + "parent_id": "940350", + "hashes": { + "sha1": "0837547febfc05c18e224fd8b3f9ed4eef8eb9de", + "md5": "f057f8e13adacf35c50ae52cf312ee38" + }, + "required_dependencies": [], + "size": 640068, + "date_published": "2024-08-23T09:41:25.543Z" + }, { "type": "modrinth", "file_name": "tfcambiental-1.20.1-3.3.0.jar", @@ -8445,28 +11590,85 @@ "required_dependencies": [], "size": 640033, "date_published": "2024-05-05T01:41:06.190734Z" - }, + } + ] + }, + { + "pakku_id": "4WwQ11qPky8VtFcw", + "pakku_links": [ + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "slug": { + "curseforge": "tfc-better-blast-furnace" + }, + "name": { + "curseforge": "TFC Better Blast Furnace" + }, + "id": { + "curseforge": "1046432" + }, + "files": [ { "type": "curseforge", - "file_name": "tfcambiental-1.20.1-3.3.0.jar", + "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.0.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5313/702/tfcambiental-1.20.1-3.3.0.jar", - "id": "5313702", - "parent_id": "940350", + "url": "https://edge.forgecdn.net/files/5461/10/TFCBetterBlastFurnace-1.20.1-1.0.0.jar", + "id": "5461010", + "parent_id": "1046432", "hashes": { - "sha1": "e1bc92959d8cbfb1d8f16dc124a14a0709d6aba6", - "md5": "e3a22bddd9fc54081ac5a9ca6bdf1cc7" + "sha1": "91dbfe3c3e7e7fc9ffb126d879c1507e8c2f8b82", + "md5": "4faf2e4c9ac0af08b6d5e9abca4c411d" }, - "required_dependencies": [], - "size": 640033, - "date_published": "2024-05-03T21:24:47.150Z" + "required_dependencies": [ + "302973" + ], + "size": 21088, + "date_published": "2024-06-23T02:44:03.777Z" + } + ] + }, + { + "pakku_id": "Gq0f388dnqOU5Dnz", + "type": "MOD", + "slug": { + "curseforge": "tfc-canes" + }, + "name": { + "curseforge": "TFC Canes" + }, + "id": { + "curseforge": "920202" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfccanes-2.1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6151/996/tfccanes-2.1.1.jar", + "id": "6151996", + "parent_id": "920202", + "hashes": { + "sha1": "cf123ce35609e87cc86c9440c45faade0af9a794", + "md5": "4f3444f71cf383bae0cfb82fdc81a4c2" + }, + "required_dependencies": [ + "302973" + ], + "size": 41732, + "date_published": "2025-02-02T23:12:33.890Z" } ] }, @@ -8577,7 +11779,7 @@ ] }, { - "pakku_id": "WVOeCkJ3nvHIQsZM", + "pakku_id": "zerUE7n4nmHdsmgn", "pakku_links": [ "F6H99cZ4H6jZRpEK" ], @@ -8594,43 +11796,70 @@ "files": [ { "type": "curseforge", - "file_name": "tfcgroomer-1.20.1-0.1.2.jar", + "file_name": "tfcgroomer-1.20.1-0.1.4.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5310/649/tfcgroomer-1.20.1-0.1.2.jar", - "id": "5310649", + "url": "https://edge.forgecdn.net/files/6118/92/tfcgroomer-1.20.1-0.1.4.jar", + "id": "6118092", "parent_id": "1003785", "hashes": { - "sha1": "ef570fe48803f1ba909551af94ba1bac7115a3db", - "md5": "1b83aada0e4d6be456fcd8429b1cdbdf" + "sha1": "e1bb7e932f900cee6be0bf5faf3fc77111488865", + "md5": "e4f19ca0413c9716cb86a3b50ae27a36" }, "required_dependencies": [ "302973" ], - "size": 133729, - "date_published": "2024-05-02T17:45:38.490Z" + "size": 134178, + "date_published": "2025-01-23T23:02:18.440Z" } ] }, { "pakku_id": "jTFJiriG6OqMgTuz", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "tfc-hot-or-not" + "curseforge": "tfc-hot-or-not", + "modrinth": "tfc-hot-or-not" }, "name": { - "curseforge": "TFC Hot or Not" + "curseforge": "TFC Hot or Not", + "modrinth": "TFC Hot or Not" }, "id": { - "curseforge": "499096" + "curseforge": "499096", + "modrinth": "6fOyWxrE" }, "files": [ + { + "type": "modrinth", + "file_name": "TFCHotOrNot-1.20.1-1.0.13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/6fOyWxrE/versions/5c1Fc17J/TFCHotOrNot-1.20.1-1.0.13.jar", + "id": "5c1Fc17J", + "parent_id": "6fOyWxrE", + "hashes": { + "sha512": "1f1360cabdd509a6aab65c4d3be822adeb45315553293cc80e5d1c77f444dc9e38fd904252c6ef9f60b80ec550792d4b9197c973ebb9ec459c5ba3dd946e0aeb", + "sha1": "383507ce61eaa1fe9368915536de8b3685517728" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 464173, + "date_published": "2025-01-02T23:13:30.140364Z" + }, { "type": "curseforge", "file_name": "TFCHotOrNot-1.20.1-1.0.4.jar", @@ -8655,6 +11884,222 @@ } ] }, + { + "pakku_id": "zHw7MU6hf4vk0c3q", + "pakku_links": [ + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tfc-improved-badlands", + "modrinth": "tfc-improved-badlands" + }, + "name": { + "curseforge": "TFC Improved Badlands", + "modrinth": "TFC Improved Badlands" + }, + "id": { + "curseforge": "969207", + "modrinth": "kzX1pnV3" + }, + "files": [ + { + "type": "curseforge", + "file_name": "TFCImprovedBadlands-1.20.1-1.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5126/426/TFCImprovedBadlands-1.20.1-1.0.2.jar", + "id": "5126426", + "parent_id": "969207", + "hashes": { + "sha1": "021052fcfdd3b51ec5c0b3e46974ecdfd641a0c8", + "md5": "83ac19f6d7ef4ee1d620033845068b0d" + }, + "required_dependencies": [ + "302973" + ], + "size": 1750888, + "date_published": "2024-02-21T21:42:51.753Z" + }, + { + "type": "modrinth", + "file_name": "TFCImprovedBadlands-1.20.1-1.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/kzX1pnV3/versions/t1JS5Yoc/TFCImprovedBadlands-1.20.1-1.0.2.jar", + "id": "t1JS5Yoc", + "parent_id": "kzX1pnV3", + "hashes": { + "sha512": "d92d7560bb93c5bd69fbfbf636cbe22fd966297cd4c5f900235ae8ff1924a1b1fff916f8e4a40c22c0785f4ef56248a9d5a87e10280e5ab2e0531e82a4205da3", + "sha1": "021052fcfdd3b51ec5c0b3e46974ecdfd641a0c8" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 1750888, + "date_published": "2024-08-28T13:19:49.057361Z" + } + ] + }, + { + "pakku_id": "LdCEmxAyaiJBsONh", + "pakku_links": [ + "7QIRhUwYRTKZoPpd", + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "tfc-support-indicator", + "modrinth": "tfc-support-indicator" + }, + "name": { + "curseforge": "TFC Support Indicator", + "modrinth": "TFC Support Indicator" + }, + "id": { + "curseforge": "1195624", + "modrinth": "RL8eBaUL" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfc_support_indicator-1.0.3+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6168/474/tfc_support_indicator-1.0.3+mc1.20.1.jar", + "id": "6168474", + "parent_id": "1195624", + "hashes": { + "sha1": "2cc053dc89943471f171d3473af9a0ee50c7a16b", + "md5": "8425469218a0a4f2871d7ae8748cf9af" + }, + "required_dependencies": [], + "size": 6997, + "date_published": "2025-02-07T19:27:13.010Z" + }, + { + "type": "modrinth", + "file_name": "tfc_support_indicator-1.0.3+mc1.20.1.jar", + "mc_versions": [ + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4", + "1.20.5", + "1.20.6" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/RL8eBaUL/versions/jeOTOlLX/tfc_support_indicator-1.0.3+mc1.20.1.jar", + "id": "jeOTOlLX", + "parent_id": "RL8eBaUL", + "hashes": { + "sha512": "70a0193b3c95e06070dd645282acda97adae68ddda39f206e81df212ef964105b22a4c851af03b74044ac7985c7c51fa40df34e2dc08e95875b0747d1f45aefb", + "sha1": "0d0001517a6a4246f1b9d968bf5672ecbfdc9596" + }, + "required_dependencies": [ + "nvQzSEkH", + "JaCEZUhg" + ], + "size": 6993, + "date_published": "2024-08-24T01:04:21.236370Z" + } + ] + }, + { + "pakku_id": "kSdjRVVlNT7JZpt4", + "pakku_links": [ + "Wp4bimC12ZfUWRDW", + "4gtgWhFu0zLNFoiE", + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tfc-textile", + "modrinth": "tfc-textile" + }, + "name": { + "curseforge": "TFC Textile (Legacy)", + "modrinth": "TFC Textile (Legacy)" + }, + "id": { + "curseforge": "1085858", + "modrinth": "23aEXYED" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfc_textile-1.0.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5761/738/tfc_textile-1.0.5.jar", + "id": "5761738", + "parent_id": "1085858", + "hashes": { + "sha1": "0f68aff31c58bcfd12306218766d24022d6e78db", + "md5": "c4c9325e6e844d7285b0bf58707531bd" + }, + "required_dependencies": [ + "309927", + "940350", + "302973" + ], + "size": 198232, + "date_published": "2024-09-27T14:03:11.930Z" + }, + { + "type": "modrinth", + "file_name": "tfc_textile-1.0.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/23aEXYED/versions/wGgJ8Tae/tfc_textile-1.0.5.jar", + "id": "wGgJ8Tae", + "parent_id": "23aEXYED", + "hashes": { + "sha512": "2aa299b98fca1aef27334b23f68d58085e3d02be1650e68656e9313480bc76038685a4aaa3938bd20c59b49898d1ec992d02ede026a2e6f8fb2fe27985ae259e", + "sha1": "0f68aff31c58bcfd12306218766d24022d6e78db" + }, + "required_dependencies": [ + "K7eNiRnX", + "JaCEZUhg" + ], + "size": 198232, + "date_published": "2024-09-27T14:02:59.003826Z" + } + ] + }, { "pakku_id": "NPCQvjl7kGbWfW8M", "type": "MOD", @@ -8790,7 +12235,7 @@ ] }, { - "pakku_id": "jo3K9IPap32RKmxd", + "pakku_id": "oaoeEdbSj5ORArf6", "type": "MOD", "slug": { "curseforge": "water-flasks" @@ -8804,7 +12249,7 @@ "files": [ { "type": "curseforge", - "file_name": "waterflasks-3.0.3.jar", + "file_name": "waterflasks-3.0.7.jar", "mc_versions": [ "1.20.1" ], @@ -8813,16 +12258,187 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5666/352/waterflasks-3.0.3.jar", - "id": "5666352", + "url": "https://edge.forgecdn.net/files/6266/243/waterflasks-3.0.7.jar", + "id": "6266243", "parent_id": "354353", "hashes": { - "sha1": "2464553c4bf78e26b6a4ae6487aa0c94cd845d89", - "md5": "81b481ecd103fb8c74a7491d76d2133a" + "sha1": "57cd23920fb85e238e992db9f2366505ea21bb8f", + "md5": "901152da87c0f070527be57d59450d5c" }, "required_dependencies": [], - "size": 824370, - "date_published": "2024-08-26T20:11:30.380Z" + "size": 939048, + "date_published": "2025-03-05T06:32:45.680Z" + } + ] + }, + { + "pakku_id": "NxCxarl6bfWK2iHq", + "pakku_links": [ + "F6H99cZ4H6jZRpEK" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tfc-weld-button", + "modrinth": "tfc-weld-button" + }, + "name": { + "curseforge": "TFC Weld Button", + "modrinth": "TFC Weld Button" + }, + "id": { + "curseforge": "1093683", + "modrinth": "K9CZ9PGx" + }, + "files": [ + { + "type": "curseforge", + "file_name": "TFCWeldButton-1.20.1-1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5949/292/TFCWeldButton-1.20.1-1.1.jar", + "id": "5949292", + "parent_id": "1093683", + "hashes": { + "sha1": "dda1ccb3f998e85de186c84162bf437f2e800031", + "md5": "d341471a87dafd87de25010d2dbe32e9" + }, + "required_dependencies": [], + "size": 12642, + "date_published": "2024-11-30T06:12:27.997Z" + }, + { + "type": "modrinth", + "file_name": "TFCWeldButton-1.20.1-1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/K9CZ9PGx/versions/dtoFhsbX/TFCWeldButton-1.20.1-1.1.jar", + "id": "dtoFhsbX", + "parent_id": "K9CZ9PGx", + "hashes": { + "sha512": "f10676722090db19f4af693949ad0891d26b5c4d2189fdb6536958875a57ea2cbb150634d68debc62ec407c32a8ce58a736f00ecfea03db5152d69cce25fe67d", + "sha1": "dda1ccb3f998e85de186c84162bf437f2e800031" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 12642, + "date_published": "2024-11-30T06:12:46.284611Z" + } + ] + }, + { + "pakku_id": "dekuvzHdT1ui6FYW", + "type": "MOD", + "slug": { + "curseforge": "tfc-ruined-world" + }, + "name": { + "curseforge": "TFC ruined world" + }, + "id": { + "curseforge": "1129845" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfcstructuremodc-0.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6019/462/tfcstructuremodc-0.0.4.jar", + "id": "6019462", + "parent_id": "1129845", + "hashes": { + "sha1": "30cdc7fb5e39545feaeb5f09b6fb4ccaf09aec14", + "md5": "089b14cb12bf40bab1b23fa456e1569a" + }, + "required_dependencies": [], + "size": 117927, + "date_published": "2024-12-24T12:24:46.710Z" + } + ] + }, + { + "pakku_id": "xiwzCRvkCtCl2GLq", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "tfcgenviewer", + "modrinth": "tfcgenviewer" + }, + "name": { + "curseforge": "TFCGenViewer", + "modrinth": "TFCGenViewer" + }, + "id": { + "curseforge": "1062270", + "modrinth": "yp9Ot3YC" + }, + "files": [ + { + "type": "modrinth", + "file_name": "tfcgenviewer-1.20.1-1.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/yp9Ot3YC/versions/nLcjWGDP/tfcgenviewer-1.20.1-1.4.1.jar", + "id": "nLcjWGDP", + "parent_id": "yp9Ot3YC", + "hashes": { + "sha512": "f9c1bb568329833b369cf2c2b0a3bafb7a75787919b4a736d997e7a51793115f7e4f24002bf59ee51957d7fe483733727bee904b0f09d3ae403f94e6dc0faa06", + "sha1": "9ed2b9125f46c79043912d695f710b9bdb0f68a9" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 257671, + "date_published": "2024-12-15T22:52:40.048230Z" + }, + { + "type": "curseforge", + "file_name": "tfcgenviewer-1.20.1-1.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5994/665/tfcgenviewer-1.20.1-1.4.1.jar", + "id": "5994665", + "parent_id": "1062270", + "hashes": { + "sha1": "9ed2b9125f46c79043912d695f710b9bdb0f68a9", + "md5": "c70f5f54411d6879b318bc1420189694" + }, + "required_dependencies": [ + "302973" + ], + "size": 257671, + "date_published": "2024-12-15T22:53:39.760Z" } ] }, @@ -8845,7 +12461,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.12.jar", + "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.14.jar", "mc_versions": [ "1.20.1" ], @@ -8854,22 +12470,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/HXHhJbc4/TerraFirmaCraft-Forge-1.20.1-3.2.12.jar", - "id": "HXHhJbc4", + "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/YO1EaEWV/TerraFirmaCraft-Forge-1.20.1-3.2.14.jar", + "id": "YO1EaEWV", "parent_id": "JaCEZUhg", "hashes": { - "sha512": "4b6ad6a0c21ce222661b690f9292391a6bb978720188683a8d0a3aa1f73b7a43aadd42e362b54b9abb08185dacbc3a5bcf2d8dd8f63dd184794dd1f1c34cea81", - "sha1": "7e687dd2f44517572b02be44d07647a8a882e121" + "sha512": "7e3953a517f5e7a0ad8c0ade5ebbdaa7fcdc93cf484c1c38584520731521906765e066001a45f96f31b2e232ed4aa2348f57ac57e8ce123eea8f884af33ac210", + "sha1": "0ade622eff1002ddd14fdabfeb989b2cfb121c64" }, "required_dependencies": [ "nU0bVIaL" ], - "size": 47443029, - "date_published": "2024-12-15T21:45:09.409040Z" + "size": 47444038, + "date_published": "2025-02-13T00:25:22.679851Z" }, { "type": "curseforge", - "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.12.jar", + "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.14.jar", "mc_versions": [ "1.20.1" ], @@ -8878,45 +12494,72 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5994/481/TerraFirmaCraft-Forge-1.20.1-3.2.12.jar", - "id": "5994481", + "url": "https://edge.forgecdn.net/files/6187/491/TerraFirmaCraft-Forge-1.20.1-3.2.14.jar", + "id": "6187491", "parent_id": "302973", "hashes": { - "sha1": "7e687dd2f44517572b02be44d07647a8a882e121", - "md5": "e92901bf830a050b2676e629f2c8e3cb" + "sha1": "0ade622eff1002ddd14fdabfeb989b2cfb121c64", + "md5": "7fd1816d2e27045607fbf07bff38aac3" }, "required_dependencies": [ "306770" ], - "size": 47443029, - "date_published": "2024-12-15T21:45:03.430Z" + "size": 47444038, + "date_published": "2025-02-13T00:25:11.420Z" } ] }, { - "pakku_id": "pFYKE46e47kQjj2p", + "pakku_id": "3mAI0v5307Nirnd5", "pakku_links": [ - "apqasFnXUkYXZUFj", - "F6H99cZ4H6jZRpEK" + "F6H99cZ4H6jZRpEK", + "apqasFnXUkYXZUFj" ], "type": "MOD", "side": "BOTH", "slug": { "curseforge": "terrafirmagreg-core", - "modrinth": "terrafirmagreg-core" + "modrinth": "terrafirmagreg-core", + "github": "TerraFirmaGreg-Team/Core-Modern" }, "name": { "curseforge": "TerraFirmaGreg-Core", - "modrinth": "TerraFirmaGreg-Core" + "modrinth": "TerraFirmaGreg-Core", + "github": "Core-Modern" }, "id": { "curseforge": "513402", - "modrinth": "lNttW2Xl" + "modrinth": "lNttW2Xl", + "github": "668983056" }, "files": [ + { + "type": "curseforge", + "file_name": "TFG-Core-Modern-0.6.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5853/918/TFG-Core-Modern-0.6.0.jar", + "id": "5853918", + "parent_id": "513402", + "hashes": { + "sha1": "9dbf0f12c3447744a9100e404ffea51b798138f3", + "md5": "22d927266923bccd7f7a4a06bd96824a" + }, + "required_dependencies": [ + "302973" + ], + "size": 325760, + "date_published": "2024-10-28T14:40:10.317Z" + }, { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-1.20.1-0.5.9.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.6.1.jar", "mc_versions": [ "1.20.1" ], @@ -8924,43 +12567,29 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/lLGoLnw9/TerraFirmaGreg-Core-1.20.1-0.5.9.jar", - "id": "lLGoLnw9", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/V5J04AzG/TerraFirmaGreg-Core-Modern-0.6.1.jar", + "id": "V5J04AzG", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "bb41fe62d763f4415cc73d0a863e414bd634d4296630999f25dc5fb1a1400dfc20a80566765aca20f253f216c05ef2cd977a7378464951f30c0207d80c583f9c", - "sha1": "d42d53bf9947d1e193a09eba892c57611c27646d" + "sha512": "49b5afb2a8b17309d5787a373b765cbbfb266de547bd67a91aa82ee01f14c504601b60e50ec562e1474963ec7060bc11ae246ea8e282f1eb71138f5aa820a0ef", + "sha1": "5c23bc9e7d5948142b1d45ad8fca91e6a9467bf3" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 3215608, - "date_published": "2024-06-03T03:30:59.306300Z" + "size": 241598, + "date_published": "2025-04-15T03:58:27.227420Z" }, { - "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-1.20.1-0.5.9.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], + "type": "github", + "file_name": "TFG-Core-Modern-0.6.0.jar", "release_type": "release", - "url": "https://edge.forgecdn.net/files/5394/97/TerraFirmaGreg-Core-1.20.1-0.5.9.jar", - "id": "5394097", - "parent_id": "513402", - "hashes": { - "sha1": "d42d53bf9947d1e193a09eba892c57611c27646d", - "md5": "f79c2c1dd7da3b8f1f4d9fdb9d5c8939" - }, - "required_dependencies": [ - "302973", - "890405" - ], - "size": 3215608, - "date_published": "2024-06-03T03:30:56.570Z" + "url": "https://github.com/TerraFirmaGreg-Team/Core-Modern/releases/download/0.6.0/TerraFirmaGreg-Core-Modern-0.6.0.jar", + "id": "230462996", + "parent_id": "668983056", + "size": 325760, + "date_published": "2024-10-28T14:40:14Z" } ] }, @@ -9042,7 +12671,7 @@ "files": [ { "type": "curseforge", - "file_name": "ToolBelt-1.20.1-1.20.01.jar", + "file_name": "ToolBelt-1.20.1-1.20.02.jar", "mc_versions": [ "1.20.1" ], @@ -9051,53 +12680,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5393/183/ToolBelt-1.20.1-1.20.01.jar", - "id": "5393183", + "url": "https://edge.forgecdn.net/files/5929/61/ToolBelt-1.20.1-1.20.02.jar", + "id": "5929061", "parent_id": "260262", "hashes": { - "sha1": "d60259ffa01525244f723243aec7bada503c5f0b", - "md5": "745470da9e03316c2e5e957b5903f9ce" + "sha1": "3e4e2d2e3ee9486de4c6b64bcf8f25d87d55fc92", + "md5": "040527fce7ada8c7ea90430e89541ac6" }, "required_dependencies": [], - "size": 252915, - "date_published": "2024-06-02T17:29:40.980Z" - } - ] - }, - { - "pakku_id": "Wh1WnzvveCM8mSYi", - "type": "MOD", - "slug": { - "curseforge": "treetap" - }, - "name": { - "curseforge": "Tree Tap" - }, - "id": { - "curseforge": "927874" - }, - "files": [ - { - "type": "curseforge", - "file_name": "treetap-1.20.1-0.4.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5589/123/treetap-1.20.1-0.4.0.jar", - "id": "5589123", - "parent_id": "927874", - "hashes": { - "sha1": "0e2ead728a199b538b6f3ba5933f1c2be5be16ef", - "md5": "88e6337e2b84a1c511a10e4595525d7e" - }, - "required_dependencies": [], - "size": 87961, - "date_published": "2024-08-02T09:50:27.947Z" + "size": 253567, + "date_published": "2024-11-22T20:33:59.630Z" } ] }, @@ -9156,7 +12748,7 @@ "files": [ { "type": "modrinth", - "file_name": "u_team_core-forge-1.20.1-5.1.4.312.jar", + "file_name": "u_team_core-forge-1.20.1-5.1.4.346.jar", "mc_versions": [ "1.20.1" ], @@ -9164,16 +12756,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/g2FGQs4R/versions/1sSEOyhe/u_team_core-forge-1.20.1-5.1.4.312.jar", - "id": "1sSEOyhe", + "url": "https://cdn.modrinth.com/data/g2FGQs4R/versions/6kPqkkwS/u_team_core-forge-1.20.1-5.1.4.346.jar", + "id": "6kPqkkwS", "parent_id": "g2FGQs4R", "hashes": { - "sha512": "262efa14ead64c464de29ab33a247322bf1be8e447fa3bf9fb37a3e8704beb8c944d8fb5d1980695fe7cf13e2a54e4a70602617237960de78c1cef85bc5d8af1", - "sha1": "688e67c279c113165bc6ea8fe5b06789d5202227" + "sha512": "6e81837e5173fd90ce7cda2be7050bf89ffbf298d642118c42c99208188ef608133679c2a87e4a325ecb8d56663db1f5070bd154336a5e0e869c80d7aea151f5", + "sha1": "56082ef86ba5513656bf6e555239ad050d07e1df" }, "required_dependencies": [], - "size": 587610, - "date_published": "2024-07-11T14:10:53.332295Z" + "size": 587603, + "date_published": "2025-01-03T19:56:10.459519Z" }, { "type": "curseforge", @@ -9217,7 +12809,7 @@ "files": [ { "type": "modrinth", - "file_name": "UniLib-1.0.2+1.20.1-forge.jar", + "file_name": "UniLib-1.0.5+1.20.1-forge.jar", "mc_versions": [ "1.20", "1.20.1" @@ -9227,16 +12819,16 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nT86WUER/versions/lwORKPF2/UniLib-1.0.2+1.20.1-forge.jar", - "id": "lwORKPF2", + "url": "https://cdn.modrinth.com/data/nT86WUER/versions/Q5oirb2U/UniLib-1.0.5+1.20.1-forge.jar", + "id": "Q5oirb2U", "parent_id": "nT86WUER", "hashes": { - "sha512": "ccd960abb666f56ead3e4f195082c1bc2ee538602d94a9d1d96dcb971107a2f4c5efa1f0797d9c735583535f6046e5a104f34cdeb4b4273af0e3c215185b4ac3", - "sha1": "d368058d79a5c206ac9c38e4269a6008b0ccf814" + "sha512": "47a86b45a41df7704e096d788bda23082b9742b85ca394991474d619b9196076d5e2958465efb90814a5bfc3acb28ea15a8c9373d672bf3ecf26632ec8b39041", + "sha1": "1ffef0d813d911d44105ea9e63dde970edee018e" }, "required_dependencies": [], - "size": 967088, - "date_published": "2024-08-23T18:23:56.718994Z" + "size": 1045910, + "date_published": "2025-01-14T21:30:43.137872Z" }, { "type": "curseforge", @@ -9264,7 +12856,72 @@ ] }, { - "pakku_id": "wfvuBWm070S4tQ00", + "pakku_id": "AlrK2V0ftz5XS775", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "visual-workbench", + "modrinth": "visual-workbench" + }, + "name": { + "curseforge": "Visual Workbench", + "modrinth": "Visual Workbench" + }, + "id": { + "curseforge": "500273", + "modrinth": "kfqD1JRw" + }, + "files": [ + { + "type": "modrinth", + "file_name": "VisualWorkbench-v8.0.0-1.20.1-Forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/kfqD1JRw/versions/c22Z4rsv/VisualWorkbench-v8.0.0-1.20.1-Forge.jar", + "id": "c22Z4rsv", + "parent_id": "kfqD1JRw", + "hashes": { + "sha512": "fcfb713b7ce6b876243f294ffa154a203c6b9eced3c6dd978923413af9e737c0c220872b1a127d03c316da8b12e4bbae18a5ecf5f84ab57a2fb8548b41d8f0dc", + "sha1": "7ebf579edcf2440eadf1ed6c8c895e1bc2d77bf1" + }, + "required_dependencies": [ + "QAGBst4M" + ], + "size": 82055, + "date_published": "2023-06-27T21:00:14.975608Z" + }, + { + "type": "curseforge", + "file_name": "VisualWorkbench-v8.0.0-1.20.1-Forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4612/695/VisualWorkbench-v8.0.0-1.20.1-Forge.jar", + "id": "4612695", + "parent_id": "500273", + "hashes": { + "sha1": "7ebf579edcf2440eadf1ed6c8c895e1bc2d77bf1", + "md5": "d741bc2d4d3a385116d094b874474a6b" + }, + "required_dependencies": [ + "495476" + ], + "size": 82055, + "date_published": "2023-06-27T21:00:10.803Z" + } + ] + }, + { + "pakku_id": "iEsJ0aHodKhDTwgV", "type": "MOD", "side": "CLIENT", "slug": { @@ -9280,31 +12937,9 @@ "modrinth": "1bokaNcj" }, "files": [ - { - "type": "modrinth", - "file_name": "Xaeros_Minimap_24.4.0_Forge_1.20.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/dvP335Jb/Xaeros_Minimap_24.4.0_Forge_1.20.jar", - "id": "dvP335Jb", - "parent_id": "1bokaNcj", - "hashes": { - "sha512": "3d43bb909a9e1a131df98549e157da1a2a77e47c4503b75e3c20a2bc16671c97c8cf9058edf970ad9e0716d27e25f828e330801c33c47762c8c5f597eb5e76bb", - "sha1": "2ec40354f13729c18a9f3bc51c2e3d2fbcc0d165" - }, - "required_dependencies": [], - "size": 1531047, - "date_published": "2024-09-02T07:06:20.850273Z" - }, { "type": "curseforge", - "file_name": "Xaeros_Minimap_24.4.0_Forge_1.20.jar", + "file_name": "Xaeros_Minimap_24.7.1_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -9313,16 +12948,38 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5685/657/Xaeros_Minimap_24.4.0_Forge_1.20.jar", - "id": "5685657", + "url": "https://edge.forgecdn.net/files/6012/833/Xaeros_Minimap_24.7.1_Forge_1.20.jar", + "id": "6012833", "parent_id": "263420", "hashes": { - "sha1": "2ec40354f13729c18a9f3bc51c2e3d2fbcc0d165", - "md5": "8e6213d8af09b40282230f0dd3abdc7c" + "sha1": "b1108546e4adad0d84401af546b9ed987b3fc437", + "md5": "c29078689ae23ddf4ded23b8b13d0727" }, "required_dependencies": [], - "size": 1531047, - "date_published": "2024-09-02T06:53:39.747Z" + "size": 1621195, + "date_published": "2024-12-22T10:01:28.163Z" + }, + { + "type": "modrinth", + "file_name": "Xaeros_Minimap_24.7.1_Forge_1.20.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/sr50tbXn/Xaeros_Minimap_24.7.1_Forge_1.20.jar", + "id": "sr50tbXn", + "parent_id": "1bokaNcj", + "hashes": { + "sha512": "8e82015a0307e854c18ff6b92f9fdfc17c2339631c9ecc02cdb9882d0826f558e50770022728f7c0c666ef2b5485824dd1abd9afed67024801e88341d40e5547", + "sha1": "b1108546e4adad0d84401af546b9ed987b3fc437" + }, + "required_dependencies": [], + "size": 1621195, + "date_published": "2024-12-22T10:29:10.503180Z" } ] }, @@ -9345,7 +13002,7 @@ "files": [ { "type": "modrinth", - "file_name": "XaerosWorldMap_1.39.0_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.39.2_Forge_1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -9354,16 +13011,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/zGpACLsy/XaerosWorldMap_1.39.0_Forge_1.20.jar", - "id": "zGpACLsy", + "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/3Wmpi0tR/XaerosWorldMap_1.39.2_Forge_1.20.jar", + "id": "3Wmpi0tR", "parent_id": "NcUtCpym", "hashes": { - "sha512": "009065642ee160718285a2bde5a4f9b297303f9837f48169f9c74707cf30bdf57e1d614d2507becc497efbad15ad6ecafd1d9c804ab3b66a0688b43946622dd6", - "sha1": "33704b6dd2ee6fbf1da0cffcf2001bf7f1c3dea4" + "sha512": "b719fba032ad51dd390a9d3906c801d17aa6dc88106b37a78f230144f3f435c35f0a0f3fc3193d199d09146800c11b64194b6aa246c7e3135b4d32c564c5cb90", + "sha1": "75fa377a33128aa0f294b310838032ddd697810f" }, "required_dependencies": [], - "size": 930284, - "date_published": "2024-08-24T07:30:57.975290Z" + "size": 931860, + "date_published": "2024-12-13T08:34:56.041590Z" }, { "type": "curseforge", @@ -9469,26 +13126,27 @@ "files": [ { "type": "modrinth", - "file_name": "YetAnotherConfigLib-3.5.0+1.20.1-forge.jar", + "file_name": "YetAnotherConfigLib-3.6.2+1.20.1-forge.jar", "mc_versions": [ + "1.20", "1.20.1" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/1eAoo2KR/versions/C0nuSdTs/YetAnotherConfigLib-3.5.0+1.20.1-forge.jar", - "id": "C0nuSdTs", + "url": "https://cdn.modrinth.com/data/1eAoo2KR/versions/PI0hRkb0/YetAnotherConfigLib-3.6.2+1.20.1-forge.jar", + "id": "PI0hRkb0", "parent_id": "1eAoo2KR", "hashes": { - "sha512": "c6bfce414e6a4142b4e8439ffbe9d2ac8814642669fc8ea1356da88bb96a9b0d77f991ea658059d8d44401f12af6c4b1e91c8a976d80e8b978accbfe964a32c9", - "sha1": "e2f450a47ef4d81705175cd18ba36d1782948908" + "sha512": "c77f4cea583cbb4e057950e2a900916c4f0615a6a84173f7fc8185a5f73967bc43b543ef83a54d7e31be0909ce8616465ee321a1e07b8d5cb6c2f10077e50505", + "sha1": "044fe3b2bd50d2a00d07bd44a2cbdd677617786e" }, "required_dependencies": [ "P7dR8mSH" ], - "size": 1151778, - "date_published": "2024-06-13T16:08:26.916569Z" + "size": 1111897, + "date_published": "2024-12-04T21:02:46.112031Z" }, { "type": "curseforge", @@ -9514,6 +13172,106 @@ "date_published": "2024-06-13T16:08:25.923Z" } ] + }, + { + "pakku_id": "UiVtcmEH7uJMcy8z", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "alekiships", + "modrinth": "alekiships" + }, + "name": { + "curseforge": "aleki's Nifty Ships", + "modrinth": "aleki's Nifty Ships" + }, + "id": { + "curseforge": "1068445", + "modrinth": "vuNeeDyl" + }, + "files": [ + { + "type": "modrinth", + "file_name": "alekiNiftyShips-FORGE-1.20.1-1.0.14.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vuNeeDyl/versions/VX4fjmf1/alekiNiftyShips-FORGE-1.20.1-1.0.14.jar", + "id": "VX4fjmf1", + "parent_id": "vuNeeDyl", + "hashes": { + "sha512": "948dde522b1e0b95316db4105026bc8aa2488d709e133bd24a5cf20a17b3a7bb2e3ffa3b2cf038adc43ae768a6dc77ed9161518b8a3bc96475395c1f41b94096", + "sha1": "c42aaab43cd524c45c4065996cc06b9b48c5682a" + }, + "required_dependencies": [], + "size": 22335232, + "date_published": "2024-12-04T22:45:46.092248Z" + }, + { + "type": "curseforge", + "file_name": "alekiNiftyShips-FORGE-1.20.1-1.0.14.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5963/449/alekiNiftyShips-FORGE-1.20.1-1.0.14.jar", + "id": "5963449", + "parent_id": "1068445", + "hashes": { + "sha1": "c42aaab43cd524c45c4065996cc06b9b48c5682a", + "md5": "826feae586b23c81db1efc902bdaf481" + }, + "required_dependencies": [], + "size": 22335232, + "date_published": "2024-12-04T22:45:19.893Z" + } + ] + }, + { + "pakku_id": "JbXSFRnjhIMDzF7c", + "type": "MOD", + "slug": { + "curseforge": "fix-gpu-memory-leak" + }, + "name": { + "curseforge": "fix GPU memory leak[Forge/Fabric]" + }, + "id": { + "curseforge": "882495" + }, + "files": [ + { + "type": "curseforge", + "file_name": "gpumemleakfix-1.20.1-1.8.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4884/976/gpumemleakfix-1.20.1-1.8.jar", + "id": "4884976", + "parent_id": "882495", + "hashes": { + "sha1": "54301c2db5467e0f9f5c504887436f358335331f", + "md5": "e5028e9da74761f26c00c546c8ebdc4d" + }, + "required_dependencies": [], + "size": 7997, + "date_published": "2023-11-20T20:55:45.500Z" + } + ] } ], "lockfile_version": 1 diff --git a/pakku.json b/pakku.json index 8c483070c..04c2a8bc9 100644 --- a/pakku.json +++ b/pakku.json @@ -6,7 +6,8 @@ "overrides": [ "config", "defaultconfigs", - "kubejs" + "kubejs", + "!kubejs/probe/**" ], "server_overrides": [ "forge-auto-install.txt", @@ -188,6 +189,24 @@ }, "dynamiclights-reforged": { "side": "CLIENT" + }, + "resourceful-config": { + "side": "CLIENT" + }, + "resourceful-lib": { + "side": "CLIENT" + }, + "enderman-overhaul": { + "side": "CLIENT" + }, + "primitive-creatures": { + "side": "CLIENT" + }, + "geckolib": { + "side": "CLIENT" + }, + "detected-setblock-be-gone": { + "side": "CLIENT" } } } \ No newline at end of file

a+;eJ=Bj{m+NP@&av_pX8PYpP#q7w0!!HXq_Yu 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg_excludes.zip b/kubejs/assets/tfg_excludes.zip new file mode 100644 index 0000000000000000000000000000000000000000..025e9726f3cb0d95bbce9f815a021d9d26ef94cc GIT binary patch literal 32880 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%0AZTS5MfP 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/lang/en_us.json b/kubejs/assets/vintageimprovements/lang/en_us.json new file mode 100644 index 000000000..f4414da83 --- /dev/null +++ b/kubejs/assets/vintageimprovements/lang/en_us.json @@ -0,0 +1,21 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.vintageimprovements.vacuum_chamber": "Vacuum Chamber", + "item.vintageimprovements.aluminum_sheet": "Aluminium Plate", + "item.vintageimprovements.calorite_sheet": "Calorite Plate", + "item.vintageimprovements.cast_iron_sheet": "Cast Iron Plate", + "item.vintageimprovements.cobalt_sheet": "Cobalt Plate", + "item.vintageimprovements.desh_sheet": "Desh Plate", + "item.vintageimprovements.invar_sheet": "Invar Plate", + "item.vintageimprovements.lead_sheet": "Lead Plate", + "item.vintageimprovements.nickel_sheet": "Nickel Plate", + "item.vintageimprovements.osmium_sheet": "Osmium Plate", + "item.vintageimprovements.ostrum_sheet": "Ostrum Plate", + "item.vintageimprovements.palladium_sheet": "Palladium Plate", + "item.vintageimprovements.platinum_sheet": "Platinum Plate", + "item.vintageimprovements.rhodium_sheet": "Rhodium Plate", + "item.vintageimprovements.rose_gold_sheet": "Rose Gold Plate", + "item.vintageimprovements.silver_sheet": "Silver Plate", + "item.vintageimprovements.vanadium_sheet": "Vanadium Plate", + "item.vintageimprovements.zinc_sheet": "Zinc Plate" +} \ No newline at end of file diff --git a/kubejs/assets/vintageimprovements/textures/item/aluminum_sheet.png b/kubejs/assets/vintageimprovements/textures/item/aluminum_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..d78a2ce0e1897979e6751fbbe6c5e35e3438c915 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk}PZ!4!i{9h}iBAoJ^Hcn;ANgv50Adw-NYGI#X`+O{4d)K3=Iqn*32}T`SIvt zYo4QfIh-f(Hf270D4z7-p?H$T#%j~UtJC=d_c9nSDSzw7rYh&7e~{JZNHYAl#*~@65j&FKl`UQHa@(waIMCy q38s%q7B-+mUQuE)Mb5ft>GR29DQ*{mhBVH2+fx4Jz8>RlgM%@(X9pdd06;Y z+Du_;V7=hj72Nx%;7w9ZF~5M*oy68o>`c#o~3>7mF>OV>F<&soIkz(>eBetr{6!* z-aqrO1=E97-DlqY_A6ZeWwK?a>Ms7r9jTr=i=w=uI3HhRVbCuqt*t9M`1#ANjSQzG zjtRy+kh-9x!CyG#=bCD+18<(5wMw^{C85dCC+#ct`HUuG%KG;uw`>_!P2I%$foXcy z(lgJlu`whme0lR(d|uw1({@4$<@LuKo(SJvR^HK=pb;eY`ORyVwO?~@THLv;uUUG_ zR!)8yL)%R@hSk~oY%H>*4BM5imfqVVvOwYIzKmb#zZmQuvp9pPMh)mJ)28mPK-N4q=#qymaz5G zXD4|Dc|8(3kTdVX+t|RZ*=`-4+6?Q@>x*q*$dH{MlzT;@c8|30;fET$7ZjtdZ_CKa zY`S^l!EbfNu4K{pa|SgDX8r-%FD9H0YoC2^?W>bssk@zSt`lIfW4Kr`$1h-s!UxX7 z<_y2C*D~z0Qx8*o@a9p>-J?sSUH8{Ly;^GiwRQ8d|4UT^s4uY^MH;@J-(KH*xql(+62(v3 pYc^bR2wPmXcH3P3IKR1!sZY{8j=-Cl#>7e literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/textures/item/nickel_sheet.png b/kubejs/assets/vintageimprovements/textures/item/nickel_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..0c9d4934945a82e92b9fd858679a821a86a26add GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+Io-U3d7QM*{68990^q$qH#GI+G$&%QZ*|c$KN~olSgoMPo`8SSk$bTQmvsHub zfQi@1RYnp~7RGbzH;Vf`Hf|AIwsS+C)Zw+Srw6EX8n$rGT)b>$dlJJYZ-p9jHud!E zDF%s22?+^13bO2->x0Fb8N`iGwjG$ec%|as`v=ZUT(~h=?Qna3J;)}5Jx2~4IIyAg zD^DBu@^8j5`#(+*Jj#7N-zIfWL6-gDGb?R*m}1UI#06cxl03tF;hcw0FaOqHOKMrQ ztnEwv`UfU$U)~7q@YcFy3o=Y%o_#IDcAjPPSnoExHlJr?v}W$t`HhT1uXdO`Dq-B@ f9l#^Ig@J*;w&>CWuRo;>3=9mOu6{1-oD!M<64HX9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/textures/item/osmium_sheet.png b/kubejs/assets/vintageimprovements/textures/item/osmium_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..089b8ee4e91866337dc7dde1dc97eddf5b0cd645 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-Po-U3d7QJ^TF6298AmW!%ihqkJnmPKzkht=fBj>vNiiDtYu<3btdnwEarsC!qa>H#VGag? zfUYnv28X$78lPuWF!pe7wV(e%V|CsQub-kuuY|*Mu6<35nEmy8B4gh5-Jg#&1hGu9 z65uW3+0vT1$WiS{?B1MaqkhlelxeQ=LhCGFnQW{(dQce~K)a9LhIO x@i*cyP-M6uax>vV_JZz9OSitQ`%wOhnNu)gwbmUCX9fla22WQ%mvv4FO#p(0aT)*s literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/textures/item/palladium_sheet.png b/kubejs/assets/vintageimprovements/textures/item/palladium_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..44d37fbaae17c4529b164d379e179c74f34fc158 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkwPZ!4!i{9h}iHrjs{zf+rf3xq|TXsBgO;+TG%%ZEjjotPCKmPx}joICRr;+=B z$*xyz1{&VlhIeYK`27waSax}}{mmU!_(QzgLZ6ny&bwfpezvB9%U+l{#x% z4t+P~P5n@`;b*_ju_Ff#94PpCQIaiCwXn_ndt8zPQ!%Ta^8>w%{B>y;N-iEQP}&r} zLGln--RoQB$L>zQZnVWb+_+=W&IW-7_s46q?@LNbT>E!DHse%6UiQfY2M#dshs=0u zP<8m@RG#v?1RMi1A<_U^a$>L30;H~09%wuDkf zpJc~n_J>zrmzOx=!YUEB_aDP_|1T{(vwC^9 zzq4u1NK8mbNJvS`6%b5H3kcla^rAuX(2=tTKKz$HRKUj8#u@y~;LfhkJr5r~4(G8h zmrGAcOh{;GeNoTG#>Q5DKBA?2!MYg+vWbrmA73vq;ful^2IC_E;hl~?$7VG?Jg?2h zmKNByrb%s$R3d}2?2g^h|K{79&R@7N*)p!zg114k>DeYn9tM*`T^)0JmU1#MFfe$! L`njxgN@xNA&LNM? literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/textures/item/rhodium_sheet.png b/kubejs/assets/vintageimprovements/textures/item/rhodium_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..c24c69dc6cf4d315fbb3b3700aa45dcd9a1ebafa GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nl6PZ!4!i{9h}iHrjsz8f0vzq1ef*xzn&Wpl#i7i%RO?(TZc^Zz1mqSLjQ)UXo| z)=C~&aDFvMc*B`**LV&T$a4D>m)5Bt{{LA2fmFhmqvyW|%6$CtJ6ps~*r@$t5R>bt zN6&w2=p`g1BzPEmrFx`ZZrR<`*~lnl5h?4*!xJW?(e~oAR+1^pa&8F_SQ8N2cvc`K z`~dHazpt&5r_C1+Td&aGZMR^s<%!jXTH#g7$8LR9k9+MGqzTnHl r#2s!kk`_5?&3;z@WQEin28Jb%V(Q}VoXKKfU|{fc^>bP0l+XkK1MiEg literal 0 HcmV?d00001 diff --git a/kubejs/assets/vintageimprovements/textures/item/silver_sheet.png b/kubejs/assets/vintageimprovements/textures/item/silver_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..7c78bfa8648892fe8e4801ce0045c4cf17a840c6 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk!PZ!4!i{9h}iHrjs{zm4yzwC|bKdo6R@hb8|W|!9+w~4!}f4}*k`#XPu1d}<# zGDEG6vmHG=dLG{09nQnU!=sTiC+>uA_rLhK?Gqlp4u8`%fj47aQIbO$tMDeLyu3HF zT3e1h_;YJpEl*sZR6)Lxp@D&c%#H0$iI;a(^4z&IqwT<+hSLISY$gt?6wiPRTz~Ix zeoaYrG&B2hlje2%6q%)^T`s=A&*5xgx$~iky1Mz{jn3MV-`>Tw6dZhNT`#%Z|5VD3 zLT15)7kZ65^WLAUxUkNPvi(b<_tHOy?SbB5K1eAYWbYcvJZ zPHg(Qw7_tN+6*@d>GYs$p^0vu$4<;*6K7!9=u=qCqkOoGfq{X+)78&qol`;+06dY3 AW&i*H literal 0 HcmV?d00001 diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js new file mode 100644 index 000000000..cb78244b9 --- /dev/null +++ b/kubejs/client_scripts/main_client_script.js @@ -0,0 +1,4 @@ +ItemEvents.tooltip(evt => +{ + registerTooltips(evt); +}) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 742a8085c..99ca84c42 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -1,45 +1,89 @@ -ItemEvents.tooltip(event => { - event.addAdvanced(['tfc:red_kaolin_clay','tfc:pink_kaolin_clay','tfc:white_kaolin_clay','gtceu:brass_block'], (item, advanced, text) => { - text.add(1, [text.of('Used in glassblowing as a replacement for Brass Plated Blocks')]) - }) - event.addAdvanced(['gtceu:lv_macerator','gtceu:mv_macerator', 'gtceu:hp_steam_macerator'], (item, advanced, text) => { - text.add(1, [text.of('Only outputs the first slot shown in EMI/JEI until HV.')]) - }) - event.addAdvanced(['minecraft:name_tag'], (item, advanced, text) => { - text.add(1, [text.of('Used on a Scribing Table along with an item to name it, or with black dye to name the tag.')]) - }) - event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { - text.add(1, [text.of('Currently, due to some errors in GTCEu regarding forgeCapacities, outputs rotten food.')]) - }) - event.addAdvanced(['toolbelt:belt'], (item, advanced, text) => { - text.add(1, [text.of('Press the §o§6Swap Tool§r keybind to open the radial menu.')]), - text.add(2, [text.of(`You can also right click with it in hand to add or remove tools.`)]) - text.add(3, [text.of(`§cDo not dye this or you won't be able to upgrade.`)]) - }) - event.addAdvanced(['toolbelt:pouch'], (item, advanced, text) => { - text.add(1, [text.of('Used to upgrade your toolbelt to add more slots')]), - text.add(2, [text.of(`Can't be used with §cd§ey§ae§9d §rbelts or belts that have tools inside.`)]) - }) - event.addAdvanced(['firmalife:bucket/yeast_starter'], (item, advanced, text) => { - text.add(1, [text.of('Created with dried fruit')]) - }) - event.addAdvanced(['firmalife:beehive'], (item, advanced, text) => { - text.add(1, [text.of('Needs to be filled with empty frames and surrounded by flowers to attract bees.')]) - }) - event.addAdvanced(['gtceu:alternator'], (item, advanced, text) => { - text.add(1, text.of('Generates 2A of the matching §6Kinetic Input Box§r and §6Dynamo Hatch§r.')), - text.add(2, text.of(`Select Circuit 1 for LV, 2 for MV, 3 for HV, and 4 for EV.`)), - text.add(3, text.of(`§cRequires 256 RPM to run.§r`)) - }) - event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { - text.add(1, text.of('§cSuperheat§r with Flawless and Exquisite coal gems.')) - }) - event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { - text.add(1, text.of('Artificial enviroment to simulate the Nether.')), - text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) - }) - event.addAdvanced(['gtceu:end_dome'], (item, advanced, text) => { - text.add(1, text.of('Artificial enviroment to simulate the End.')), - text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) - }) -}) +const registerTooltips = (event) => +{ + event.addAdvanced(['gtceu:lv_macerator', 'gtceu:mv_macerator', 'gtceu:hp_steam_macerator'], (item, advanced, text) => { + text.add(1, [text.of('Only outputs the first slot shown in EMI/JEI until HV.')]) + }) + event.addAdvanced(['minecraft:name_tag'], (item, advanced, text) => { + text.add(1, [text.of('Used on a Scribing Table along with an item to name it, or with black dye to name the tag.')]) + }) + event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { + text.add(1, [text.of('Currently, due to some errors in GTCEu regarding forgeCapacities, outputs rotten food.')]) + }) + event.addAdvanced(['toolbelt:belt'], (item, advanced, text) => { + text.add(1, [text.of('Press the §o§6Swap Tool§r keybind to open the radial menu.')]), + text.add(2, [text.of(`You can also right click with it in hand to add or remove tools.`)]) + text.add(3, [text.of(`§cDo not dye this or you won't be able to upgrade.`)]) + }) + event.addAdvanced(['toolbelt:pouch'], (item, advanced, text) => { + text.add(1, [text.of('Used to upgrade your toolbelt to add more slots')]), + text.add(2, [text.of(`Can't be used with §cd§ey§ae§9d §rbelts or belts that have tools inside.`)]) + }) + event.addAdvanced(['firmalife:bucket/yeast_starter'], (item, advanced, text) => { + text.add(1, [text.of('Created with dried fruit')]) + }) + event.addAdvanced(['firmalife:beehive'], (item, advanced, text) => { + text.add(1, [text.of('Needs to be filled with empty frames and surrounded by flowers to attract bees.')]) + }) + event.addAdvanced(["treetap:tap"], (item, advanced, text) => { + text.add(1, [text.of("§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!")]) + }) + event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { + text.add(1, text.of('§cSuperheat§r with Coke, or Flawless and Exquisite coal gems.')) + }) + event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { + text.add(1, text.of('Artificial enviroment to simulate the Nether.')), + text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) + }) + event.addAdvanced(['gtceu:end_dome'], (item, advanced, text) => { + text.add(1, text.of('Artificial enviroment to simulate the End.')), + text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) + }) + + // Insulation + event.addAdvanced(['create:copper_diving_helmet', 'create:copper_backtank', 'create:copper_diving_boots'], (item, advanced, text) => { + text.add(1, text.of('§7Warmth: -1')), + text.add(2, text.of('§7Insulation: +1')) + }) + event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings'], (item, advanced, text) => { + text.add(1, text.of('§7Warmth: -2')), + text.add(2, text.of('§7Insulation: +9')) + text.add(3, text.of('Wear the full set to be §eHeatproof§r.')) + }) + event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:avanced_nanomuscle_chestplate'], (item, advanced, text) => { + text.add(1, text.of('§7Warmth: -0.5')), + text.add(2, text.of('§7Insulation: +10')) + text.add(3, text.of('Wear the full set to be §eFully Insulated§r.')) + }) + event.addAdvanced(['gtceu:quarktech_helmet', 'gtceu:quarktech_chestplate', 'gtceu:quarktech_leggings', 'gtceu:quarktech_boots', 'gtceu:advanced_quarktech_chestplate'], (item, advanced, text) => { + text.add(1, text.of('§7Warmth: -0.5')), + text.add(2, text.of('§7Insulation: +10')) + text.add(3, text.of('Wear the full set to be §eFully Insulated§r.')) + }) + + //supports + global.TFC_WOOD_TYPES.forEach(wood => { + event.addAdvanced([`tfc:wood/support/${wood}`], (item, advanced, text) => { + text.add(1, text.of('9 x 5 x 9')) + }) + }) + global.AFC_WOOD_TYPES.forEach(wood => { + event.addAdvanced([`tfc:wood/support/${wood}`], (item, advanced, text) => { + text.add(1, text.of('9 x 5 x 9')) + }) + }) + event.addAdvanced(['tfg:light_concrete_support', 'tfg:dark_concrete_support', 'tfg:rebar_support'], (item, advanced, text) => { + text.add(1, text.of('17 x 9 x 17')) + }) + event.addAdvanced(['tfg:reinforced_light_concrete_support', 'tfg:reinforced_dark_concrete_support', 'tfg:steel_support'], (item, advanced, text) => { + text.add(1, text.of('33 x 13 x 33')) + }) + const other_stone = ['pyroxenite', 'migmatite', 'travertine'] + const stone_types = global.TFC_STONE_TYPES.concat(other_stone) + + stone_types.forEach(stone => { + + event.addAdvanced([`tfg:${stone}_support`], (item, advanced, text) => { + text.add(1, text.of('9 x 5 x 9')) + }) + }) +} \ No newline at end of file diff --git a/kubejs/config/probejs.json b/kubejs/config/probejs.json new file mode 100644 index 000000000..59b7dec92 --- /dev/null +++ b/kubejs/config/probejs.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "Is ProbeJS Loaded for First Time in the Modpack - Configured by ProbeJS Itself": false, + "The Timestamp of ProbeJS Remote Documents - Configured by ProbeJS Itself": 1720270423220, + "Disable Aggressive Mode for ProbeJS Dumps": true, + "Allow ProbeJS to Resolve Classes from Registries Like Item Classes or Block Classes": true, + "Allow ProbeJS to Generate Literal Types for Item/Block/etc. IDs": true, + "Should ProbeJS Only Show Command in Single Player and with Cheat Enabled": true, + "Should ProbeJS be Generally Enabled": true, + "Disable the Recipe JSON Snippet Generation for ProbeJS triggered by `#`": true, + "Should ProbeJS Generate Intermediate JSON Representation of Documents - Mostly for Debugging": false, + "Should ProbeJS Download Schema Scripts from Github for Mods without Addon Supports": false, + "Should ProbeJS Open the Websocket for VSCode Evaluation? 1 - enabled, others - disabled.": 0, + "Which port should ProbeJS listen on for VSCode Extension?": 7796 +} \ No newline at end of file diff --git a/kubejs/data/beneath/loot_tables/blocks/crackrack.json b/kubejs/data/beneath/loot_tables/blocks/crackrack.json new file mode 100644 index 000000000..f61cb825e --- /dev/null +++ b/kubejs/data/beneath/loot_tables/blocks/crackrack.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "beneath:crackrack", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:crackrack_rock", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 4 + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/beneath/loot_tables/entities/red_elk.json b/kubejs/data/beneath/loot_tables/entities/red_elk.json new file mode 100644 index 000000000..16da75c4c --- /dev/null +++ b/kubejs/data/beneath/loot_tables/entities/red_elk.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:food/venison", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 10, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:cursed_hide" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/burpflower_patch.json b/kubejs/data/beneath/worldgen/configured_feature/burpflower_patch.json new file mode 100644 index 000000000..c0a74fcf4 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/burpflower_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 16, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:burpflower" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/button_patch.json b/kubejs/data/beneath/worldgen/configured_feature/button_patch.json new file mode 100644 index 000000000..9a00fa92c --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/button_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:button" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/chantrelle_patch.json b/kubejs/data/beneath/worldgen/configured_feature/chantrelle_patch.json new file mode 100644 index 000000000..c882d48ee --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/chantrelle_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:chantrelle" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/death_cap_patch.json b/kubejs/data/beneath/worldgen/configured_feature/death_cap_patch.json new file mode 100644 index 000000000..afc835f8d --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/death_cap_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:death_cap" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/delta.json b/kubejs/data/beneath/worldgen/configured_feature/delta.json new file mode 100644 index 000000000..99f028dd0 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/delta.json @@ -0,0 +1,29 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "minecraft:delta_feature", + "config": { + "contents": { + "Name": "minecraft:lava", + "Properties": { + "level": "0" + } + }, + "rim": { + "Name": "minecraft:magma_block" + }, + "size": { + "type": "uniform", + "value": { + "min_inclusive": 3, + "max_inclusive": 7 + } + }, + "rim_size": { + "type": "uniform", + "value": { + "min_inclusive": 0, + "max_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/destroying_angels_patch.json b/kubejs/data/beneath/worldgen/configured_feature/destroying_angels_patch.json new file mode 100644 index 000000000..9c3092e04 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/destroying_angels_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:destroying_angels" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/fools_funnel_patch.json b/kubejs/data/beneath/worldgen/configured_feature/fools_funnel_patch.json new file mode 100644 index 000000000..62211521a --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/fools_funnel_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:fools_funnel" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/gleamflower_patch.json b/kubejs/data/beneath/worldgen/configured_feature/gleamflower_patch.json new file mode 100644 index 000000000..f8357cd76 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/gleamflower_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 16, + "xz_spread": 5, + "y_spread": 2, + "feature": "beneath:gleamflower" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/oyster_patch.json b/kubejs/data/beneath/worldgen/configured_feature/oyster_patch.json new file mode 100644 index 000000000..d5c9eda41 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/oyster_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:oyster" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/parasol_patch.json b/kubejs/data/beneath/worldgen/configured_feature/parasol_patch.json new file mode 100644 index 000000000..9f5fa1452 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/parasol_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:parasol" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/portobello_patch.json b/kubejs/data/beneath/worldgen/configured_feature/portobello_patch.json new file mode 100644 index 000000000..e98db4594 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/portobello_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:portobello" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/shittake_patch.json b/kubejs/data/beneath/worldgen/configured_feature/shittake_patch.json new file mode 100644 index 000000000..7886b92d5 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/shittake_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:shittake" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/sulfur_patch.json b/kubejs/data/beneath/worldgen/configured_feature/sulfur_patch.json new file mode 100644 index 000000000..8fb522dc6 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/sulfur_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 5, + "y_spread": 1, + "feature": "beneath:sulfur" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json b/kubejs/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json new file mode 100644 index 000000000..78df7ab79 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/sulfur_tuft_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 6, + "y_spread": 1, + "feature": "beneath:sulfur_tuft" + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/vein/crackrack_pipe.json b/kubejs/data/beneath/worldgen/configured_feature/vein/crackrack_pipe.json new file mode 100644 index 000000000..c96791741 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/vein/crackrack_pipe.json @@ -0,0 +1,51 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "rarity": 45, + "size": 50, + "density": 0.9, + "min_y": 1, + "max_y": 127, + "random_name": "crackrack_pipe", + "height": 120, + "radius": 9, + "min_skew": 7, + "max_skew": 20, + "min_slant": 2, + "max_slant": 5, + "project": false, + "sign": 0, + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfg:rock/hardened_deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam", + "minecraft:blackstone", + "tfg:rock/hardened_blackstone", + "tfc:rock/raw/schist", + "tfc:rock/hardened/schist", + "tfc:rock/raw/diorite", + "tfc:rock/hardened/diorite", + "tfc:rock/raw/gabbro", + "tfc:rock/hardened/gabbro", + "tfc:rock/raw/gneiss", + "tfc:rock/hardened/gneiss", + "tfc:rock/raw/granite", + "tfc:rock/hardened/granite" + ], + "with": [ + { + "weight": 1, + "block": "beneath:crackrack" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/vein/cursecoal.json b/kubejs/data/beneath/worldgen/configured_feature/vein/cursecoal.json new file mode 100644 index 000000000..4f9ff4f38 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/vein/cursecoal.json @@ -0,0 +1,34 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 35, + "size": 13, + "height": 4, + "density": 0.80, + "min_y": 48, + "max_y": 127, + "project": false, + "random_name": "cursecoal", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam", + "minecraft:blackstone", + "minecraft:dripstone_block" + ], + "with": [ + { + "weight": 1, + "block": "beneath:ore/nether_cursecoal" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/vein/sylvite.json b/kubejs/data/beneath/worldgen/configured_feature/vein/sylvite.json new file mode 100644 index 000000000..ac18ef271 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/vein/sylvite.json @@ -0,0 +1,24 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 75, + "size": 17, + "density": 0.6, + "min_y": 0, + "max_y": 64, + "random_name": "sylvite", + "blocks": [ + { + "replace": [ + "minecraft:blackstone" + ], + "with": [ + { + "weight": 1, + "block": "beneath:ore/blackstone_sylvite" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/placed_feature/glowstone_spikes.json b/kubejs/data/beneath/worldgen/placed_feature/glowstone_spikes.json new file mode 100644 index 000000000..4bfc5106e --- /dev/null +++ b/kubejs/data/beneath/worldgen/placed_feature/glowstone_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "beneath:glowstone_spikes", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 6 + }, + { + "type": "minecraft:count", + "count": 16 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 10 + }, + "min_inclusive": { + "above_bottom": 29 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/create/tags/items/blaze_burner_fuel/regular.json b/kubejs/data/create/tags/items/blaze_burner_fuel/regular.json deleted file mode 100644 index c8f47d1dc..000000000 --- a/kubejs/data/create/tags/items/blaze_burner_fuel/regular.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "replace": false, - "values": [ - "gtceu:poor_raw_coal", - "gtceu:coal_dust", - "gtceu:charcoal_dust", - "gtceu:raw_coal", - "gtceu:rich_raw_coal", - "gtceu:flawed_coal", - "gtceu:chipped_coal", - "gtceu:pure_coal_dust" - ] -} \ No newline at end of file diff --git a/kubejs/data/create/tags/items/blaze_burner_fuel/special.json b/kubejs/data/create/tags/items/blaze_burner_fuel/special.json deleted file mode 100644 index bdad57f76..000000000 --- a/kubejs/data/create/tags/items/blaze_burner_fuel/special.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "replace": false, - "values": [ - "gtceu:flawless_coal_gem", - "gtceu:exquisite_coal_gem" - ] -} \ No newline at end of file diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/cave_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/cave_enderman.json new file mode 100644 index 000000000..10953fcfc --- /dev/null +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/cave_enderman.json @@ -0,0 +1,126 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "gtceu:raw_coal" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "gtceu:raw_goethite" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "tfc:ore/normal_native_copper" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "endermanoverhaul:entities/cave_enderman" +} \ No newline at end of file diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/dark_oak_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/dark_oak_enderman.json new file mode 100644 index 000000000..3fe97f6cf --- /dev/null +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/dark_oak_enderman.json @@ -0,0 +1,96 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "tfc:powder/wood_ash" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:charcoal" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "endermanoverhaul:entities/dark_oak_enderman" +} \ No newline at end of file diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/mushroom_fields_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/mushroom_fields_enderman.json new file mode 100644 index 000000000..870221ae6 --- /dev/null +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/mushroom_fields_enderman.json @@ -0,0 +1,96 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:red_mushroom" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:brown_mushroom" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "endermanoverhaul:entities/mushroom_fields_enderman" +} \ No newline at end of file diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/nether_wastes_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/nether_wastes_enderman.json new file mode 100644 index 000000000..da0f4b05d --- /dev/null +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/nether_wastes_enderman.json @@ -0,0 +1,66 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "endermanoverhaul:summoner_pearl" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "endermanoverhaul:entities/nether_wastes_enderman" +} \ No newline at end of file diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/swamp_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/swamp_enderman.json new file mode 100644 index 000000000..c47a90367 --- /dev/null +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/swamp_enderman.json @@ -0,0 +1,66 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "endermanoverhaul:summoner_pearl" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "endermanoverhaul:entities/swamp_enderman" +} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json deleted file mode 100644 index dc6df0bef..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json deleted file mode 100644 index 75f5ec0dd..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json deleted file mode 100644 index 1b6bd1233..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json deleted file mode 100644 index 6d36fef00..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json deleted file mode 100644 index feff63c4b..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json deleted file mode 100644 index 9eb30b03a..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json deleted file mode 100644 index b231cc71d..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json deleted file mode 100644 index 15b0bffa9..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json deleted file mode 100644 index cfd4f4157..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json deleted file mode 100644 index 330883062..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json deleted file mode 100644 index 4d9ee0a0b..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json deleted file mode 100644 index 8043ac799..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json deleted file mode 100644 index 88fda6683..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json deleted file mode 100644 index 27f54b78b..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json deleted file mode 100644 index 99b6e5d2a..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json deleted file mode 100644 index fe158515d..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json deleted file mode 100644 index 7862b5adf..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json deleted file mode 100644 index fba48dc2c..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json deleted file mode 100644 index 1571378a9..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json deleted file mode 100644 index 9dd0f5ab6..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_angled" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json deleted file mode 100644 index 74c90469c..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/acacia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json deleted file mode 100644 index ba6754296..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/ash", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json deleted file mode 100644 index e47bf3fb5..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/aspen", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json deleted file mode 100644 index 1c22222fd..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/birch", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json deleted file mode 100644 index 4a52e57e8..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/blackwood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json deleted file mode 100644 index a084ce899..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/chestnut", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json deleted file mode 100644 index 7f78bf37d..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/douglas_fir", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json deleted file mode 100644 index e84d2343b..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/hickory", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json deleted file mode 100644 index 6afdd6499..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/kapok", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json deleted file mode 100644 index c1a62aa2d..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/mangrove", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json deleted file mode 100644 index 6f120dc61..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/maple", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json deleted file mode 100644 index 07bd18b07..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/oak", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json deleted file mode 100644 index 1f8409ea3..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/palm", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json deleted file mode 100644 index 1d0372ac9..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/pine", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json deleted file mode 100644 index fd278f1de..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/rosewood", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json deleted file mode 100644 index 15772a286..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sequoia", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json deleted file mode 100644 index edb2352ad..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/spruce", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json deleted file mode 100644 index 00752807b..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/sycamore", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json deleted file mode 100644 index ca0d3bfbe..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/white_cedar", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json deleted file mode 100644 index 23ea57955..000000000 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "firmaciv:watercraft_frame_flat" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "0" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "1" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "2" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "3" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "4" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - }, - { - "type": "minecraft:item", - "name": "tfc:wood/planks/willow", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "4" - } - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "5" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 2 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "6" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 3 - } - ] - }, - { - "type": "minecraft:item", - "name": "gtceu:copper_bolt", - "conditions": [ - { - "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", - "properties": { - "frame_processed": "7" - } - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": 4 - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/immersive_aircraft/aircraft_upgrades/enhanced_propeller.json b/kubejs/data/immersive_aircraft/aircraft_upgrades/enhanced_propeller.json new file mode 100644 index 000000000..cc5c833b1 --- /dev/null +++ b/kubejs/data/immersive_aircraft/aircraft_upgrades/enhanced_propeller.json @@ -0,0 +1,3 @@ +{ + "friction": -0.6 +} \ No newline at end of file diff --git a/kubejs/data/immersive_aircraft/aircraft_upgrades/improved_landing_gear.json b/kubejs/data/immersive_aircraft/aircraft_upgrades/improved_landing_gear.json new file mode 100644 index 000000000..2ff236ebf --- /dev/null +++ b/kubejs/data/immersive_aircraft/aircraft_upgrades/improved_landing_gear.json @@ -0,0 +1,3 @@ +{ + "acceleration": 0.5 +} \ No newline at end of file diff --git a/kubejs/data/immersive_aircraft/aircraft_upgrades/steel_boiler.json b/kubejs/data/immersive_aircraft/aircraft_upgrades/steel_boiler.json new file mode 100644 index 000000000..0ca2da7ca --- /dev/null +++ b/kubejs/data/immersive_aircraft/aircraft_upgrades/steel_boiler.json @@ -0,0 +1,4 @@ +{ + "engineSpeed": 0.3, + "fuel": 0.4 + } \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json b/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json new file mode 100644 index 000000000..789069143 --- /dev/null +++ b/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:raw_graphite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json b/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json new file mode 100644 index 000000000..ea694585b --- /dev/null +++ b/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:kaolin_clay", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/lootr/loot_table/blocks/lootr_chest.json b/kubejs/data/lootr/loot_table/blocks/lootr_chest.json new file mode 100644 index 000000000..07e34f885 --- /dev/null +++ b/kubejs/data/lootr/loot_table/blocks/lootr_chest.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_components", + "include": [ + "minecraft:custom_name" + ], + "source": "block_entity" + } + ], + "name": "tfc:wood/chest/hickory" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lootr:blocks/lootr_chest" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/dimension/the_nether.json b/kubejs/data/minecraft/dimension/the_nether.json new file mode 100644 index 000000000..2d6dbada9 --- /dev/null +++ b/kubejs/data/minecraft/dimension/the_nether.json @@ -0,0 +1,305 @@ +{ + "type": "tfg:the_nether", + "generator": { + "type": "minecraft:noise", + "settings": "tfg:nether", + "biome_source": { + "type": "minecraft:multi_noise", + "biomes": [ + { + "biome": "tfg:nether/decaying_caverns", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/lava_floes", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/decaying_caverns", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/granite_caves", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/diorite_caves", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/lava_floes", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/diorite_caves", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + }, + { + "biome": "tfg:nether/granite_caves", + "parameters": { + "continentalness": [ 0.2, 1 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + }, + + + + { + "biome": "tfg:nether/lush_hollow", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/ash_forest", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/lush_hollow", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/schist_caves", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/gabbro_caves", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/ash_forest", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/gabbro_caves", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + }, + { + "biome": "tfg:nether/schist_caves", + "parameters": { + "continentalness": [ -0.2, 0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + }, + + + { + "biome": "tfg:nether/webbed_lair", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/basalt_deltas", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.3, 0.5 ] + } + }, + { + "biome": "tfg:nether/webbed_lair", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/granite_caves", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -0.85, -0.3 ] + } + }, + { + "biome": "tfg:nether/gneiss_caves", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/basalt_deltas", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ 0.5, 1 ] + } + }, + { + "biome": "tfg:nether/gneiss_caves", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ -0.5, 0 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + }, + { + "biome": "tfg:nether/granite_caves", + "parameters": { + "continentalness": [ -1, -0.2 ], + "depth": [ 0, 1 ], + "erosion": 0, + "humidity": 0, + "offset": 0, + "temperature": 0, + "weirdness": [ -1, -0.85 ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/blackstone.json b/kubejs/data/minecraft/loot_tables/blocks/blackstone.json new file mode 100644 index 000000000..2102f2609 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/blackstone.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:blackstone", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:blackstone_pebble", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/cobbled_deepslate.json b/kubejs/data/minecraft/loot_tables/blocks/cobbled_deepslate.json new file mode 100644 index 000000000..eb09635dc --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/cobbled_deepslate.json @@ -0,0 +1,38 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfc:sand/black", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [], + "tag": "forge:tools/hammers" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:cobbled_deepslate" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/deepslate.json b/kubejs/data/minecraft/loot_tables/blocks/deepslate.json new file mode 100644 index 000000000..f882a18e3 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/deepslate.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:deepslate", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/deepslate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/dripstone_block.json b/kubejs/data/minecraft/loot_tables/blocks/dripstone_block.json new file mode 100644 index 000000000..f59a57c29 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/dripstone_block.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:dripstone_block", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/dripstone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/fern.json b/kubejs/data/minecraft/loot_tables/blocks/fern.json new file mode 100644 index 000000000..0fb7c8aec --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/fern.json @@ -0,0 +1,5 @@ +{ + "type": "minecraft:block", + "pools": [], + "random_sequence": "minecraft:blocks/fern" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/gilded_blackstone.json b/kubejs/data/minecraft/loot_tables/blocks/gilded_blackstone.json new file mode 100644 index 000000000..4437adfcb --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/gilded_blackstone.json @@ -0,0 +1,65 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:gilded_blackstone", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "beneath:blackstone_pebble", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:ore/poor_native_gold", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.5 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/gold_block.json b/kubejs/data/minecraft/loot_tables/blocks/gold_block.json new file mode 100644 index 000000000..43c0d13a1 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/gold_block.json @@ -0,0 +1,21 @@ +{ + "__comment__": "Changes this back to vanilla, because beneath overrides it", + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:gold_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/lantern.json b/kubejs/data/minecraft/loot_tables/blocks/lantern.json new file mode 100644 index 000000000..40c883de2 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/lantern.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:lamp_glass" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:metal/unfinished_lamp/black_bronze" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/large_fern.json b/kubejs/data/minecraft/loot_tables/blocks/large_fern.json new file mode 100644 index 000000000..0fb7c8aec --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/blocks/large_fern.json @@ -0,0 +1,5 @@ +{ + "type": "minecraft:block", + "pools": [], + "random_sequence": "minecraft:blocks/fern" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json new file mode 100644 index 000000000..3e30a39ee --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json @@ -0,0 +1,929 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:crossbow", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_enchantments", + "enchantments": { + "minecraft:quick_charge": 2, + "minecraft:piercing": 1 + }, + "add": false + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chestplate/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/helmet/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/greaves/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/boots/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/shield/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_pickaxe", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_shovel", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_hammer", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_sword", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/mace/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/javelin/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/rose_gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:piglin_banner_pattern", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:music_disc_pigstep", + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_hammer", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_pickaxe", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_sword", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_knife", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_butchery_knife", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_mining_hammer", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_shovel", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_spade", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_scythe", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wire_cutter", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wrench", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_crowbar", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_screwdriver", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_saw", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 8, + "max": 10 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:silk_cloth", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 5, + "max": 17, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:glow_arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 10, + "max": 28, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:rose_gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "create:golden_sheet", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:long_gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_ring", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:wrought_iron_screw", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 1 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/ingot/pig_iron", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_plate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chain/black_bronze", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 10, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:silver_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:magma_cream", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gunpowder", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/graphite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/kaolinite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "minecraft:shroomlight", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:glowstone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/log/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "beneath:cursed_hide", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/lamp/black_bronze", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:spyglass", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "beneath:ghost_pepper", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "ae2:ender_dust", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "tfc:food/cooked_venison", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:glow_berries", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json new file mode 100644 index 000000000..3e30a39ee --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -0,0 +1,929 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:crossbow", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_enchantments", + "enchantments": { + "minecraft:quick_charge": 2, + "minecraft:piercing": 1 + }, + "add": false + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chestplate/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/helmet/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/greaves/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/boots/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/shield/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_pickaxe", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_shovel", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_hammer", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_sword", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/mace/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/javelin/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/rose_gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:piglin_banner_pattern", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:music_disc_pigstep", + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_hammer", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_pickaxe", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_sword", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_knife", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_butchery_knife", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_mining_hammer", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_shovel", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_spade", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_scythe", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wire_cutter", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wrench", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_crowbar", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_screwdriver", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_saw", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 8, + "max": 10 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:silk_cloth", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 5, + "max": 17, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:glow_arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 10, + "max": 28, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:rose_gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "create:golden_sheet", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:long_gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_ring", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:wrought_iron_screw", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 1 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/ingot/pig_iron", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_plate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chain/black_bronze", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 10, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:silver_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:magma_cream", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gunpowder", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/graphite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/kaolinite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "minecraft:shroomlight", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:glowstone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/log/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "beneath:cursed_hide", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/lamp/black_bronze", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:spyglass", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "beneath:ghost_pepper", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "ae2:ender_dust", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "tfc:food/cooked_venison", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:glow_berries", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json new file mode 100644 index 000000000..3e30a39ee --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -0,0 +1,929 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:crossbow", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_enchantments", + "enchantments": { + "minecraft:quick_charge": 2, + "minecraft:piercing": 1 + }, + "add": false + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chestplate/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/helmet/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/greaves/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/boots/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:metal/shield/black_bronze", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.75, + "max": 1 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_pickaxe", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_shovel", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_hammer", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_sword", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/mace/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/javelin/black_bronze", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/rose_gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/gold", + "functions": [ + { + "function": "minecraft:set_damage", + "damage": { + "type": "minecraft:uniform", + "min": 0.5, + "max": 0.9 + } + }, + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:piglin_banner_pattern", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:music_disc_pigstep", + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_hammer", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_pickaxe", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_sword", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_knife", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_butchery_knife", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_mining_hammer", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_shovel", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_spade", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_scythe", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wire_cutter", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wrench", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_crowbar", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_screwdriver", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_saw", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 8, + "max": 10 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:silk_cloth", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 5, + "max": 17, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:glow_arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 10, + "max": 28, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:rose_gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "create:golden_sheet", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:long_gold_rod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:gold_ring", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:wrought_iron_screw", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 1 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/ingot/pig_iron", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "gtceu:black_bronze_plate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/chain/black_bronze", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 10, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "gtceu:silver_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:magma_cream", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:gunpowder", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/graphite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/kaolinite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "minecraft:shroomlight", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:glowstone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/log/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "beneath:cursed_hide", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/lamp/black_bronze", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:spyglass", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "beneath:ghost_pepper", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 6, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "ae2:ender_dust", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "tfc:food/cooked_venison", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:glow_berries", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 50 + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json new file mode 100644 index 000000000..908d62f07 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json @@ -0,0 +1,561 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "name": "loot_pool", + "rolls": 2, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_hammer", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_pickaxe", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_sword", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_knife", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_butchery_knife", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_mining_hammer", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_shovel", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_spade", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_scythe", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wire_cutter", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_wrench", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_crowbar", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_screwdriver", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:damascus_steel_saw", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:crossbow", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"tfc:forging_bonus\": 4}" + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": { + "type": "minecraft:uniform", + "min": 8, + "max": 12 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:diamond", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:sapphire_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:ruby_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:topaz_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:malachite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:yellow_garnet_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:red_garnet_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:amethyst_shard", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:almandine_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:andradite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:blue_topaz_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:green_sapphire_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:grossular_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:rutile_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:lazurite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:pyrope_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:sodalite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:spessartine_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:uvarovite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:quartzite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:olivine_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:apatite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:monazite_gem", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/entities/enderman.json b/kubejs/data/minecraft/loot_tables/entities/enderman.json new file mode 100644 index 000000000..7fd609913 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/enderman.json @@ -0,0 +1,65 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "ae2:ender_dust" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:chorus_fruit" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/entities/magma_cube.json b/kubejs/data/minecraft/loot_tables/entities/magma_cube.json new file mode 100644 index 000000000..ac76235c8 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/magma_cube.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:magma_cream" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/entities/phantom.json b/kubejs/data/minecraft/loot_tables/entities/phantom.json new file mode 100644 index 000000000..c81073174 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/phantom.json @@ -0,0 +1,59 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 2, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:bone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:phantom_membrane" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/entities/wither_skeleton.json b/kubejs/data/minecraft/loot_tables/entities/wither_skeleton.json new file mode 100644 index 000000000..031bb3e7b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/wither_skeleton.json @@ -0,0 +1,65 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "minecraft:bone" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:looting_enchant" + } + ], + "name": "beneath:cursecoal" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/gameplay/piglin_bartering.json b/kubejs/data/minecraft/loot_tables/gameplay/piglin_bartering.json new file mode 100644 index 000000000..991d9e753 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/gameplay/piglin_bartering.json @@ -0,0 +1,311 @@ +{ + "type": "minecraft:barter", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 9, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 6, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:quartz", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 5, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "gtceu:tin_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:copper_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "beneath:blackstone_brick", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 8, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfg:brick/deepslate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 8, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 6, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/flux", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 12, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "gtceu:raw_graphite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/sulfur", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:kaolin_clay", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 8, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:wood/log/mangrove", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:food/cooked_venison", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:glow_berries", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 8, + "max": 16, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "beneath:ghost_pepper", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:glowstone_dust", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4, + "type": "minecraft:uniform" + } + } + ], + "weight": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/structures/bastion/bridge/bridge_pieces/bridge.nbt b/kubejs/data/minecraft/structures/bastion/bridge/bridge_pieces/bridge.nbt new file mode 100644 index 0000000000000000000000000000000000000000..0e5dad6471832313aae847032c33449065b6eb7d GIT binary patch literal 14679 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/bridge/rampart_plates/plate_0.nbt b/kubejs/data/minecraft/structures/bastion/bridge/rampart_plates/plate_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b21792381b8ebd0d3b4fa5555a7aab5cb36f27d4 GIT binary patch literal 1876 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 Nes{miwK-u-3;?$cwN(HB literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/bridge/ramparts/rampart_1.nbt b/kubejs/data/minecraft/structures/bastion/bridge/ramparts/rampart_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..a5aefca24f83660896da3931ac950c204e2f3555 GIT binary patch literal 18329 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance.nbt b/kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance.nbt new file mode 100644 index 0000000000000000000000000000000000000000..954e081f82796071575427a22a39fe0b75232199 GIT binary patch literal 37792 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 V6AnN9zw&E6qm86)=+grn3;@?8uciP1 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance_face.nbt b/kubejs/data/minecraft/structures/bastion/bridge/starting_pieces/entrance_face.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d3a5a6cfd7854e2976207763e0cf42aedfbf15f6 GIT binary patch literal 2563 zcmb2|=HN(He4ozrKQ*tUC^0WNH9jpdIaMz&sf1zb+_Ocu-NafO-*q38|9GEa>J^=| ziOXk{UJKqlYc1ELOn%|6kcmF2M)?!A%bgNaX=SX~zrrhZ`qzyYYtJ9t>%Jf--Ejh2 z(XD^^$;}ECKYR4%mrp;xf4SqPoAb9nfBQ^iPtB6X>Kn3h^>(S^0hbQg$@^XI&iU|G zd8=cIRsZv|ueI%rK8eo|Gq}rpEXMBe>2$ssS9y=^GrBcTb2F0<;|wu_?XQIQ%(MS_ zpoQCqYX*;j{8j_*GhAze8J4m5@XlZ}&`q#9@I%^%;|o_~oZ-5_;Aj6 z#hffYLu$=shGnci>=KJI>zfT7%9%^dkqP6)zlDOCmofTq&)_qVGjRF-mG>A^e#8S_ z?mdZ(<~kqRSnq8(AT3sL7)@}-3`T?Pf0Pf{GZ8}w@A)^2L5YJ#Hfi3#6M z*_SnD9<-9Zv6=n#7q4j>6y&2O@avvvpC$INN6g!YaYoR|x^J)SVw0o_)``7Y&fLR( zU1=6yL!@@(p(dV8$F?mBAd^h86+;@Z$RO_9|mSwwZRj}N;9{|vb|=?rJ0PUE@L%GAJoBIAhWax-_0zru zGcIHEVV)uOW+%wMuNaLP+)i&{GFl7Pp7n3z0ei6@$Ityp&$Jh{2!};J%)fDrGs7H~ ziB8C5O^G7Jyv30MLLM(Ug@c<)wV)w(nBxf=a`x>O$Pi@Gbz0!cvBkiFn;93uy=8*~ zH}{qe#!)(k+6P1$G#NpDIl~~K%j}|n8znq*10ySgV%Zrx`OXBhKU>NC`ATEus{=Nr z3G=KB{AFh>=R0G;o;HWs_*|pp^8-D_3CAoA9?Q%q5FW;9q_Ft=*Yp*u$lWImr^WXP6LebuJ z{gDYl8~oU22pNbbWI;mZ>vM@OsK}OpCU)gQ)9(-mUe+rCaH1ed>HsKdT>O>D^{b|; z^qcB3w(D63taKxmGxuEM556!TiavanzID^N;M)iNIkB@@HD8>Epr~4&75$7~4Hwu6 zUuI5YI1@FKRda?o8oEB~6w~FVQY(l}X~A4r(Bx&)8TPWgP<7B}tlC?Xa_YCHFsNjc z$eov#FfZ+t&rE0`mSOC=x|rjYOp{f+acNwV)`5)8(O`jdS1L2@mz>*cwA)md=fWWd z2yq5fOfb(7Gmr&`XU2Qq6b0s#gnik&q8IFDofWlUCF`tPlD?^pnT(eik1;P}ufA5~ z#0Eu8%XTx|WxeyBX^-LoX{J4j59-7V_H*yJ4-?XtxBOv!&hp1^P0JrM56GlULZCCJ zUjMqmn#MYV$v`zh>%f%NlV8luZt9)!N_(&dE3Y!9~dnQw>Q4c1y?4ZD%TyJ9j?i zWxOZwfOqD{V?v+|1u7io?1dB#i)-UI1pRt-70Ik7v5daq4#BzSkJr~D#S9?J< zYsq?tTCITjTvwKdefo1GBw=opWi{`)xaQ5*9lF`(tY&)0>?l|w)$+{NR z+~@8!{oQi^-$Ko)oQ%l~lbO_*efVaGCU6~?(y)@jc}oVvWu|4!J?uXGGZ+oB58PpV zX8m;EivxQvH&!oa-n@yqsxkKJ_CFgV#tQNR} zH3uBF-q81~lHcZiOngHpEr&3Z9i;gulsi3{Fb&`-CYvrS&e$z|=1aXqYQsrJP*#B!MX_Vpzw%Fw?KA-^OO|VJ$w<1&Q#^1x1oQvl3-TrIo(bs-AujWSXB!&Nb z?)LBgouBb>%iVmr{>RTh+aG&t$eChqm)rF9_x!wX&mZrozjLQvPF`Ps+VjJS;vw?; z{(Y(Wr^|WfTX4Ys|1bS->o5O!U8Ugp#~-Q1|1NWjt@-pZuz$C~$Im-%&pAJPx;%5& zW`*C^KYrL_x$n>Wtm$)m{@$LbL{Tc-^!Wizk52X z`m1)ySBd6!|7xt{zs>&L{`lLc+YY<0eSg1tPi#`v+ao{9pZ#UZkAHiA|1XoeN~!nz z|JfJj$NyWbcm4NC{^M_5XMEga`=+_Vc;311`)&5`{pN2Kb86Oqi+RWE^ZS-h4`(_0 Q{@{N`e#vOnqj?Mr0IkP;$p8QV literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4684402ffdf71ef041a7e75d0dd42b22e9e8c087 GIT binary patch literal 1793 zcmb2|=HN(Ge4ozrKQk{cwJ6>|FE6Qt;pptMdAGv^TJ_)Cd#=ow{#NN`$yHymyQOza zFNSVsOTBC)JWIrbE$=s5?WBEanzwscWlr&q;o!QSa154@dej{XUrEw8`d#o*)g3HEa+<}W|{Mt zb7>BKr;30{LBzg~m=YTyv?u$;O@{XpN`8m68S`6+KK z5{@%l%iZ8)5KgaA<(62PE){T|?aF4+U$0s|GALi|7k%~oayp|^ZiHeR-;KhC&Fp1= zdgkto%sgnb^})RCgSOY3tQWJEYFu?=sd>a&qjSJx^X;bCLrvCeSa-LumPc^E+YmCH zUE(F5_SIsxN0S?Wq$t=)cKE}XmKWxof8ix&Aa>&;gK*2e*9Z1JY>Dxa;5Oh(uz8?! zmRtSHe3lIVhHr49jCV`+f>`FaQW@7BcC+33+Vd?XjeSCiR9_Y;#PeO5!92(I!5hYO{#O^6W96QlW_~M|!M}iy zdBsMCE$jvP0<28)wycXF9BF}%g$i07e(Yw=n2|NcP8Va>%=$^TLI^7|UF`4n$ z+JrA>K6CGFxX6&q2uT}HVlSmO=owG$R_$S(Vft3AU|Yjx);YQla`YeUnWoQfVSV5@ zqaELej}86ohF==`*=v|iR5Q$Bejvl}oWa8Vfp*iJWe5DY-lQDxD{GWxH^}~Y(s5tW z0ZaBd#Rn>xf8;RC=Y6o5v1Z$W>ta7{F~y%ev-yo`5359GU8aGy>5W{I8Ox{ii>FOy zD-LM3Tyaq5N<#W%i`$v}3=+HsYzaCCEE*=JEnRY&@f=@4S;J;fP(Nmr=l@Z0K)qoP z`vFUabBqOj4gM@OmuBAj0LqvG@y~Z1VtQsHUYHi zGFtU#TUOVvSDe2d*Iu1+J+{#LPf^C}Rr|H`*OiqP{#_`4YuTP#rB{DkUy&1hXZowN zoH3@pH)CVBKbF7ld^`5))3-0q$lcl&WwDx^+d;QYY&wOjqT=j10$v=rUm#)68i@&E)9)0ES3_a^V zr5aQ3Z#{hBUcJ$mzmXmOKJN2(huggG`c-DN|H0v})RGry7TMj{+{dSrKkRn;yEgxdR@MM#asJV O_6C1y_BT5*FaQA7^7} z?>3#YIgH zkW~RjTmNVE1ikw6_v)v&)AHjr?tdw^-hOt;x%k$i-FY|aXLv2$^k3xEoVHBaEp@4G zH#65gf0pUO@z~7ZCKr>0kox@t856vlW2BxKDNJWHHEHN)tYP^ec)*=Op0OsU!C&lP z3d3SYJ?2Lo2XbB(EjY*bqKGlpu!o_Cbw&;IWaijPhv|I@CMQxI^cW?$e^>~lXWz43 z(a-+%W8<$Q2GM`tFn{elx{={=!@9MAbw-l*r=aF6?fJ?jd8!4>{Geath~{+hDD zPIZMp=d0kRUsDqDH4okkVtXZgIOnas=!H1Ox1tf&5E{e@Utqq@p?2MYdqtuv{CSiW zrn45xbZictpS|F<)Qeqg)rU+kl=41{U7LRG$WKe=^fx*eKWiUj0J&Cz-JtT3&HTn{ zN49sYk~_pxIybLi+X;3!^P`A{la9Qf9p+q!d{inUdvM7)21yI%lm|Q$8jT&;YAlaN zuKm9ENYu52xmg?hOe2;{tqJD6wvz32NOS3`gI2y*)tPII4!AS>@IAZ2ZeZ1PGs+s| zy$g9tGeXu&U0BWbWfh}snnScG4J)>p!ZXB_!!8#2#nDCoAbJk( zgUv}i2XYF<0@4}(CNr1zB^ou{T(ywZHlHz_-NO1n<VWYGJ>?J=>?B1puEBE4)!*uptHW!{Yt^>u$PL+Z*@1vTH z>x5otIm(AMoEJTi(pcVM$kVCJkSuJsLO5;#V>+)z_JK&|b7~*-jM^Z!w-xyP+{CtT zO{0GHgVRz!$Yd6IL7k$+wgi@hPc7z>500R7sNJ{G2UW@Fp$ILFH>yg zq5V7`Vwi2NGn_X)P|W)whWVV3=3C1P^O#YHca3HITdEh_WqvD{@!g?X@It7Yfz%O0 z24#lNlZr(@q%!}x%TRBA;6Cq%a^^p=2kyo+=yQK4mr{Q^m8mAOLH}|LUqaA4?E~zr zKNd7tmv;5De%;v6&swAN;4y@du@BZ*zotej;(&R?(OS$ z&jf!>|Gh2$TXL=W{{pF9Wmaa}&3CW6S3l#~!u-6l+@B8{hgTp_O!73@pe@bAC$h|kn1ac()#N(d*${0-huo2#h*6bcpo+O z{i9IJ^Bzky^utevukW68J+}JA?Azg{mEX00m71^rwSQmDg*)?~onL*=e*e{K`!~zf zFM6id@2c6tv-?HYpT)nYpZ))}>7;+@^)toAc6;_jYy2%)*7dA(rTfp%7IS8O{9|9C zR665~&qwC3ej_ZGh%%4`1 zY%arhcI~F}Qghw6+Mk~XFTRsEH&05N`Te<1J?l~X?@`u%iBf5De(~oX27i{eT$6n2XWswA zHEW*#{m8qXz44NM^5P@YQY&K=x5*!Ss(zW*d$GMy^)Hut8{J}yx*Vb6@0mB10-T>5 z-(^3C`@;|M^NIfpIB#G5YqakF*+p`xHknn2{?B*$Yn2rhY}%81S^xIoP28IQ5Bx|| z+|E|9nK!q;e!_qIp8plQD%T{`>>YP literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b5044a1fc2574b4b342a1b3e915c7983234bace3 GIT binary patch literal 2226 zcmb2|=HN(Ge4ozrKQk{cwJ6?5FE6QtVe1_K{3pjmkIeoXXa3*%+sO@#x5ei-F;t&8 z`+QFCoFY*R<*c^2E}0228ng2!C|tGd z*V8W3p8buTVgd(T7@UuFB*sz&-j(88N#Lk7M8Q*dryE{XgFXMYc?N8CSWz5NpZU-Xd67tq|OT6f6 zTqp5Gn{97L<2s2KUST!&4sjgNIAGE6k)b$SZrOr(%^Tst2K>PnE{pt_%v2w=!F}n0 z`8+=+Gu9hD@MqhS?oiG4%#Cf!^Mtw263#t$2b|ttn z^mtx^QowPxYnxcU9cF!eFk<08?iafo_HjqNXF7M6>D(d3b4;%^RxH*oy>>2R;m(Km z8#vc;Gro2@Fh~4@-HL>B+A}_LJzLeZb5+7Rtr@GqOsPl7jI2iGdyNE#_aQ=XMKWh`xbSF-%WuHg$$1w)%f1nbA8ib{m$rg zEBL~9Nbo)I=lXN9!Cvx%I`h92q=5W$veDl1gF5@aCkN)s{FuyKU-ZDA?~i7KJ?n?% z4F5z9%xC%$%uvtuz@PDtW~068hvh8)rW}|r^dp$5-U}3}hWeHYTq*YK?_wp&hh?Sd_bP{pT-CGMtiP57e(u@oqNwWr_<@5#e;t4T{0J*I^4It@U&5n z|3}4xVxAvI8vJ=``ob;pKXT5!C}XkMvcRqQLC>=TJ5M$iPiB6u#(vJ1Z_aEP3*pwP ziA--LFU(_v6OCIZGrqOFFpn8Z+&Eke^83j~Y<_RR;&;tP`?ROeuWV`*YzS;9G&i`& zC4ct-$BM-Z>5Tec0I0&sy__Oa5+!TOh-;DxK|(h2{oa$AS*rTx)Z9f%N%3vDZIJ zpYOl>$sn?_&e^=~U)|ly70k*Eiy0m>)z<%wIVg6FsfVG5iRa-PMm4@OS0|J)-eS!V zUl7{>W`r+@ZPa7kCGsL@fp??c_D?n^#nhN2xItlTz?Wci;7H?My(j(b|0*6J2!EcE zqYmLPBL9LY`@Pvtw}cniGTxdj`nHbwF~hOujd_{=;ak+DCAeR49H?m6dDN0QIW^&5 zN`pV&w-%W*&t*QGWSq}*<|@;d)eLfC4&jUz(;Gg2@>#&t!=2*6eNNMCfh|+bBJ&TN zPYtrpbWxR&!Z;1);UoM%4$V(S$Cdm`jhOqZnMJmNSN>{?I}nKzB@pD zb6NE5OSWT8R!jz52672bH}#KLGS4wS03q0GiVVW|j%gi`i({~3eGuFfH|4-{p*7t? zA3DS8rYCZPqCohR2UF49h8T5)>zpS_rxa^|C?pZA%p4}8*$rpZ6gG37KxgJCEA(@o zNM`ypqrt|_vburusUc&fkAs}>gySqv;LNz}^JWHOSHQk+=w~l=n(6D1COqLLONtre z_rEMptQdFtIjj>d$PYNM*OBo%n{&;nsrNVEKGgE5zv<2*h5r}89_CAM`svOr$8|x^ zVK>8DrY+nc1}J>t0d2Y9G-E8^iz0{V;2hPc$6r#p;52ir+>1{R;XKE@!scDSRGB_K z&s_D`-)rV~Qzk9UznyjcTIWgmS?jXi+d0)$S~+mZdcz0$z;Yi;(ws>Zjg3bTH_ySveT zi*LDH@v;wjHEV8td)oam_J884_9Hi*-K(kH`DyzzgE0TjkHMxguTK6cseJjfY4yhT zX9aW2)C~?-`Csx{I&l@ z_}eWn{$GCD`s<@fZOoT{AC}%bUT40qgHP-Cw@;U9Zn|DS)*OAEd&wNbk1MlYXRbQW z_jc-D)>k*jLzR~E%zU%qj!d+fScgZiBb z&+Nayf8O|`c;48aUzWB*VyZ9y z@AzfOrf>USUrBl8pa1-8$p8L5am5v4EAIB(Rx#Ay^O&hH)_%_ZSjB&t%El`E~AMtC^1#@} KUz`tRU;qFcqc%bS literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_3.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/inner_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4bbeca636db01e6819461b5c7d4f74ebf33e6f3d GIT binary patch literal 2291 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 KoM-W4U;qG4eAXWT literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..0aba0740e4c50c9eff13d9888fef9ef777d0450a GIT binary patch literal 1915 zcmb2|=HN(Ge4ozrKfkmjwJ6>|FE6Qt;p!ak;@fUwtUg>!@*?9HMiutA2 zR<79;+9>3r*vKHpIQ{rf_RsB~eltZjc?93xA#Z$AX;sox-MRa|&$+$*cM10f@1TGU-F4pW_PtAkZtAxhwI{}~>BisFF!%d< zWlxXA@s#j{LtJjn7E(tH75W$p-*BrjOVqZV6p~;z;Cu3kVe_)nt|h6QJ#2+M9m$Nx z7<<@ju5J0fbYXZ=Wq>^YtH;V;Jri{fSR6=SYsZ+uzu-CZ1<{6eG9OMd&X+mk%4hLB zydW-mIqQW`hFBO8v+y+YnOjmij zK5$)G&h&MqL#U}NRX3Vhp zSo%SWhK~%wEt@mg&aIZT@b;LoVNNaU`KgbdFa$TmfPBYWWC>Pb>v(Bt+&eb5ge7)Y z7Vw+CaOV9L&}?^Q!EqA{_t>PQVn;*A3wbR0Q3g^8ODs*B%ylK$4dgydd=_$PUZX|X zNlt@HvHo3;9c1_)RS2jv_{g1{s%mhlF2liI`oj6J8^+>2>=G;M*Ick)|Gj3R`I-P{ z_D2>6ZZ=!k38_D87OPmw`aM|tjV`y_F8-(s?LqlZ8vN^6<+%+e=|>m%ZFo?Zb7>$5 zAEso-Ia_0-o?Mz3quCREaK;H^h1mxr8a6UK4l`gZ;G3APr}mMjig&Tneq;Ycqr`jq z^WX1aImXlzeK6xdr2CI024V>^2PzgGS2@R4VAimiaSrc;97cKW9}x$R#~oB(lOVHV zbGOZQuSA{$5ej?!|DZhncp&g;B4?`s9}0Anc2<~LIgL&JQbB- zH^{Ehny{K_r`Cnf(hWD8N;k3=hCJDs&b63z{gg*36Q5tvJX1NhmPz^Nbhf%xjq|e} zET7W?4nrb<;TWsB2%`N<)ip*ny$qFO@GqN_G1B~T}DH^#DjRYAJZBCr5>1jk>UQtBGHMa5<(Iu zxp_W_NF8VD*X6b;KskpnRaO{SiQ?>`V(umAAOAbk{jMjJg^S3&v(=lt+YR- zaxYm$;^n){#`?&G^*K-et`Kp%Rjpqv%6X=8j?u?+ldedMD1U8Z-J5uDkF~*aP-@&I z^T5YYF2U}4oYv*{%VKuQw{M#tQYW)(-Mv!Zb*p}FTfcjD`iuSYxA*O|z4raGdHcfb zw;V{`UH{{- z=sf?2&w>(H>@K@+UM|jbe$%^G8{aK+Jrh0Y{FDD5Z#Jxy{Z-z7IIpHW<9qDw?x25F zzb@Lm30Zh#{}a3Nwzu=6gF0*`{7pL6;(XWi@)a9djeT=8YrngQe!Uyh|LOPRf{Z@@ z|FaL;Z26aOz3R>4s6{okT}9VT+BeSLtadC+{@Hxl-HH42-%Z)Qes^IUSJ|(Mj4Ahd zFPqrxbNhQca;M*vXAgFVpZLbI^7dotdHkj2`&)dMls$H~eSYrv%Lx1Rvi0%zxBZQ~ znKp0nb)Wx?tyQnOzgZm1oRMh}bN-?8=idb#&v^Mu_t$%U{?mKirrz@D%U5-B*Y{8S zveInZ{L5;lXQMA4W-9z!Fz0{TuEclG(*yPGFTUsh{6+r0`JpZKD|Wv#-&}F-x6>om z|GPIv=)Zj)`1I7V>&Krq{r+82|NCsR@zuM#Z@2Gyd%yOPMfrgX|L^SKw3NBMY<_uD z<>A1e%a!h&shS>U-+zcT~=6zi(!D=COVBjQn=#(AsGKul#2VYor!# R`yafY$>Q0yqbpn)7yuPXqRapQ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..bb36b7648d4080217072e90cff340ab2e050bebc GIT binary patch literal 2224 zcmb2|=HN(Ge4ozrKfkmjwJ6?DFE6QtVe1_4{Ksx$t=*y9+`NY4qtg^oqYcNdD=_A?DtOXdt52GrAE~4=I1Lu zZ|5r~No;S@6cacw!J>|Jv7;VuQRalx4KZw2E-=`!eGok0&LGcN!}4LHpq(pIFhdX9 zPM!{BhRw@PH(FUQIPF@p)POC4B|+!F578d>TeU8`{Sr)0q&nzv7g-9V=iXz!Ag8pe zglV(caz&%%D=owlWFG8UwwL9WcfqzP3Hs9$?s*5yHwu~`BExQw{dJ{7tyaK%t}Dx# zzOFnlGoaCUVb>M))<|pftOa}7Ze?#MhtMF7c|vZEL#^3^oSQDMCLiKBk?JVJ{%FnB zbncSe#&xi zD_LWLy`Q~_H4saXIq+oN%Hq$V&BhD+uBf*f&dmNCQ=1hqUus^U*qn9{`V!3jYh~-4 z;^(VapTF{sRcjQSaGI%ydFLN4H}{gI2CU$Ki+r5JFrPJ8qkpBBpZ>D4hH-=;D61q+lv(G+|(O{@Bo#BjBIb?6BtNUGkEHPj*C}T}te_)5Gk8I_&G~x3iTn&|R^79W!Gzd0q)Ry42 zc+K%#+^$0)%lF*|bgPAl#QIt`l{&M{fsK2bbVWEq15uK|-m z%ja8hWeuB|=g7|BW-qZ^a5{G3>GcUV7v43N@t6GMcs`-RZpSfo20O+lTFRx+fHnY$!yAJ2un zhBD?Y(hKe~yk*M}Ul7|+#(0Yr!r1Aw`}`L*-d`)({)RNy&05{h`gP+1JFzRr8Dsfg z6gf<1-X(M4>ADM3U+rJ;*!8*rvQcrF*#N5_4$lf{ad$h@cCwrzbei!EXP--%r z!RMUvOdnp;3ridIcuO)Dc*if)e*Tx|Ln+%2E9RQHjQh?p#JiXN?D=na;JW04*QgTd z4eO0jgk#r%T;KT1B0!$~)nkWRnHBxaUkex5@m)F2{8ldGy93k%W&B&%7uYhqWz67r zsAjmud?Ai0R`o(Cf@s_u!}wP8LL8L1DtfDU-ZcjQ*{l6|Ev`2d^IGIHJm-C|hqZ89 z_>n?}$)6uG)$B;QHlu4#{ft95dg{dI?&Gj0b~S&ydGK1|8uO5+dO!~_?+RDu){irEz=#U zIYIfEbIbLH&thwy>qeZ{`ZO<&Yx3*UVqeO+tCq6bPCs_?t1OsxuF3dL)4x>5|C<)n zM_$;k^CDhs&Uvvf+}yufS)VUtO`pR0olD1Jv5v*!qGG9rbwWop58hg#^j`P&k>6W( zZhmSy-)m-~IcsXY^zOuG#X$k8gZ`uKnA) zwCm>E^Uq(l*kZmr*!;h-hUBdFu-baY{`bqil@wd^eKueAvE=gh@5M%zeaY+h?KyC( z{qYw?jk|YO*2nDo9lhP&{C#s#aPh6}msc}(POq5Hz2?7Iqx}-rdAt5T%n$!jGs|3G z^w+ZY-<+$zJ3ZLEX7{r@UoI;>Gd-#P>3*$Q!mDEs&mP`kz2CCu_de-OLHqXo$&f2s z8SrSkr|o^uXpNW4y}N#%zrFqQl&8<%aqaZq|L*y2GBvtbJv_{Ns&za`oX4ZMOW}YrXnWbJU`m>dvC;+m098 zr^g=Co3T3UXXcgg^P&0+rq{gsUc4{Z{@wStb2okWt)FK;-$%Z0ZPD(+S;yM_Kkn;1 zx_c()dppN%;vSdh#%0=@{QWCrHu2Ux{ZSig1YSp(kpXVF><>>mq zLumJ9OTWWDk3UxNy}!NxM51J{@AvKY{_SbIZ1+6+8n}Sx^9_}aKV7VK1gv|O|Eymo z|9t7cBX7>ne^GwClF$GBtuuG_=Kqq@<*3hS`+Jm-hIW} R|5yGqZuyjDd^CiC0RYp=E$#pS literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4845741d2341f4d4340c5efb7eb86c0c659a708a GIT binary patch literal 2432 zcmb2|=HN(Ge4ozrKfkmjwJ6?5FE6Qt;pm+6`FD1Swrbw<_EI|f{nk}y?k#sqLPaWm zZ-2Mz#j0rMZK=`vpE3*kB!Z=F zzx{uAMB?+GuV?=}eZGE`S?KoJzgE8Qd-gLt_s>^@dwZF~Izn*0gE)KyAyfatZEZ(U7RYZCgQ_ts3a=RB=hW9sAr7WGN+si)dlh0YM zSAhZN7X=zjXMa2;-GuMT8;7&qZs)GNVYt4iF#XzHMm_#>een-BNlS5?a6S9vP@H#u zdc$g#7}bdNLTg+(cX%BLUHfCtQo#j*3kn?`H$J;#x8`8g)d%w;n`WclNHU_Q$Zp$A6Z`O{yza$i_4HuLxAMS=?g12!{D@juftuFYqxdc*YP2J4HB z#b1Aj`fmJGHEZ=wrdhw3dQbnzIrwj5!vBa3^*Ryd+}G|lm2OYCs~Zu_{mY8`+LflS zi)P)Kb!v6to3>>Pk8hlboOb4K!Nm%L@VvXMYj!u3iWl5tP03=kG!Nh0P$<%~So`ss z)Gc@JeGtzmdhT>!r@)5itb6#hZhYqYwx?0QW>v<0^DHw z=|4Fp&-+>baeQ!Zu;29P{4}=)x5i_Pz3j7M&Xp=WfA%NvK|fQy$dAPbXkmIGokty76?Kg)EVp1h%=|ouS|7Tc3AB2_*_QU)T$C^rK+alEPO zjhF4NkAD`jN-@rw{&fd$ul3@CUHN-ORW-4R9A)8R%aF-Fn5Z^F;=JoD5 z_HsWSHzEgpmeZe!S zHQ~H9d&926Z$_7YM_%|I zMJ$p>Q~7L%)`3vQbzB9Z4Xc@AuCm6YE)%ak8<(Gd(!+%y12sL=x^Y ze^6(DBnxobKoBUo0-j19cr|D@F*!X zbDU7v@+^i;aDqO|6K=+zP7eD7Cg`(#xxuulx#5k1f;GnpJ`nR>gu{9L1<%DVeCB@f zll9A=DcaXRbH8}b`sFjzuS&+hdm8HE9PIzk($0aoo{{(AslENWNLrYx>KJYJH_Wp? z9>@GmYQy!0y=-qx6V@|UNBop|J#86-6gN0kfy&7zMU4$H3JT&JCs>&XGab*(hm@z_ zLKQ+7YR`Xr>ypNWC!2bjbQUX|);M9rRn!P)ZsJ*MIXzY6kBzJ2y}$|OB2Q#lE8P*y z=ceH|E@(&`XY|z**EnI#^{KCE&tir58YiqR_4s$#Jop68@H=cCXdR3Z-Sd6dnMgD3 z^IP&Wi@t}hI=OZ?bM=|Vtpy2pWh2V1!u4KTPSBP;F_kYxo4sfbb9K+Tsi%$jo-}Qr zm5@?y8+z=o#kbujL)r@^ZoOW(+Go$}^0x(FJ%2qvUU&Vj%&pxo+y7d8Io|&6+pDUK z{Cl#?3$Mq<%K!S=KlNhl?;A7i=N)E-Jab)r7u_PklMAo(&%pgfgw*992Eo;9Y|M%~PUFb3Yw-5Ktz8ACM1i7) zeIvFx*YAIw7tgqF#@Ai8+YWCzut)b(@W=WeubNiMm*2PVyMFxr_rHHHyx*j8f9}7` zeQ%yzIJTTO?w+fV%dgj&T|d9iF8@5~>GgO2yI+UfwR||cM)UjI3%!4{jo`JfBdtbcey9~A3moVTR(Bhc=G+_H*6puiyK!yL$26J)7dwesOR3Ub*~h`{cmHUAuoKR%I-o-Tw7b ziq!Y%*S}u*dt_JK^$&sp<(u<1cl_-8y20a4o{i1_+^qJ6zhaI(uiy0k`{(cc?{}Yh zWP5h{Kd00a26lg&Lf81k*lpSUyMJE2>8pJI#e8q`_T_v}+w$>3`R<=5&XuzT*XsPp z(#w;4aCYs(KVRiP)*t)&{(Ja*nLnA=r+@w$Keu)J^zP33?B(C)-+lO_rq%Pm>3`<1 L*=(5`6B!r);Y`Y1 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_3.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7b31b79f3d9e07072354ed97687974b93236b363 GIT binary patch literal 2305 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_4.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/large_stables/outer_4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..1c022fb3ace8e5f955e9c71b95a2103092f67106 GIT binary patch literal 2244 zcmb2|=HN(Ge4ozrKfkmjwJ6?1FE6QtVeg!?MR#_HwmQbdFsL;C(McDZ>^rTpY0c(& zvqHCNc`bXo?d7snv-=+JIk@L*z_#0KCpkVU&azoGsXnA#{JG47Cia|La}C!PK0o~5 z&G48_-T%zL-(HvJ_{#L3PPFVv|NP^sRK4}t^89mi4Zqp1o!I`fX6K7fS353#Hqv?g zT-!^6+knY{FF_>X58tw%PAmE{8ICcX34VK)?O3A~mw`+5je`*n`dR%XZ(FPv+!ftoE)6mA!_Cjf8S7;}xO4wA zk)FYppmX2^UpnhQjT_M-U;3EpZ6fUDemv&>cZ0Wwp@+FfB*Esuo1elB_KZK!iAH{kAu&Qz}iA(pfL+j3yO*pJIiG1r@ZhjahQY_!+?u$=i{$$|NNKQ1?Zz06p@ z3*_Wu%y!lPzC8GMmASs^fj|GBmyPzeAC~L?*xY*avwGuR^Tz6Ordz@n<~eNhbf{+A zWwc}YjMI{fi`=pg?A*lo{M52Z{Q45?uQU!+G;mJ+9L{`h9^usZsx!5 z9QIpZcyDSa_F-eI)zb6&S*0vj3K#Tg|G1o!U~}NgIR(Bsjxr}W`QC7ffPKg)!4A@# zkafOV_6C3UKbHsoEW4C0h&HYhdy&QXT&y4uM7(2o&R6j6fYqCZb$l;gHLR0+@#>(| z>&9<#8SfqWza5w__v3PNtqx#qU3@<-0KUwmKA(qYinS`M~2|jrCddGo4%K2 zea<_$C)(h>*pK8!`)v>WHM_M=tTqLuXou+xu}meF3r;h}@~x?4hp@OxG%qYo*e8+^ zz96=-OgBS+u58vV+Y9dw#yxK=)^LD`Z3g0b%%4kibe~MSHK(k>pS@}Wdvyr^k1q}W{6AC?&Q$Op^<4u2(9sg}q_#ZK$Ugw0p*b{kfEW%rN1{{cFOy{?#K5&!yoZK3D{*uZC z+6*8!!-JTk#C3r-lbzs)%!3iRi8}EoqPFf`$DCZ6u+M72YUbbm{1)F6_Ejxd&Atmv z2wj-ku#Tlfb%A!{Kd%H^^#}e;|56_Kv!N3+4*gyfJtL}3WI{OWlTfQL-RqnuRx^EC z)v!lPVLjK0)gjZ_XGFz`f@K*iLmlAEtP3DmJ|NHfPve7oqdnK3zz6;8pk&fm z#=oU{!CmIJavA&%)eN_oFUU1~W7xvJz?La?;{xrR1d%H%pI&{Qe3Z8*?9)P+Of`%85e&Xwe_-ddzcMGb@TEkt8?9xYd9BgMyR_Bo+N#X=49{6!r99}@+;e$rYo^xk z#I=6RuRI>c9@q6*yIlMxs8|7^m$ z{j!Ab|4#)n%Vzsu*uURa=J@W*ABuiHKWrm=Zv8QF^X-=lzCYV@=J>~F-%29>OY~av z<-32rENZhq`q<^OcWYwmH=J2MJF{jd-!r*ql}7dZ4jtRhf4V*6&BNB8r@t;=&;R}T z!&;L%Nx$!pKV4;&{=f0VW!9T@;*IsU#VV}s?Em$SYyQ2q-J-&BZJ9CCK5oqYUHW0Z zyr+`uv!;K?Mfd)z`ku!6KIZDochfKbF_^(|9-!I&pw%DpMN>quD`c`m%|r}`PcTJ zG+AG^>-*!cNx$D6-0}2F-XEh+{MRSW_o%k_x%~fpQsnx7haP=qt+(m*|FmDY`_X}i zR}1#o%e$|Y&e7?tpZ5R i_k3S3e))fPL|c9T^3RV|)&6JIF?;B^@8FGNU;qIAF-N5U literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c3b10a9508d4a40f8b6a52d26256c38685e62b34 GIT binary patch literal 1985 zcmb2|=HN(Ee4ozrzbG-cAhD<`SoY9td#w`WoNfY`k#HOZ1VPT+5a!!M9yExUwE}=x6#IxcR3}>~Y3p z%xa9wn0<2Xq|UgXf42FE!~u%~6$exflr*e7d%WSNgn>Nsv*ZIcJTv+kKN}|4v7I^I z^fSUhp8Hwy!OhVh-iX=kUTgFF>Eg9Ezo!Zw&^VBBK;l5efh`S%4Idjg8#)_28(uO@ zW(;NsE?&<1Zp(qWVmmH3ZQF8Sz1WYdO#7oAOlPjMB$BxL&HcbXjvMlfzm*f}S>E(F z{1x0_&x9dZ`Tu_90(-eH$D99ET#)Dg_1LlA=0!jI-;b0DaxSoE{G#6QkLALAhF`)C z^-M4P8UAu^{yULXjX|yHyBExxuR+2KbQ!m(Hf&?LFpc4skVACVZp8$1mN#t;cLg>` zGnF|X$m6)td)l2Pw{wAR;WqoM#)}WE*bKxBa*uwuxIJI>7&FMoYCo8f+1@O!;i^_eFo1ArWsMuLK)t(-nQu&Y~7}EVH(S= zNe=I3p*-*mv^=w-ey%U9RD|8Yv9;Jlc@)_)}n?C<8(Pn*GTPrC`? z*n@vX4qW*ad|Q6!W_$1JfejZM3>!8!to)k3&)&O--G{*k#aNzSlO5}gUih>9J-NVM z@{4-&zmyB}DHJriEx+{uM}kN~)?dx3_oFLPbt=|J)pNb@XZ)+V`EO*Bl0`Sm3_hE1 za1hwDep%k|PvpXUreDDhU`4r_3v^kxEN$2(a$y?NtssYJt_*L++{nglYaF7(7U*h! z_+J*b`EJCnK2{%Y33dto84NQb3M)--&sSZ>?88>9_h4Rle8Q7+|6Z^zyEg6CzY}x+ zMketj=p;me^AyVg7lXqrGx!W74Os7dUbQJX`@($F7w4tEq{rTzubs@0%y^mU7$`r2 z0v#g3dutP0?#j3Dl=JS5+vWoi1#`s=_zdI>7!3q%!dI2-+a?{Z#=NYddfnEg?71%; zqpKbi@yEPtJZ)RBoc-OG19RneTyBnidvM*igz)MOt8H)e%Dp)j{$QuZV}@Ys%RlE= znsE0pxG}mhA7ePiw2ZZf84_1Muyl1*T!Imnf{Voq-Z7o?K2XUyWAgz^?t*}ZW+oYt z2MZY3SuHdUI5P5ap$Zk4XF-Mj2tAn2u%G3J>H&QtXVyPK2lNRL<%^$9XR6bDfI>`^ z%z7}Ltu7Nku|wK)zsU!0W)!0P%ms%1JReTuCl1_Q@iVm{p6v$;k<51Q zQP-QVeO*v$n-RvHqIFAMB#U-__Su);KmL5!Av^Ehyk&p$YAS5<&i%g;^HM(V z%g^J>x2ON$Uf<>W=jjgnp5v$EBdYfu`EdQ&l@q)B!+*ak+xooFW{#fo%>9qe&7XZ^ zli&aAf8+W425Vj1?e=`~@xO02oImVs&wKg9>k6CLxQkEfXVo*7 MT&RB98_vK00PDiAi2wiq literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4baba4b3fdf7bdd85cd952cc8db607bc6de69d05 GIT binary patch literal 18200 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%0AdhROM z{n=VI`Kxe_JD|k%1AmO@f8cNZ`20@EM<-Ca73k6b;=!@1w(1=dWg+`~a4GQb3`%rE zQvjkSaG1+{#qz*TsRuE<0nZDToqPT)UKETLTe({pE6CV9WfS=Z-O!Y9HJP1l9lg2lgJ=9fm%T@K7@RVeDS$_yKGr>bV=1SVt9--BJGF zUSl=;JM4^oPIJRoeC8^RTX;_UN@c6n`he%6ul9fi*-Gy%I46Cjve_y>;5qNBJ&tqD zS9}HwT3@Mbw|XD&T=vx-=egx8K&8RLbJkZX|94rvpCEbmjn)|`+LuzLIax6{AzsvI z@y~?TpAV+{=%<=RoadVvU)8?n*PnBSv-r(s5J1}+?aza1mpj=e@-jcs2M`#)bMEj@ z-{CKAWdD3$45;JrFmCbAdmZqRgNQQ+lGwzIH_UiwY;icf!0xcpoSEjm5iALU4XzAg zjIU%C*fGZRZurho-47-T{<&DxE6uSNoEI+`;ZpJLi1E4jQ#lhP&;E0R3_e0TiD>=C zf<9GHpOI-9wDZWcjI%=Z!PJIurnr~d6}``J*-uRB!%+_Z0A3$%M-Iq zLMasDSSv&ygf@V>ly=Km?_GT@xhx#k%<^eD!-O&t^zGoBj3X#5g7p06@+I&ghKvVp z%;r+)LkyT@fg8K|HRC<&^iq^!(i?r6eA;{(eOi5*ecI1}D)`?Ceczs@e|Y7j=Ad?H zuh(#+z)$oBr~2d(XUhr}zj`OEF<1bGK}S%z;M? zV#g)LrW-A;eA;oeuXWsM` z4|z=IENnA=V|!p9(;ICVQ8SJCjqRa($_S!HPpL*vY0hfFb5}WZl)!^SkaC_iLgzpd zqZl_-sN$IJho0zjHjnjE%}(?@Gg3Ae+A;A!FJkB!Wn3Dw$%iBYY5QGf^5LE{6KQC1 z%K8MuSrcndK6>Sp*7lkOC5Vk@MVHQq?u{@>xY*#@ym{Th$m}9`E zjYJqL&RKbW=gn&?>;zv4FN6~hKZ`!B=_{~vPY^tK6)mzs^*mUpG5smi`BSX(rgGb8 zi$mua9=I{V;~pvRKX`-M#z%^9Q1gEaLpPHS*PM3NbBCEq^#Y#5hyuB3#_#t&JaZ@{7=R{w{EJP(9T1Pb-FFZK&LW3)_7%wCRz!~kvdzjbr?Xmjs>cDC=M$~y5?nA9U zEw8c6_OzeL(A#{-CbhNl6xZh|qR%w7&jg3fSiZ)TG6fHzG~`b>=3jGZ|K#Wxe4Z8~@+wRz@gHsk4}NWi8O_M{~k zGIvYDi}%K(JUUPzSlJFQr7Cgd*)&l z_ai{lQMeoVcZBz(tAUcm&mL*iQW||U-pzOuZ(54aXNFH^oLsw*V*=%J=n^)p0^_RKsH?Ho3ZJhDUxSTn9Z1& zYoL5P!EM{Yo}6aMn`Sfaz6m(YoK@k#%fI3wqp8igD+RkibBG7Q5gu=SW`Eg?`nU0W zzQ^qfZ+ML|%@Hu4?>cz4vHfe$Gnh()|F;tVZ9V)ayZz^NzR&Ar;S%AG>;GpzInR>k zlYYm-oLQ<6`@BF++tHo-^9znBF?2KNFm2#CfWnyH4Jy?;4k$69F$(&SW(81VzC!oI zpQr~vw;uR?o+(eKU>!JyIq!HNXM9kkBMa5E{l40ICPU8r(Y(fLNY4+QA&#f@|6^YC zxtjB~=GSkt*Vl)jHv&kOTIOyCi-dCF)Yt2?5HT!b{=Kno&Z#nl&@XXV-&5mj9XELsBJDiif z-Ei|7Oww(-r#l{L6+m4GUtT)zx7snzo=p8d>zz8Uqh2LG)R{*@m1^Sa^Z zb;i%@nPC#WNW;e%L&9W^63_Yl{gzvv&Vyr2_=)FkR*#QeZ9T(seWs$Yg0SLd2Q^1E z=VcDy?yz%O>zNF-Ql4jg=pBFPP{97C>ltkpk08xFczX}dsAB!fvwk)A%!@JkM^-bf zhYktB8Fj4dFUGw0jtd8MPw#cWW)a}Sfe-F3V_eU-=a*#MbR$rk7%{tGfB1C}ulb2L z6F@cf#q@MmF_bg_84}dqaASep?U}!P#39qyYbu-1WNb6Nb)E0`t;BfiH`(pAvITSf z_peLbR?541ZT5`Z*uy!mrP89W8{FO{_h;|)^D}wAYfV^Lu%2xu-}flR%?J0o6|c^o z5gmK@&MT>BVb=||?`qq5)%48Tb%}YUyf~!TpFiZuJM-Weexl}BZ}I2u>=~Z1hkag2 zr3GC#n7pfP<`vU3OV%Z-mGT;|#E|-W^~ZhF-Ev>1DMJ<>V3{m{2%T$Ty%TYumk{Cc z0F)Azp5d9v@EXeusLA6UZIzcz&rDjEIPFX7+{>*#jXurQr8~}XU6(v7yN=zsmB~(g zMRB8*_=lYh=b!eRf9bUBV5wC~*pBNN%L;fm&(5B4H|Fr0v?s-_R^b-rT32>9ofplz zaqi0VSD+ypSYJHsgh#Dg?bqxXzA=Y$l1k*h8Jo`0OOd*heT9F2o8A8m+t)L{#+>T; zb^iK=*ZbPyzMFn&aliia%WJl(o#q!#?`@2G$NQxyf5G%>=Dl~MUtGTDF#j9duPx>m zmhWw}d&~PJGk*blHS^!A(l6HEbEyBy_G`8Ih4{UV|6cKa3C~}!zY0~V`QGp1wDvQG zFOJ?NtQca>iQb<*($A|3@fizIiPc6@rQ*M^{aR#x;ryP)x@Wv!6!RBc|MK+SVQ`xm z)b}wh-*N86^ZL98yU*~}Oqbj%onNq?_ubc**L7?5?`VB5zWu}BM`HV|?;I*`kN)wl zfcw5|-oxF8b!*CZw7%!t{^9OJWXbn`wtqNhpJd3`%^Bfy;F0C#!+YJ{f8PGVuAUnQ zrTp%*nGE*_f3)9`}^*p-S>6( z{Jwjr`mXMt>$S}9bM7CozHR>D+&A7mn`@chN8LZL`@YU>Np8x*9bL$U3Va&i6cHye9l+K&T8{d&iQS;XR(yniigE%n0-*tnv(ODJt*_-pc(kDpfO1BI)nIM zJZ1?O7qsza-2f8@ezKY71RQ2FeG_n)Z(Z4n;&!WY7_oV&^IYpWy4qI?TBX(n92U*m z;lvxh;yhRSd#`;2LtF>vOa7Tj zn7}g+4xcTD&4Xf}4P*Mw`f88ET=5m3K}#aQ1D#g-0nfpL!WQ!zT$#i;BUBP5A~Ak( zi7nput0Np*l{JQghdN5bK>^Pd|s3f7hVh$&f7+nKiJNGoq zJk330XAd+!+5WxR@Ll%XzQgy*Z~W$~zMuHsy1@S2o4-NJc+(sf@0H)Mp7~qpfqiy= zcePhuwmmcZUE;kG{?E&*XPDnTyyvCdGvDt9`Bazsb!q-fr?jTmc$U&!+>`kP=gJ3o zj5Ge}{P3sifj>*V(hp(idI;EZI}{<%YCG7{IxM4GEc21p*V<#j=F9Jl#k&eyx;C6yhkGDiOb%35ipq}%p^wnmk+OQSpxxPj& zw9~$l-ui1z`m5qRzY_l9Mb$He?;f7>LhhN%cLViZ?Uola-v6GtH~v%)T)_5B=ezaC z{+HbYF%sdL`2XegK0b3#KlR(eIWHKWx$qmPS2b8(WIod=m*Dq>p?DGd3}M>?c%>3A zET2o%(ubct_V_!Dpx!gdE^wItpE1pW-+;NQLGl9gnFhH8wl56E3)p8c+8*F}fkjH8 zG}#2KxC4FJCCY4XrN>Mde}@Sq7VR!faYA^_dr(0ur7lx zkwIqIEq{9kR3kUPE;+Ggg5+5Xx9oQtp7DW*f1=s<6pMNO={;qivD4<(FQizXC#Ziiv)i8BRrajh+rJnJZz$oGk(c!K+kW}8DYPXwPS^c%2OwpgA}K7%Ti z^2PG(2TL5IU^Q)-7MJJOw?v*)KI0{q81{){^Cb5fQ*92dc_Nsm+Has;370bZ#S;cz zUx#HdO4SHD4UMa#@Xj~CqEeQ1{X zgM9~QnMZtP%f7d9{!gJ_H}n_w|0R-|_?vHLp#1Nr3-~QbSi4AgB^%z=Yw$8$@E%$` zf!0c62%RrF*837NSd22x0$bGGer84g-=YuC8-(WQa_&$^8mw%{gw9x;GvH0HTCTs) z{jX5f6+F~D{e}5|gnk{Vr7m zcUK?A$-cX~|54oHdC$FHr0;8~dv@9}zu<7(WzMQ*^%uPJ7MNEw-Ftw8;}i#3I4${= z&HsY5jbr`?mc0jszl=zZ{`qMIipB>^A=5L}sVH*;o1N3H*y9VI_peV&wSl?=i1q$% zuZ&;e4*%MwZh9P>YLRyF%ykgjRE_dxgy+x!LQKaiv< z*G{;p0CE)$c|2OlmTLa~ftcl?4~Q)mAN)mG1~kq1Ukmq4rt9Dk+%Qjc-DbzME6P<( z`|fvSA|{2cf)9Jo+r&y4@gd42m2*Do_=91CmVMHAyW z$P(Kod(aAN=u+$B#&`7J);7O>GePpJXPxPfeS5$Qu0d-){F;2)szpK5g%Ri3W?uaL za6P-uJY&$hvDYj+{J^7yu+1nN*4zD%`=0&d-3Kr(N&a#-5j^gn{%7YD&w}-^F~xfd zo1LFY?6L2UIFlX`bE@awVRzUZ0BqK`(beMcqgSBzG;FrA=ibda-uF4m;mTLkoobbk zi07BrhkuBvGhK1M7&eHP*1lK1dGmKsoANlv^RGm0g5wSvKZR4=aR)a)5VhfsJ9z%m zo~Gh|qH{j4e=w(>_4yxdi}~>ff7+}9wbHMsJJd2=Q9p3+@XWpQt?T0s-u%sV?p}Do zw|z~Uzl+Ylwatfrzg8#-c{Q^;4#up9$JZ5WnmCH_OeA&!(^2T<`kqN9!5J>y{6!KBtSTpExr? z($cIkS=eIP_b%q+Zr{5K*8dO%jpt3soFG|SruO5F&xf0mYoA+QRs1xcY6udf9iS2ln#qxX$=}*8Km> zGcWG6I{b6Zb;-FijpyvGn#(owqNQ2Xd8XHu=X55loG{U}{6x+K$+>$M|591u-}K8S z9ev5Mq;0Spww)WLdK;cGWrK-z8|HDn&McVA`)YGz`}vs{iz~N$m%X<6a8+5vdB)e4 z3AXHOo;Q3w^8C40ic*T(`DF~}4}#G1KhwW!i5m&7Q~vG+OQVpwmG|6XhV$LTpuoA> zYjz%*C0&reVIJG-m!RB!Yrhg?d8TpIyB_E;I%BrozNE9#Dc=s3-}rG<=fR!w^MPtk zX^lQV=d7HN*?c}+X3pyK(0w2mpVw}A#+IG8;Tc=@JCK1<53RIg(wl$f6s-RX9z5x} zvl=!MU9znQG+4oZ<2PfqeZqV8H-8)UoJ!f^*+>2*Y8$VZ;tp8-W*&(fD zUEjLk{g12`Z_X=O&-OhlzHq&f1;4n3vABh?`|qg4cUHLXm(8CI4$hpJFmF-<-=qgIz6I;lW}H@eA*gCmEj;Jp z;_9dCPq>`uIrsD8UamW zcwYL)W?0Mqq1Es371HQ-=7~$rV}+o_U*8<~VrgtuZ9L~;)m)~TRu+xmKWIOSWX#zO&v>%+3f41y*D6@grxUj0I@kB8hdvPp=Zjw318&Y1 zt2w7NpLt;!@xU_T!OzeKmMgAnHb3`keIDNWJY06i$2p#GUhDIf>y|sDeaTt%K}P1T zcHPmvkio*9dE%n;nvv1s+NICmD}px#O4>eldwp`lJf`cK1#`byZswmCFA759i_d(i z^p!MPY`pnk<&6h6InAHb+f2`Ic*c;;2PHm;X3Nbjc-6t@TMo{=@W4mn zuJ+-*Mt4ACK_FjoeP8v%^6dq@7Mzn@H~FE})1T>I6+rVaX>gN~HrB-aJctKTPS#GT@n ze%I>7ZK$38zvqBvg^XY6_JbP1m!H3X&I?`;>z4kWE&VPWnOV$dUSoM+7MM_8qkgDL zX-#^gPvyVOToWW~+01|J$^TF(e|NR*|C`AtSWfiVotCbdWcirYgrQ4qG=VvuC zPC1nDY!mN2*Yb$-e6MfrPqGy>I-Ri3IO;RFTst1VMxFQEbJ=reWI<&5-s@~LlMB+` z71+IppbtKhYb_7WQeFclpo@R1|5b}A2(zU><9q%Jj8?^^n+V^37;_c8m_YI`&j-Hr zXBoEEYtq}l%ABu1E|%g}dyCmloV`Ym??;SGvuXMczsA=#>1iiqn!m5OxL51W>RQ*d zFO~9Zmml71btk*EdTqh_uiEcSf9;Vk$dmc-Zu$2pg~o0qecw>NpZVNI z5UM-&wc-0N=6kQ*O8ji0j*XBI1`dOUTbcSap2WYI- z_>a`N57`!n-Ct{hO8u1^<~=|2;`gT)pbp8tM{$eaKfC_HXJ=dbDN~#MCAQq)T`Q7* z|C~3qdA#nSr1`DiT-EjGKnt8eOPh>;{alg#VtdTt&wr)ny}$mUW`EoB-=;SAAuFZl zmalloXL@I0oAs4~cByv(hh<-Vp0jd-mT;Ml)C5X_Pgqw$%!uqcc10`vNi9) z`8W3ul<%Fb|0-BNB@JAHf*O?I#`2fAa^nJ>xho$oJ;OAU1-#o2w1Cp>{TA~Ne$~t% zDm^Rj!QS#CO3d9nIz}5R&Vd}b**WctT|M*r&*mTO>|qm%w&{qayU>NXzw%0%@6UEa z-E6WKW%w2AmNleJY{)xI?pPzQILU5J|IXzTp0JDQvM6+?LCv)AA3E#dn-17~Ap1-p z`%55OPhhJK-X6$CY%_SUm3h5v#oG^(cOKTs1>;{c*G0d${<74~`0T~KOfl;7Ru=D_FcUmG3!0e)PZR{!mp*w_ zw5)A9c>5Bla0czqmHZl>zi@vQ_us40FV^34s{bnXujZ8QmxTOlZy;}2{D7|zoMPCoEwe8;*YykJe;(Neei z?dN5`oN))YuQ_J2%)EGCw3vPG(~JA8-mE^n&+1KfE2PN_idqZvYwK@ZU$MQ0-S*W* z&}<}I^?mRZC3Cp>it~J5Z$A8U6R8Hu+Hu%8^?#RC->=o>7mn|1w)-agW#jt={k811 zZ>(P=-*=Rc{w1yd!1^Eek9&Wa_PyTQ@V-j_!R~w9Kh}MRbFEKs|KR(?w6A$j!+Qn& z2eO}7_gvoBP<~7NgWu}cl7DMXb5~riVtlWw|KM+W$$Gx)FAL_1uG?I9w6yMDWq$fR zYyAf^t#@5#E3G@%GmlmOf#i3ld4*u=+&%FRIu(rPo5VlpT!8L@m;8I@=wI>k-DSs| zPukRctjSM*_w`fv`{w8Cj8E0)(AdFFEcebw`R*Yq0ApVz!!>QCkB=RPey?Pv7= z?p)&k`CvT%wa;@pC%l{>`PXt~e0=Z!+K1r=t7}<{-FBYaZeaaS?Ag5f>bYg2`~Kf; zFWUNNd3pZ+{{>Uy>%V{VzrX*d^UhcGHNXG9eqZ_x$~L_I-WL-{buMKbGI$ z`|t1lz5hSF`)&SItM30V{rq)#b-(oMYyM7`kNf}QW6{U<^7s38Th;x_zxU^9JOBTP zb1)kN^MLvwVN-Py6>TuG?!LdHr4f z-oD@e%}PTm;Jy0`0@YWzxQ@|pZ8DwyY9c~@4xwH?(6^Wob~tr z_1b^s`*)nb|L^J9^89;$vfpl-_p?3wTmACo@2CGiaM}O&n*XnNm&^a__qX0t^>wrV zv-$V;{QvOJe17=X+vW2A{yaNgA9wzv>x)DCw|x9OTlW7o^WQ(S-+$fz^=#d`(`WbJ z=6ARGY;K$TqipNnlJ4vI^)hc?)&IL4`}gNv``j0guiAxuGM^uRsP6aSa(VrK|FX?~ z=+`};S-w7hf5G!_$!h;U{Mv0UZ@1^?a{2xLcO3iw_VTUs`}E^%|8I}~>hk;bdnHx7 zuswg@+wc4R@NB>Qy}Db~HGk{(*Vdc!WB-PJ91$JNbMSm2D|CP5}_v!fidw*a0 z=l?6%`sd@<^7r;tv;Y73_1k{$-+%t$9}oA}|Gzx7?wi@ayRYBd|J(Nd|1!1uy1#ej z*I#;nulC1>clzRb`}X|*{94{F?#thH`S|^RFVDBvn)C0+ukZg$w%7mo5?H_Q_J585 zyUL&6j(`8Z>vY7u{l9m!@on?_^(Ma_tG`_J@8Mnhn*X=!Hy+*p^TnS> zte@`x|M36m_UZlm|Nbtw|Cf^D{r*?qp1=AReq;W+uOEZt|9w<${c(4;{lAij z?fmtB{?`9#FMt2F8}|(_V^VAJ6`=i{hELM|MTYd`~H8iUbpRk&DZ}-9))&t4ilIe03Md(R{#J2 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..73efc4bc4470784acfdfd9692d2e882a59e8427f GIT binary patch literal 11313 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4f4640aa2f902c29998b9819649c546d8a1523d8 GIT binary patch literal 1854 zcmb2|=HN(Ee4ozrKQk{cwJ6>|FE6QtVe4$i{3qKa+g83;*3447t>VzIfOS?(l@`~V zh1=&9^HsgNdf~>Wh{#AOkEk58{|o*vu-`7V{%K)OP>oq8Z$)`;rOUqe?q2t;=X^ak zxN*IOz?9q%f5R!BkI&;lJ>f=(*v}`@r;z)z(y;lrO`xuTf z9n1Z(N$~y3!fku3AKZ1_vs~ilg*Qs~e47d#HnX3ZR?fet`oUf1_u7jaHZ~MGoWHjB zjq=yZlT#MhsqWDC3Yc#cG=GX5_py%-#XAqOe2C#aP|a|@h2fhU!#(DTJeGj@46lM4 ze}yb~A2RXR5{bJj5=B?~du?X!VLuaATQ>2R2#|v829rT_ zbsfLSd&l)A*?K3RtYAu6t8{sG*fGXq%*)QCtYvz#i|NTOrOjg6iyJ=9ycgRrZ}w-o zhVQS8XD}H|iqvPU_A#N%TjBe$zAc0(^h(XyT(9O_&bjtoOETUpSiUl4Tg^=l;cES4$J(OD zQ~G@--aK#i`A?)IYY%G=a}T>uUjCD7CN8fgC#e+gfBs6?p_XZdKf~9R4ePmntO65C z`;xvdVE(?~^p7aX*)PTQKHJ31yz_V7WgUmlr#KR}eQR?unSG)%#BZ~kiFcFW0gV}_ z8PD1k+dVVdd%&$`sl>@SwL8!JPL;mdu6cH+u?hPx*F0a@5APbv*+Fr|_@1xg`+?o; z-xu^(m~*O?w@v%}v~j)A53PfJ9HI=GjngR{_SkFw8>zpIFlSR29&|o_2;~l(ijcKg2Oc&i$ zm*AGze(=VL7`?)G&&?%-Etv~DKhJ+Y>om(_qwJ5L?x-CVX%IZ1k)V^%p+EnowB>uQ zJ=!1E9oWqTX5=-NbMJ|MaF^-5SjF}OyIJp{`l9^6ZuWgPAD%Yq^Vd{9IL#cd`XQ7F zPSmxnFKXsIP|a|U`GZ`;cZNOe4{RCUi(ZIfJPRUhtrw)Te|gg|PjAGm|)KGgcr(GWl7;=jC69CCNKfalyq=l z6PUorlET1<&b*+_iX!?-dpfGRhB@E09%-x0c)o8H%i;t*ZV7gY`7iG>6*V=?QBY8S z^6k9bi<`{0)eF-3Uu~}Yx31x2DktksSI4}C#ZQeIn(i!8*sgIxm#c{T>YUTMT<3yB zQlwdLx;btOoREuPdWxh7vCeckc(WCup&QCn;WFxM@>#T?T>Au+sW4gNgbLTa+1e+B zxHh#k&6_=YHB)hD!a7-rboQ(r?2q3h`fr^1H`wK0yjPcE@zbhC*1ad2?xi^9FRCiq zd$MU?vZMdT1>zAGxZ}=k^)?XedCV~RwYb<9Zth>LtbY$R)g?Oa->@J);)1?T#r$lL z+T{@!f^}YK>f0~gJ~6$!`e}Ch7W*>?cg%0wHs4pGecfvQSm87Ow!MA*?v?Pb>A$z- zuRH#$?BDUs7q?!n+qu)KDVB)%wciJA8j{?|yh=>)*6p{=ufLx*>q+ zO#jzk{izo__wy;0uFrpBABpRC2VaY=elvTv_|~7V!au#vi~Cz&S-Ehh{aN|&{q=Qk zzt>s#^e@|dZr|QLTVl#SPW`d;@N@Hbvs*R&ORt|PF3x*WAEENMVp^Bk-pH5v^CT;p z=EeP8vv<>#itpzOEleN(G@m+M@zwm>Cq?AvyZyeLx@GnTF(9gPr=i= z73o`~r{%u+m00uZ;pC3v*-!tz{5a{1Rqcx1@61bd?@BOQPKLS3* z_x}2tdS%_a>8F2%FXm0Y{pIxD-8M=-6#_L|JEGYuzV_VM_wV4p_dEXmefcVw_44)A eH~$Bm|GIxxp;dg+y+61Ah^t@N8ok(ofdK$`-jq=Q literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/inner_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..91be77e2fceefd25287991011fd63754bc270fbb GIT binary patch literal 1915 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 p)cMlBJ%11LEV@ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/small_stables/outer_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5fda5828e359497fb4571b9afe0cbec80d622196 GIT binary patch literal 1984 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 BSK0so literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..768be4ae7d0fcca7ef396102ac4e82d7741e7cd3 GIT binary patch literal 4094 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 E0F(U8K>z>% literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..72ee273c877cd4fbf16f513647b2c490d001aaf4 GIT binary patch literal 4181 zcmb2|=HN(Ie4ozrzqlkZv#2=UFy2HjFR6s#>|Nh}Y4$|rw3O!*x_)O@D z0E@w-J4NR#PiTfWPSVJ{_E<8pt!?v9wx8D|Z!S|gt@1nYkuy)lUhcnbv48*D+KQ|` zc5Bz|sj)SCey%^f=k{B>KY!o6eE;?3`} z?TX{48(n{=eR!7f8q348xGi)F;#uFVc8Gs^W^X(9%=8ad*Wc}(_t7T)L`~iMk4|ZA z*{&y2PKZSKxBkuwpLeio*?RBmQUz?RO!`YrzkqSl4Z}ek+{2C!VE3o=5sO=khZ=GdZrW`e4Nyx7<0+ z;hAL0wtL0Qd!D!TJ}GPiQ>Pp4cHt%WW zz$vHAr`4w!9I>0VXL4H2UC_!*5N&475|0m zhI`CkC?%f&r>PS>Ct@}W9&}@o7R+(k zfRmwf;W|^TE-qs22cC5oUUJRFATpbNs?6|5Big=C;d!qq`D{+&ITT`l(z)yVwu`)2 zbYKqmnVo1v(^am|D-GszeO{SfcPwY`2je-`CwwNHoUrqnYx~!d2>8JPHEZtso8eIXVRN~qGS?IgZT`fQHT$spI=Up zoN)8jDokgRVy|3kRu*!%~^|5)aKRR7Vl|LS$F+O_c) zuW#->eGg)Tx%w(F$HIr>7pXAFgKaa(o3VSbFwf=)n_z$_bgKn(SqB$WO0#O6iQKXdI~QG@LthToqVzddJubDsUieEtpg@(J%_pKsp! zUGBkiMX+Es|Ay~!3GZzW+^cTb`<#B+krWX}KD-8kJy&`3K)D8(p+D@7|s zD#a>=EoEEXz4xd0ooYSvy!I;hOv!bkiijk%%yF4>nnT*_bSCCG;w%>W90hR#5B4Y= zsB~=j+{EylmGK-m6Ox33b?v^5?y?Vj6c5aFYA|kPNatcaC&DyGlf@#KqhOf;n#8ty z{>FRer)`*c(2Y%6GA9Lt@nrpmk2T5mHU}i#8;tvO?OFebde|-LDsWk=?jY>_xWa=X9aCQ>aB?&fACiHzN)n z<1!1|u(7FEG-pjhGOM)q4HTjH#N^jC>8Jgf>^c9ae3*OyH{+l`o4w?pln;|}GjK*5 za*Ps;zYx4x5fXnU__882{z~v=MQHr-d?^0)f9(uKVZ~s@%L*a=Wx1xKbO|B0Nr^{y8Gy9)k^KK!G7=x2D#=k*-VJY zZ1EF+QPPM^R7?|pQQLS=yyBkthK&uqtT{Rf$v?TI&zql{wC&HD2kET#+CL%>p699y z`>?rbz9^;;OP$aU&j;#_^YJiv>WqGze4ySu9}k16j_Zf!gXInL@i4gRw0^97u)JwL z9tK;T)Q`*u%Nyt8Ver*i{doCcdGmZc48}UPACeE!8|LF-+G4{B!_u^NdQ@fyh*ML*Brp3|H66}jDk))c96eINaN zd9+#D2E*oF$(%C@$!yZbH)b3>#)Br*k)Yhv%VDN;1Hu5uIV`3hhnM`Sc??P}tX1&~ zz9SJmZj-e z06$(cf7k5yadMyYejfgN_HN;H`FHvG-}UqPE3ewCJ(f4}G3ZU0}S?$@j3;=eyAne)rn z{r&s*@7s6t?f?Ed{rB<5XaC;KF8`jNpZ_lIkI4ULW&b~X`|$aH#h+)--o5)Uq5R>q zukXs|@B74Wo-hC1{>j~{KLU2|{yn>_|Mv&0e%xLAzmKne{P*za;j_2Pj~g$~->pAy z%D1N`m;QZw_V(_>ui}R#=IebeiC(_@Uw8bSuV)W;*Vlaf^si#i|92&~>$jKQUapyY z=VkoAM^605XYbx_&;R3)ZJplE|NnFTeBAx_?b~p(f4@)n-j}-(Af$a@@P#=kKQ1@q1tF{`+?J-Kwe$ zxB30!e-%{!|MvFb*SyNj`)g~edZryO|NY%x|3^j5jrt$wK3{n{`|s-I%S*)TEo|iM z<6gdB*mAk~?@^<3aprq(-{1T9qtWs9_x5)$%&*yX=Iy_CFHgU#dpz6fP5tcIzq(Sd z%$NJY-~V%Yt4{y-`||hysy*IYzr*s5t*wi{|69HLckN~F@BQ)b@A2?|S1(t6eSP}% zZ~1p|e-`~*U)}iUaqZvt;uH4O?=SsXdHr8${hj~EA3pqeIQ-4A`uG3XPfKer|Fxfi F0RTVwPQ(BJ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..46a0291e8047d173c03fa7b974fbc8ef807ea371 GIT binary patch literal 4100 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..470bea324e95a4b62dd0e835d0b2879b3b791776 GIT binary patch literal 3996 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 mJo|Eb`Hp4Y}re{ZXP za>=^xxp&w9Gn}#RwOpM(-~PJ~zt6tWnrOW4*wqd1|nLY?A+7SW$Cy%Ckp3Zq2VV3S^m0#4=dcxF0B$*>Ns#af93Zj4M6I=45>7 zS=LY;x*(F_tYy8;hvWV~7N?m=Wt{u@xY1tj2bd6UuxEUt-f)X~g)Nj&USZpG>#>X3 zGn40kIuFd}fDoR-|6WL*U1^`@wz%%kTfR8eAFe z!avllU+|49YrR6U=$f6@?;;!B7<<{Im`zwSv@Ym0JX^GJet5$9`=8ty>qR~w5zO@_ zAKX!i;|%pYAJ7Rukf*saw02x)%7}WN%6jg!ZX8nu=L6LRWsF<7SKMv9CA;Eu=1U}Ku;;>@?m3Q+1f!xQxMtitUXj&yC3v z8`KRG{F4sMd!kxyyx6eUwlnjK%~h7~mc7i`-yDPw%u-%q%jnDYTGJu8F^$n=?cQF- z-@MG_z;v(C^u5W={O%OJF2C6iD8EDjUS45JGo z3syQ5_w8o8^OdFCe6isJE3pig44DfR3pgEw8`T(n*=8}Bh-RECG#8F{HeDX*u(G}AfJ#)?gl;T_Ws?gx4eyD=F) z1?9%GitorKJY?WzkFYp!h*6AhLqS6;vyRP&G zB~${!nMzgRMCyilJl7^4tm4`c&iGyHL7eEF)lJo*H}V4)^e=Ic_iVJA#8j)o`paWg z;O{`^to*MsA}>yAT$miVKz*@;zgy$H9wu8!)+!^eIcG&*#A;mF9k8H$p~HKp#(S+y zd%0Pw#JT49i(2g0E~pEC@MqnDpRtXfcQZXNXFd0xYtBUx3vTTKv9Jd^YYs$4G;ZF& zl%B|X?hx0UR#6M?;Q7(%O04HLaLut5wW!uA_!jcu&B_BegBv$5XG%Xm?L1$_3x{X2 zA8sB@s2tw&a=h=>ysww7R+{&hnba3mlNU=f zE_h#DFny8ZdWYtFt!#U_d8@>w=A1SCA;reK?;BXGmXr6Fkkl8|jJIny7o3*2{#YAb zEX8ZWmZ5XOV!=lT;RZD(-j6#$1<bp}RJg*0nD$@^Mz9c1M9KjrW--YPCmLMYbc_-vGIoQ6 z7BTR1f7pOQXn)wi#E(wA5tRH;8@=q|=6OFNS&F4tO`gPw_x@{R+&lML6;DL}%pY}s zEWu?l2fQpk>$>4SZ4I`v+y(Y{0|Nz>$QI@CdjjYdhAdqbE2R5W`Tk~KF|izGCU;WEn%wF4%M%Qy{u8#0-EgcD}Lg(N?mY6xfB zWAtDu<9eQo)C1bgaZn*HEaA?LE!;t3{r2qsjJ<5Lg6j|UJS(v+bi4ek&h2(ZpJu>x zrczl`whX^)f8$v!>zuRn9fBK|ef_*x=Y@3i1@mnS^6z~5xniS(vO}?6yVQmY4XtcC zU$i5({CXw!<*M$B)zKHiw=YcqfA-VAwqc4M0P&KFqT)S^q!_5{La_Mem(&>}p zH(|_Bx}dV)q(g8+n?df^=d5SESWr>a%?k?BQYp^OIT;gpc{eR|G&4ETR_AIKwON`G z1wdh?=`$nJKf7!LUVHPt}>02^#b^WU}}uCrB|~=9uAjzywJMkyF93 zOl;;gdJxLc%@iSWU=f2D>jsSmS4JJKgg}r`$b&>yxiD1XnkRp7y4m#P7f*J-%`z@a z+#b9B_vxci$S6?XUW`+Fw5+E|`kF!`e6Xh5rAtc~$uCr}ERL-!8nf&wkq9 z*=aZX^-Q(?K6~0*w_j%acjK>f)fW9T$XqXfs!H{3{JG0<{N}|Q{QI@L|8spak3VE* z@Z;8!{T)}f_fMQ9X+7`IK8uV$wfp6c6;|8`+heKo?mWM@d%^C-zmBUfwdv%$wsilS zZQl>)#qjbk_`QGax4FN5UtV4J?a!*$i97DE=g+RHe0twDoA3Xgs`7|qGrw+m_oKUW z)x5mFOMb~bJKg=PpZ#s#-o1Ne*IDm;dHwfc>BING&c1#1*|yD(-yQxuweCyJ($f8w zdvZP>6?*^ctMBu^^9?7vPybuD-#(_q{@t(k_A88kee1uz%#&~b`=ez0eWtYj{N3w! z^W4n0?uCyejmgChxan*9HI;`aIq*YN*0|4Pdr Ld|Q~emVp5PEp?*_ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..700335d600c82e50924b3f53929eab1976566055 GIT binary patch literal 3155 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 LmFX>NVqgFO#!vL; literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..cb7a663f549b6e9c65a4101851015513e88ec44f GIT binary patch literal 4107 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 aU9Z0{+)c_w_Fwms+)(fdK#<_?Qj= literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..10e26d490f88d084114dc9c695ec03b640d8dc59 GIT binary patch literal 3817 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..59bd0f0158b3a2f678b785dd52e57eed2d996291 GIT binary patch literal 3975 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 R&;Orw-I>}y_ckyv0043$NudA$ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b654a0bd5b0d903ee3733f66812235014490c22f GIT binary patch literal 4130 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 XU}GD*=u-WaddA$^d&^IyF)#oCBohwv literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt new file mode 100644 index 0000000000000000000000000000000000000000..f060973e6ffebf7a38e7e66632f5c793645b7a3a GIT binary patch literal 4369 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 P`_F4rwfAMlQ3eJ8o9$aC literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt new file mode 100644 index 0000000000000000000000000000000000000000..16477bd4fcff335d053f73f667655042a68269f6 GIT binary patch literal 4367 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt new file mode 100644 index 0000000000000000000000000000000000000000..1ade7947b504691f9af8147f69dabf52802a5a92 GIT binary patch literal 4361 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 LVE?wuM;RCZ_yl}2 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c2c0a2ae126232aca3064d22d0209e10896f35cb GIT binary patch literal 4531 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 HGB5xDC;nyV literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..02dc7dd267cf16c539e47cadd3cced56550c491e GIT binary patch literal 4264 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..26336a50ea3383f32161f8d3f38317084991e1dc GIT binary patch literal 4494 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 WWaPKa_#%IKKZAn0xXivQ3=9AyzmMGj literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..067a58c16f8c8d66b82181c6e851f65aa36de330 GIT binary patch literal 4386 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_0.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e06815b15a9c3eb7d920d1fca1ea79c5a792d422 GIT binary patch literal 15551 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_1.nbt b/kubejs/data/minecraft/structures/bastion/hoglin_stable/walls/side_wall_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..973479a43b7b4eb76352700019ba2bbdea30019e GIT binary patch literal 15807 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 G1_l5Np=3G$ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..997bef8286de7fb1e6ce6c814c46acc8656f0476 GIT binary patch literal 1014 zcmb2|=HSRye4ozrKRGq8B(*5sKrb(;grRq)|N6@oB1dc2|KC#U-*J(HQ!$L=+uhA+ zodVn@w@>8W-Sgp&h1Z`I52QbYJ`3(+&b`d(S*zumHF^HqYQMa`=&ybqQv+hZ9`;mp zsn@xbcxhuy=hD^5qT1Ix|7{gYdwlrY#@*iX|6)0Bw!E`>@oAD%`9-&KDZ`@|M4gR! zn0weHm<_t6d3;~YO6EwANH94d(XexAH)AZ%izEke=3NpOjyCA=zPJP;tc-;cL=I#$ z7%~)}mS_Hv%uvtspr7%NVS_!}hvN+YBo4?IR@H$FDN*C+JfXp4)YZ_Vq_CKSO3cRh zQ9LOk{aenTUEEL!a_7lZS?0*&4%ZAPl+Jm{%k)Rl!J6@wVmIOJspJBZRopqBk$G=(hqhc9fv^{A`PTaSzM2OAN^j zYTN5i3M#983Sg4dbN_ng?Bvs-oKIHCe4Q~TQRRR}!$pvi=`)2+oS9R`c}1sjmTJIe zrmQgGzsl(nyaqdECOh<e&|GmrM{dmtZxJS`q30rC+Sv>DufaBEPa%ywaGK`{7>Rp6IUMwV~1Rf863_R^7^t z-rfJ+{9c~?Zi!b%R@{=CQ(+fV(ymtL|9rNyP zdyu96PwK?_(3>|O2hGU1eaZD>){ZaP4jXw(tpuH|Kkt72>z-7|{oRRE)qbq1F4&zU z5S4RFYp?C=zts)NuXDa%*|qtJ{n`^Jr1@w36e_vv(%rq{>T!Wb)8qOojL&SYEr@+{ zP5pHD!Xx{pJXg+3o4hM;(w4pmlWV&rV*l5l)$06v<+s62kw-P6o4z>hmwU14)9(Kp zladY^{gC6lef-I>yU)!`*1i27=an%@y7i0V&YF53p(y!Nm)^GAi@vWaT_Qg3(c#Vu zr5XD2S1!i3eF`p?DvbPhb;`X*8GH9DoM$@{_IAgX-xtEx`E6VFTWOlV@5kzopC8!Y zdh+at>-x+ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_1.nbt b/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..15253ca0524ffb6c7901e2eef768f5ab3394e8a3 GIT binary patch literal 957 zcmb2|=HSRye4ozrKRGq8B(*5sP%kg3gyHVYvwgSCL|WfJo&Q#ng|myn@nYzNH+#?T zI<53#(TQsda-$CS=x_vjT$`~*8VJTz0doPO#*M$s+ zWQMa_Yj`H~Gk!93uwy%MoZ+X0f;{t++>_K0$YapO z=w^68gH7Tn*@B!8V!au9gv9SHe-?PaM(TouLvYeuh6r_rYn%we=jxYGk>_5QsbMc65tIAA+PhYl?zX9^kaH6Rs8kLS<8<&bAI?xWLxB< z%;4K;FZ94a(^e>=|4fR-Qq7I7OgWlsBN?}v1bC-sU2HkV@OjF+;3fQ_3!fi#bZ-3@ z=pe7PfZzM|#F<}xGQDb7aM><1`uyb6#nvdR%b&B7^v{U)GME@m{yZhE%yn@?6xR&* z^yfPjZ?1Vf=gad4vpqiRUD+CYJ88=wp-uJ^L9)1uDdqZKfb@N zUh3$^;%)UW?p*w|Jy7ILEZ>X@MT`BOY3jk<_nkWGdCFeAwK)Im+}Dlqa!T>N-ZIlZ zeR4AY*kHS#^V$DI+o@}}FNn;}7GEs=?{UPE0(-ul>9Z&Fg)h{#Sy?Z6b?W-<|1SkC zOAvkKC}j41`D*=RtFM)7E}4CQ_k~?~KbEU)4S%sGd(zS=oM+{3g?g#ZJ63mDFueWz z_A2i9m|M?p$LDUDA9J0*dy#nk#rxkb$wz*dVqgFO6llim literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_2.nbt b/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c6be536ed0d1b3ce0d703afef3752ee61d3a4a55 GIT binary patch literal 1053 zcmb2|=HSRye4ozrKRGq8B(*5sNG~s`gkfvs*}mIm5>MWzSKn1|4OHOhl4<((uKJuM zn#-rk?-2UBEk)m`|hIx}x^=Qooip2Lhi z3K=(AkVKQdL%vhn2CrtEV?Op6(L z?jGP+(8ppkr9qGN%u>d;wr$K3j0q|YfedX7XWp>2G0f*Yp~V=f`k->-KlO%_ZyySM zh-9)m-E*F$K&`>}^?7~uok;W(XD=yi=x6xB0VP;|cqrHlo#ly_uPxGlWfz2|d{(Q-zjp83&7$X8kGs`hysr+w>6={k z@$RkJXPu>;ry8s>sy-dZXa06y-~CI^OF8EKtu#Eb*XnCo30;Tdz|s8TFA?0iCLZh)ni}HUi>SLXS2lhCoOw-YU*ge zyxO{C!#t5CZhX7CH!nEaF7W8NA6K>YmD_i2n{8VyyjscZ+LrcbPd=U2zH?;Z2P2pA z6^-@0TVFqjt1X!H85GXid1vV~PUF?R+YN8M zJH0gi(i3^>xCtEB7Q0_R^7Ebi;k%c9zTNDVta|E!wZ{#cl4bQ-PPwz+?cTuR%jc?A z>#=J3ag~K17wWv7_HypW+#S&7 br`5t|#cyx9%kk|I`)_e46^FiGvJ4CW*jx3| literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_3.nbt b/kubejs/data/minecraft/structures/bastion/treasure/bases/centers/center_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..2b918282114e7d893961b3d10739781434558c63 GIT binary patch literal 738 zcmb2|=HSRye4ozrKRGq8B(*5sST8TBgkkD*$NtL(0cD|=WI%-%XV~mYwNw; zr`&M4)AfrkiFt}oz{W-N>%ya|ZF3EB8XhuCX6|8` zag*b)-V3QDi30@e-{?kflQeh6)mwL&miG$g2P_p1^Xld;(1nZvt40jE}F;q z^Gt(Hii4by0>9*hcAgW?Y)=%~zXkI>QMAA8C;q9Oxmt$3Xex6xBl|ZIlRkzSJP9fX zdd^N~DB*MnKR)M~gnWXEKzh!Zo2~oWBsdL%U$e1i&15b;)mR$JV5!#de*R~Rq=tve zJq(XJ(vM73_PO?x*PzHLyzJR|fx`@GUg2gNuW>F|-#7EpRQt}&3W4jB9DmL=E?siS zI{WIWS551-EeqTBr+weOnNjQa-a0mWYUoP^k=VI2)`VI6UjOU8H~W!u)jf;!mxn!- zMHdx*EqWf7cyq?7S-b9Jt`6qOGyAeh{k@Oqm3<15Q`eU)+5UI+aki(ouD*0Ese2Ip z;7T*k)$beMFD<;*61`Wmdg0Skv%hS<{CidV;_F&>s_%N%WgTtV^O=p=wSJb%&%i5x zHWz=4)^5M|z3|$0t0Nn1BI3R|=d>5q9^)0cl__}g$Qh~B(w<$m|Ibajp}&@2d~(yS z?Gu)||BCewKbH3|`K43))Xln+&OJHVdo=vL)Z5#St7e5i_qE!yI?P7&yKkhme15;- zyfa5Len)=NoA&*z@vQfgv+wO%bxHcv_ET+7_S{*ub*1*HZzn&AXxW*}O7ZB=S^v)W v&bs_>=W?g@8*jd|a@VJK)BS{tzIwWTjs1P0uQTq?!u>xDi{|bTU|;|MeWGuQ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/bases/lava_basin.nbt b/kubejs/data/minecraft/structures/bastion/treasure/bases/lava_basin.nbt new file mode 100644 index 0000000000000000000000000000000000000000..53f83e87f5d18416455cccbbe780c361b4f9e7b9 GIT binary patch literal 6012 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/corners/bottom/corner_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/corners/bottom/corner_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..0529883312b7fd7c279ec06e3d876352caaff440 GIT binary patch literal 1673 zcmb2|=HSRye4ozrKRLfBFSRJ%Krb(;gyHFI-~7jBBCeixucD`HezEHHqV7cw-(t&S zORnZFQ1MzM>1w3Hd+DY9i*@!pKb^TzD09l@GT#NpECr7TF%!dUzP||cnxj2c(|T*Y z$)YK@YF$rXKl-kE*`;OkZ|}@i+ghEfweMZq?Crtpru@?m-Xy#1uVef46&bT$@BCTP z;=j1@7(*{ZukGTC2R5_SnS5AmTlb~&Si@Jt1O1G3JQ4DYuaysMW;oAe!~G$rG5z(& zHQ^>q$2K;~WF2T_i^+f!EjHN?BAL%iRhS*v%s7wtLrz0FvkmtL9VETnHqj4mGMyKz z2>bn7_Cm%2LkDFC;iL-;Y`h6D!r%6_XfNAii3NfSI1ME}A#^*M>3qm(l;{4l;&1ta ziw?;RZVk_FZ2tHpk|CbyhtPrP4Evns^&a0Gcd-S=W33Q-5ZRE9Yd9ag zzS0kp-_)Sb{R2eY*w{EL>w!D7eYLMfyV#q*Iu8yp>8+SAATCyr$Os`6&x@_u{I%km zwiL68qMp(LSC$tOXO)nQGOU-ncZ(<@hp}2)I4I!?(8PZoqfQ&??zB9X5u28zDbS>E{lG=aCJ`?yYC~y2@d%)`ep23*1@( zm$_`ZS3BshaCpBCMCz}AkOww5alK*G+Hik`!!vV*&(afq^6s$92eV7`I1P4i7G!}E zfpq`#tvgvV&Q(I<zK)PviWV z&+aUo@_e6W)I|w{b31pMNVwM@v-s9?tYIh5jMEJ}Su)n7&%JJP{P7X(?}b_c-7HtM z8DGy~*|hLr%rE0-TvtsPO?@4Fg#*@KE_@`~%e$tS>($hzs-+3M&c&JMYoE?K#=!eg zcva>JjMVz*dAHH;=WMYf>B5^L&`fxXnitUFdX@M%xrHM-7bbNcQc ztMxIS^|s5ks*Jb%U301M#janwvV%hJY^}W;TRWxh`;BjB&qmxoYoFV`Zm!&{+pAx% z+gE9Q*7<%+Z2#L&$*XeW?ai`2>*UF8|NQ&u-?s)OuYN!OzW#M)Ui-fyx!F}!=4R9V zORxJ*KfHUVWN_-O=+cimb(in?e+^#sXs6u!**}k39Jb-_4>v!2!~F5pya`XA*Zq8J z)1y5<*ZN%KH+!r4*FX2f`klXT>mRxO@jsXSwRPVoHy?iTySQ$zSmR`C+k~g~6Z^YB!I?+2p(T>~%`J-@lr@ZGU*#!*shdUzj77 z$BNx5{I$t!QJuu|_VovjZ;5f*$0Yx4cAoM(_%Cl^z(3_~dj__wTuNr{wV4vbzfNm!mR@$)`MCb#N15xMKRYd) zJ%c0R47ZQSfg9X2GFtsPgc;8)-DuKLeBcGQ1oNXA=0^+}iZkQHo?Ku$Cswdcdrl}r zGV5O#hxUmFo;MgOoKv+Ed{BJA!)l6!dqXjcMfQQn^#y#1TOM$CZf2Wvmg~7jL#Klb zuK`=ang!2`?W`IuD)cc*oV5O>({9z!$?`tqfj;lG%GzU*>t94N*Jmz#C-^{SZ2{lW ziGNg|MmF1IABbc=C-vlJgUxKwa|r)%~bYE2KzSyX{VkK+c_CvEW!;f(#u9~32}`VJ3eA!9E=bdH+#l6s zoXmOcCs=;6=D}aVO<$L@y!Pk(bx-I^vg(U!?*|8kDmJh@KPdEL3(Idm&Of1y^`Q&C zuXd1+12OE^9JpJ}`X{u}dZyP2L+)z_JNxWc5ELE z8~Pb*bRHxxhGYh}OT|oI<}lc*JDlgdfR8CGYqcPq{c%QvA%pVEn~b*B z3)0!YylI#xdtozkRhh$iz85ze;|?{}onbs{y`YlaqUNOv;Ol^ls_4-`5~O^&s3)R zr3YZlwaXknYhLi@D)D$VkMVDcK_8n0v%#b~qXqMMUZ^wwI@y51Y`dKr~FEex2&3nCW_PVy^J0<5{dONqOoT)xzd+^^k zSJKuU&o!) z%Xz+fDT>RN|1~(rfB(auEjs%5Kh$i}31zBXyea%8n3 F7yxN^H+BF3 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/corners/middle/corner_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/corners/middle/corner_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e245af8383d22e4b3aaebd4391d338e1a4498186 GIT binary patch literal 1578 zcmb2|=HSRye4ozrKRLfBFSRJ%Krb(;gyHGzv-yuhM2_A+zV+{;^@#`Bu63|Fy_#p5 zeWWY*iOKr4=`q%uVyAwR{}7*iScP}x-0#vecn<|#)v(?7{l~oGdGS%^p;?PlR@8qE z(=@Gjy?lN5&);sA_xrv^{B}Hh-0kS@WxM|xEb)5zymwQ3p2fTpt2JG18>RjpH$G?h ziBn={(@cKeR{=gNrZbjms9ibTWF;c}N_7F>(K+8QaqnH^Fjv`)xrb4L`$x>rgLHi+Zr~Oo)fqWO|%Xv(9gBMhDmH0Ql)4X8Iyer+| zJI{-GjCYMUsHHe`^JGk9)HPb*%C_YMQ}v{uCmO{pFDS8B@0ZD#$gEqmz?E;y3FhC< zkq`E?ah~1DP~E_^#-8;?x>!OR>yMg1mT#-wd)OqH4a5?hiuIUF`y@DP^fV5}H6^KR zc&>l&d6SXBb7i$H_c;o;HEd=$$FxP@!t07T@w?X~=o~m9+7tIk%_!?XX`HtZn zTY*`_X4btrFH-FnUf=qY{YUcOTtgAmZ}J4UZ3?Kly}dn#&FXQtJvbM z9$2k-jtvwhtaEf9PdFExRixhOGVeSjX%iB`s)1`6VAPYyN2NPvYM za0#-0T*bO`gMzr&H?F6Lnqnd*aB~+WI_l}1XoUzr!6hiLp6f(wLk!0o(NiD_%qC0- z+*N)spCdz%@vicMYL+w!MqlLxnJgx}9|bRXJLoqS_Z^&*Z17y-8`o29HZW&FHP0qt zX5FL(t~@3DA1(jwjb`p)oDnchxWM1@fUPQHHq%q#UCUJ-%$vk;Uj4vl&JQ(AHuD?4 zsx$8NaL^N)(9QBh3Bug)zwp3kzKVN{{gw|Z*=^o8JlC8*;koRGJ7#CENP=Y`+1Im~y97gY0=oL8Jb;hp6U@h1-7WnRpK2{yj7ykN`z z`-99I)h>qgtsi0zNNvePHiyhJTt3^;{3; zGrbA-e$Xpav6!W5>H%rh4{UEmqw2jNBEMG%y*YmGn&;Hq^2Nayf3M4PfBI`(=Bn7o zb5Ff{wJmE~z2pAMHPQ9A!^FT1x|KknfB*S{B5 zm1)VX{&%ncd8yp%zxzJkzP&ELcK_UNpY^w2E>FI`-bTNu?(e($lD}yWZ+7wS{r6~V zYUual+<$+4z1z>@ceelfpE9w=?%g(tPdO)k4q5tt=jsWq=~Iz{?k0GMf+`xZ*rRSzj(gS`bXWr=?6KZ{zmb8?VoebYWBf z+dZHCShs8K?P}4jvG#UzqH5XMOsyBbYd?S5dEQ@xIzFlH+SHnvx9Xmhz4~-@(z)B7 zJMPY26dV7$tmx*J2P;yR?W(n!^JBp2j|eoHnD Y+yA3(#`%Dw?_cqAs>gD*TQt zk1e^HyFkTfk)*4U3hT==(qGnUZ~rOnZsc#c`kI45es1j<1v9PJVOv+KYYi^Vuvv{|MMDxxA{YU%Ait zn?|y@5t9*@k>0^%IdN|zu@sgRk(4`~J*;QS8Y9C%QqQc8>MZDMu;O~9vEs4Vw+ri1 zM6MKeX3uJrJMGY)y5RUG<+Rw7JA@^7AJEa3#sOYEQ!k&eK1ejVHu0%-OL0wK85Q?sA|QV#?4IN(31t( z#VE&Kapur_i)%2wb(|l(8{(P%2tAn2u%G3J>H&R5JVHSarZepq`LXnXK5L!k2k*vs zu0O;H6&=uL|3em0bl3dBuKWX~_Zw{QG`!x*cs-l>TRQW%O6EVO9PHB*_>DKTOWrul z^XB2lnAuZ(vcP^Jh!;zmq}ayk`rJ7hOoUeDPdn&Us6V z`NbDjA3t-`%gsTSb>@|ybDHO!Z?s+#Zu{X7v%bw7?We8maTO1UBLwC#eGq9_&S1k@ zAsgE8U6XN-Kj(q(3^n`&iMa1<52_jJSRaHV2+luRjq$1NJe%@1Ol|{q^uE zcEdPxr+@V^D|Bj-4%FXu+FxJ!ZQ_HgB-|ar~sE>V3&9O&Yy>I`&qjl%d@}Mru z$?spA`32kTQR4gjWWU^xx|)?+-``H#(;NO=Jh%2|;hbN3^Wu5V{#je;_5V+n>0y~! zhZC-puaEj{X`(E;pZBjFU%S2RoW)<|&t|+?{ycDf**mRce{Y=Awp{n;={))AJp7+0 zEPR`v_h{i*_eu_&d{{T<@4mlXA7kxn l&i<&e%NF{Pbx8kf$bY%^j|PX{{4=R%H1KD85^2T2007no{RaR5 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c447abc0a56c65150ed5d99fa7222a8e8b0e5275 GIT binary patch literal 1555 zcmb2|=HSRye4ozrKRLfBFSRJ%Krb(;gyHFI@BG_tBCYAq_~MO4F1v=`-Qv)_jw|JU z>2=reyIfn&s`!WmDrD|>Y5!us-qomWTKuK<3J#5nxOk+$&D{BXUNv8Pm5M~Lr2W_Z z6`?`bZ#&sl8G>MYlr_AqZ{NigYu zdLa2HYx?%4LI&jp)1GaNxp-6Uo99n;cDd7y$4%@ey{P3~T&cq@cY11elmD4)-o-zc zGyKzRsPE#o%ihXz<jm3heB> z9?Tb-Q}~p1{?@2j=3WK4ng@S|GX0-&z<#MwFymhC6;Fk?UNe|g@AW{wce8(i-`TxP z|5oZ*+!pO&=m~$9t5xtnxbd|=>$5n`&y!r%PB|w!WB0O!>{7p2=3j{vnDSgclPhGad6OC2u3Xxa*ch(+VHIoK(i)TXSztRsZiT32Ef51S_hsvl)ba2xO?n5?gwAj`k$v16Hrysoue%JJqm6;J`26MgJA zKPtckx%rD6pUq?JPd$(xG>RR^krNnO?*&%;jEC%vhp#U}jL$J?{mIcik^?td%=e>oH0F`k+G>EgSs zOgpY~9k6Hoq0aE1<-vT0cUzf0L@>y4KiDOBU~d>hdJMyPeWi+b0*&*PKlroM^&L1b z_+#d$i+^N50>w}POD22w2hTZRg6CzGKGd*WFX-*}tT~p35ykHMz>GrcG8mH+iO=Tza1x3^};hR^!3 z?Ed!MZ|`4tZ};u@yRw}7XYA$LV(s_7ez(nh_qT6{P56K3RU3ah-M{qX?{CTJakkC7 z``dqB{`C8>!J9MR&+p%#xqPSmxAo6AW-tG}vHI_YcV(AfKdgIq?9z^Z=W0Ik)ZO1d z_g4F*C&kwL-llzi`+5Geha2|F9;-Fa>$ldie?Q&+?BN}s-2VLx*!)+jfWPiQYzvkD1KjFPU&WbAc9sZCO z6#eH{YtHe~@VDhZ56;i}87^}x*8Ke4kH@Ta-qhJ`a?{nTYK=ek@IvqL|95xj{r@dDRnJ=V)NYR# zi7+ug>TG`Y_V2@&Z;3a>$Hu*DFRc46`Fi=&qR*1AyN?>qcmDrx!{61-+OLlunSX2N Y->uTi9}8{%dH4@!kW1O__f`xH0QTDT(EtDd literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_1.nbt b/kubejs/data/minecraft/structures/bastion/treasure/corners/top/corner_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..2eccc2d88e7b1640f640bc22640696cd87d52d0c GIT binary patch literal 1576 zcmb2|=HSRye4ozrKRLfBFSRJ%P%kg3gyHFI$NVQI5^cHla@NA?k$iJ@G_X8snDFh~ zOyfsKN~dIAHrt(PBY@Jp4w|4#8?;CGlGzraG|0dvn zU}sR)zgxcX`On^0PYrn+(O+u1;^)TjcQ;DH-?xWo{@oE?^r|iO!e!?xc@n2L{<3(q z)Q!29q4zIK@7@K0-OD?k&p5`=`*%g>Ps0QKjCJQstB&?F)~Q^|zL>GV&_UTDS^2ec z0&jBZ886wr3pY-*IsWRzDXF|nmM@zo%5a^?%JJ8|5zK89{UB1;hWYGL(-;$`S2wsz zzjV#l?d^SXys78tD~=V)3GX&t%Ff-dbHYDIU#yo=ig9n!ymE)f4aeNSCDo}Ytmd>Z z7A{CrQ#j9QVSL_pHg7LmDbEFt3rB8v9AYCQwga14U*|MF|2c7f8pb zzmo^&I{iJedyr@KeNWkP5kb8#>KP^% zVv>%p`4S{8#rw)bC7Ja^1mnLpU58^U=HIv(-S9_5!Tx#OwR2Xb*G}hUuw=Yp?Pc2w z4v|^jbvz%E8|0b)NIYkCuXoo zURFq!O7Us#nY;h~?%NkK0**8EGW7O7`Ecj+G&km6##s@3yeIZB&NSZ;uJf5K4vIifh`ig~(8GCRMuV;B1bN1vf*Zt{EVd@Z ziLK#ZD;zD)eeHPD*Nq9aIu8ytnci{zv?s&l!h|>`la0lu&mx)6OI2Juu$gTh?*~w5 z+ekk^gf}SQqoE;gaGvkOQ-*lH4^J1&mjF>Z1@UXnZR^7dY7sr9NQ?`JKuF$-OE$oKBFvk&E8mVYmej{W-d?2pSUvtK=2 zx64ju_NP~W4a#y$ExvvIlDsG<`d;{}vzvG9vhS5&_S`@A`il4S=i5&^98v!E_Qv(6 z9xhye&u*Hp@t(JG$5#1IS-JkI`1wcWU*87Ush#Rgt&i?~b^H1BWA93Ky!y566@PK- z%jacPnQwme@~7{)Q}Mli=AOu({o4NO^XHP0fL0 z=~i*i%zvIgduUyaQL2CX$EV#qwomoN_T=latbf02wxZS2_3^rwZQdo_Imdsqp6Pv$V-}{By|2KbZvgOZSxhek^Ow-ag`?PD7pR;jk>@mGr z^6_UD&6o1&)hmf{TdVi;^6LM6SG8xCrxq{1vr+o^ySiJaj-L#@U$TAs)vdSgPC0Av z_HNz|ZU5kdiEmE-`j&U9VYlY`SKq>J9?z1PZ}peqTBe`p-ThH(FMKV%>L+cOyZ2M^ z)x(EhuKcjNcE5#9=I**Zzk5C&E;&_utiqo4d+{6lIehi!9~`O(eE7Ubr+)RXM7c$u Q?61a`y|H% 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7b87b7edb9a19315dd285dd0a2a56689904b0c97 GIT binary patch literal 475 zcmb2|=HSRye4ozrKPRy$JvBb5C^IEJHQqokFR6rK>NIQr!v+Ek=gWjHg>kT{shE|O zrKKG?B4zoOk?nfl8)ut;jQ^$FCzv_NxvO|*e!hG3{>|`m&J7JZv&uslF7)Z}&OCOI z$*UygL_*8AD2Kr4{dHZZzdTH0T=j7y_pMm2Pad;ASSNJ|+Pd`^OggA>Y_}2HWaAl0 zNp?vGYI_8E+>9iSCM>&iwBdKeJk9cxA0{!!8647Jn`}5^j^X?yrT(M}&0|%X$EsE` zt~XrvUX}gZsu?SbkAoG|r1f{syx-C{^ELOu7u}Zn2R{h?|DdII&55t#Acu1Lw^a#W zS`)ss&bVnm>ETkgJ;x+YCWthjtTXTqShq~*lY735qvW2gyS7CfdUehsceVbPifoy6 z&HEOgj&jcpc6s(i>|xG-hIr0clY61r?=MY%;=D-ey{^pH6}is&svetPs@Ix)58OW` zU;^KFk9sDzm|uGr2o+z*=ytgww=%NoXQ}nk&$a80MGMOp1YZqXK6(0{!>jnz?mD^8 z|Kd{~pmq6^+7CA8>KgTs{j)e8<%*Z?>c6F6c5#_y>CF10>uL;M_BSjG(bSmB|0TfI he78@1*Q6t1;j_Nzwr$(N&@TUhQ(uc|YB~o40|0Km-DUs) literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_1.nbt b/kubejs/data/minecraft/structures/bastion/treasure/extensions/large_bridge_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..441af3f4a2e64127d715f0c5a23b9ea4da49229e GIT binary patch literal 432 zcmb2|=HSRye4ozrKPRy$JvBb5C^IEJHQrD!FR6r~cj|e+!v;LZ=I(0F6K-NwSMmEG zGRIQcFJ^VgX9Z>NRYy7wN`JVvq-mY-mwx5QtVQ$Z>c_85VKivBndR@qkfG#1ap{b+ z3l)yH@w#RllkwAf9lpMBqMCW}fm_GTUK$9bO*Fln?ac&4U_HCZD(y}WMe%uyED#=JnXuCm+ASy{o)0OtZan;drMf{FFc==b>IdfLFwf}5; z6Cu~D5s4SOw$9Dt?mEiQ&G#*lJ%(ZB1Fm$zv~ciRV|%!#`}@T`QJcnH?V`aIs|B zN1sQPv6HTt%}Cg?{H2EG`>O5#->v@fJlZpT0LTB?8&f00)kb$bfd@h5pts5mybT{sS5#pbscCVK)U`UUS>D!K~sa$AKjWA|x;Lv-oiKgfjlU(r}Y;8RMDCWhb?j#f+Yc9&YetP-d9S zq{e(^=^mB|(-}SqIm9uY@MfsI_-9Stp68M`{NboldHu~N4Vny>89wg}Nsn7$yne>o z+6m_KxZ_rQp5@6nnep>U#$blz(1w+ao0)w!e|&fMly>Ba?6XT6PBH{D6i;)oS544L zSR-X%eZWNe{nfS4ofzKBGp{;hJ>%?Y)~nCKV)y zG#A^(&RzLfV4kY#Gl%QTSNA`=w|f4hPYaG!%ic4I*t!4nR{ceqY*$|keEAYN?btzk z|KOH)>SD`(8SQfHzw92Dvua+Cdfl>}(`N_kv#({pe?0K{w#}9GM#~xFzQ^poc%Dd30fARuVj@5h&3;?>b8z%q& literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_1.nbt b/kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..65aba0b5f721ff41df0b7dcba36bff0413cecc6a GIT binary patch literal 412 zcmb2|=HSRye4ozrzc@EBCnr9sC^IEJHQrD!FR6r~H{`V6VFQ7f=NHvh3e1@(Ail53 zIQ>Xx_LD8%uOHo-wzp%N{e$&|ESb);w`89TlH0u5_*;f{gV3f0`wUnc^3)6cy)`aO zP-(k`s#9(k>nDQ0_^n z5a)T{^e~nuL+*01U-6*}a|}$>nP(lZTFT>d?8Q{$igT6i?|Ss^>`q7tHQ1yj5h>cU zri=TY^_it>xZL>qE8E^Zn&IA)@GpCvf+?@)g!OBUSX#G7opwuR+-#n@WL^D2bLrHA zcTc5l&5S%`wT+a`Im+ARcc_{;Mh2f>+bMtYS4YvctR3$bn)Q{js$^YMk6oQQVLq#m z$1l}Oo(DUo*QHJBm}#|gBFF8CGmbqwzxGHw^YqP8t)hCb+)i6qo|IZ6z5Y?MO~p$2Z#8}$Dsy$xqezFuHOoW)KK$mRzHM>$&B-c1 WyY|`IHLTA6!D#gIOcy5`0|NkCJHKTB literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_3.nbt b/kubejs/data/minecraft/structures/bastion/treasure/extensions/small_bridge_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..895191b975c038d528a3da382393d6e0994fbfda GIT binary patch literal 483 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_main.nbt b/kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_main.nbt new file mode 100644 index 0000000000000000000000000000000000000000..169f72cb47252f42db92b237f212b6a91f77c857 GIT binary patch literal 19768 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 YKQCY5fBC=S$9@KxEiV{6&M-3o0Azr>DF6Tf literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_side.nbt b/kubejs/data/minecraft/structures/bastion/treasure/ramparts/mid_wall_side.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e4662f49b6aa5f967e1b16bef3ecd0cb04b747f2 GIT binary patch literal 18513 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/ramparts/top_wall.nbt b/kubejs/data/minecraft/structures/bastion/treasure/ramparts/top_wall.nbt new file mode 100644 index 0000000000000000000000000000000000000000..afcdf555125efe853b1899a2a2262994890989fb GIT binary patch literal 9794 zcmb2|=HSRxe4ozrza+mPzC1A}M=vj_gyHO+)9Yk!PM!Nu__EG{hr$Y$M@Hq@%Ml0 zTxC^P`~Tx>`Caq({dr!o%dW2K>&vgx?LW?W#&VW*7RM}>SzNQe$@>0Sbkm`@=^2wR zi!YNe>)G#F{ReEF>i1=pU65H|=~&#T)}Yp;)~MFJtYKNxvuYn<1K$HCjF(x!j4!L7 zvH3E9b+Y*~f^_dle=x7Hn(dt=E(YT})~bjF?X2g5AKHjQh|3Rbc+WwIhc>e3E`tc; z2R6*-AjCtP&oe*g=w~ox+)8S@lVEmF?ETgCQ1@TGvwM}cLu|aMc!pAjP=;1USn+!{ z2r_=l21eT|*!E{Jfu)TyxKNZp6jG1us%Cu0xpRgM;Sb^(tFbf8AKYuG zW`4)J0|$fso$QYC2lpDQu`~D|*fsoSc*nd0!iZz8;C*1)aGfEJxx)8>Y2)>l&psCC z^CeI4?K}%Y)@NmlW}~38S=K4mSkMzQYY@`4exhsrL+TR)Muej;T3MCiBq`@?@( zeOq6zF>05k5Bk(1O99H?DX*Vlw&NV%EM^n+480337gR2!ToAbsa$!wTgDlZVbUo)D zwJ+&T^elCbnZ9$~(JokjU@y~UE+1`!wFkC97`X?wFkWW!kv4!Z_DFrmI*3o!BU zv(3Wu!oOg|{-@IFPs~uzAHAn7cb?G`#hm$rv(y3=XgKmUJj(It<);Q6M&rrCJ7fCT$#mqL5%r{8}}}_`M}CLgYUwe1v?!kJ4|*Ab_jOdd@9=S z1OkQWuze|T;AaOB>R$?+_%VnN+s`~~(s>F+JWrYkqBoD4-aKkL^ALpAJZOTUU(e=l z*uTK?p_OQ;2WH1VIII8RnRvx#?ma(Qu?S!N9Ex1{#j#e1 zJ_v0HXN+U5xSC#(tDjM};~e8GVG}_UP7_HJRufSZZT&s3ikqJ=V(ezqk=l^)A;tt6 zP>>Kqq%L?egEFo+yr0XshwX#Zfoz8LjCq#)jvACvJMY4C zP7v|?w7vfVP;IxYDedX~{15NVf4q~f`OdrVH{1Q%=J)#!mfwG{JO9VqgS_|tu;tes ze$SQnBlaM#+<&(I`osBbc_$d*C~VKZEJ&0UHzU`OX;Zz|z^lGrlNZ`cf{3Rx|HW?s*?$Lhl?ER5^} z-@&Clyx2!(G+t+k6NXd-EOEjSJ_&}6M_I&#BksiSiDB_&J$vdo+YNp84;vV5av1of z4;*Iuuz|7eyWD~KY#)|0{>fyhmx3@sVqi&#y7_D$<}vO`XLv7ppqe=5^Huh&zk(N_ z67yf4|JIb&{QAuTOIY&%glcXa!+P-puUS7-G46?DkQYC2ob^K?W6hmc)=LkUd$qrx z!gpU&c1Bskt;S6DWz6?xGTVKIRfO;w5y24N;s3y{@i)sm?2Nklzt$TU>~s)zoa_+1 z|MT2Wp_lh9<_rjL*u`{3biuk0KC$|lVe_n-miIlFuKeREhn;!T`Q8Wq%0Di1{4+V! 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 F005cqaLWJy literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..455c3caf7ddd774d2a205f5af602540638bda708 GIT binary patch literal 6136 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_3.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/bottom/wall_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5f76b6889e10fb7f4c17f61895e85edcb0210c59 GIT binary patch literal 6083 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/entrance_wall.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/entrance_wall.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5d42a25621673e91431200573501fc2b2a0fdde5 GIT binary patch literal 2550 zcmb2|=HSRve4ozrKQ*tUC^0WNHNHGCCr2+Ysf3~Tu5Z5damM2h=hn`>d-JB`&$X`k zuGRkMZNJBSxw6{vcF$=SG1iHWv+A1bUSIMQ*}YNLj*Ug)QDN8Q{T`37VoXO6Ju9rZ(dkmZa0Vjckt(b$M5v4&+A{m-&S|}!}w>*cH7UBi~n-E zf1RY?^ShP*KWp1<=iHE)c=_P6_OlGL1m7iym0UV8*&Zv%!}!hbtkNVK&nZ z5rRSob{C%|LmR{Fb$8b@d|&LDp;Dq4BV&>WE8!EYGr*Ej_n=QU!=d*C`x~&h$CD`jqAB1BgzOVi*x(^b{4=c@X zh};Odap%A@&YXFNo=N7+JN%3_XWh@Mjq$QSuo0ziL81Q8`1@<`{b6n2Z$7By%F)Wn zOZd!U=AZbP$LxIKXC|}je_kD2FNcFzCYSSS{hhhT&$6Az=IOLxezUI$IEl+!e~a1` z@89>uMmh(Z%{fvBmNDWWx*7LK93X{QaGv=~WrH36h3AaFY#ipZzxd2hD+d;AvFpF^ zT=18T(|q?ApE+vf7M@rBQb`NJCOiKN&pChDIL=pp@tLJ|-h%VOUn*%JXz4Ux`3sGS z$~L?67oJQ0vT>fD{^B!F?YxEOjla-Du+dKc!gJPNdmQGAzxd2l8@J#*_m@hD;J&hi z#`Urh53Iw@Etqz_3`za+4l?mn0jD6OP%Tm z?Z$Y{KVA>QnP@6>ovUu`g8?AI+4dX#n0jzMPhIK@#OvumWp`{=Y=0sGTHcl{`@^6B4KjE=0neJ{p=~QQ=W64FV~wPnU0e`M&J^x3lv0J>Scpx8J?{`tRxY<=eOG$IHLh`~Rq>W{1xE z{^Pfo)oiILum7iL_V%G~u>GIQ`F#2QyWb}p&nxH8|Nh)R?nCST{cn<+t^UeU;N;e1Cs< zC8xbf|NBqv{O>=d?cZ;IH?HpL@#}VZ|Neie`#bIBkAfXFO}oE8zv44J*=qlvcmJke suPbuc|M%1T@7Lq*nZC^5{rTPe-|d%whnxJ|fA&8^yyb0&S)~jN0FE{x=>Px# literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_0.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c375fbd00d4118fa17d8f73a1d8fe3ec510b6b12 GIT binary patch literal 5872 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 OKkK>29n34a85sc9rAW{K literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_2.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/mid/wall_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..6d317e5b4c3b61209b3b758d22a74efd5f89f669 GIT binary patch literal 5827 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 ZFE{1gN9D=?>ec>pSNgFnljC7z001-v{UrbZ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/treasure/walls/top/wall_1.nbt b/kubejs/data/minecraft/structures/bastion/treasure/walls/top/wall_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..86a046edd2ff9fcc8b9bc918a0f2aef5fd8748b3 GIT binary patch literal 5847 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_0.nbt b/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..fd1b3706482519352310d3e0f32cbfc227b8ba6f GIT binary patch literal 2974 zcmb2|=HMt$e4ozrKRGq8B(*5sKrb(;gyHF2?|hl#lCHZ~zuNsZL8MafNh5oH05-v-Bda*=O=7@R^XHUiT!^4M-<&dzF#R^G*!o8g6q9?>vk<)CeO|m zI!nzwar>{0-+eE?sh{t=|M9=`cb3!{uR9jHKl|JMqQ%``3w|D6=X3CV(c|}RcONb| ztp8m4cJJLA_Hu^PH!k+sJwfoq5#gEN3@5>aQ@346F&w?X30h$mSVei$M>FKx!})meHz0r&IR)szWL9% zY482oYO6WVn!5+mFB~X6<6zHrEzdYRUkqZtgFVxH*~U7SUxGL6nf@M`S*n{FHNkT0 zI*x0i2j^TqGv}_;GS2nwZV)EmNQKGVAbcFxXJmXvuxX@?4K``P9QN^6&^dNh0bF3qdtOfj`Q$Il0h2R#?oT&jni>4rut1ObxsZgrec~JrBgquM zw}(0G#0A%AH00+n}p@?v%V!sD5k~M6`H$JoW1V8w?f%W=TvA)L+$C`T@eOP9K zqAlzCbFrBD*|OUf%rAR(vqDpOLMO-tA@4MGcf8*-XS0~m(jxzrb5Api$-POpKdh~n z!X$Cr!A)VZgIcrC$~)T81@Y^?3a9;wJSB00BSmRO@mt9S+m3@`@D}fyy9aLNroHu+ z-1IG|a@vZwyx_Qd;r?K=@&(>Q*0E|_mo{P&_$TS-K9+Ul=! z4s10)`(<%!&jAa;l&tgZx)pY7-p=Qlr)u;73BpF?k+sGh*c-* zz#>-L?F*iZmE36JlYMdFY{`n&9_Ggt6F3!;6YQ8CyG-y@2(I2<^x*EP#&T`;du!vq z%@H$V>`7Jt2NozG-u_*EOo>5^aRWz#D}&A z6B)aCB18@>Vi059pwZyUsKb>I$k5FM6UyMLZ}QJNlZ5ZM(}MYXlP~Dkx6*Sz|9_Eao`Z67*xn6;UOb8e?-NBL(F1w8$L9& zvg<&FSPmdUi77#lp_?HBDr9irP+HYFZb|-QoC=VDExuD6c_PKY?`&+v13jApak(Ac zQrwJUOgbzP92*2~d4IPk>M}sSqj!?oxhHjP!6=;A#g+QT^f*C+5 zI0Hzd!L|5D{V&I5tdi_Taw$wFz)Agt%7l{&!JnlWfAli^abu`cX4o&-aG&EqKFb4h zrVn%!Uhy?&K{~Uo^oyGg=h>>vE^Ka`$NNR+!sY|>#1j+`I5o5~Ac75^fOuE`o8*g?Dq*$y?4LulDD@^czFM)MOw+X zBHfMA>(`n86^%OeUVPf83u~{phsx-FUv#^7b>in|b(^Ki^WW|I_-tYI_SJf?Uq8=} z&2RsG_Ug~a3!h)M+3W8Jv+1kFrq9&wmAsw#?PsV!xjdjcZ*LeMZx}xi?$gD#TRxGam_cg2bYv4D{ zFJC_%FW&n4`sZZ(r}k;4p+WyP%D(&ccE_vb$Ii$cr7x$Eo&s&4Jx{nGpO^S1iU_h;}QF8KQFukPEkx!Y&1Q~3XG`RXG# d@9*09JAD7$x9V5-{PO=C-{$zx+p?K~0RU^#1{(kX literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_1.nbt b/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..db871bc2cd31230b70551daa44b56e6200c336a6 GIT binary patch literal 3287 zcmb2|=HMt$e4ozrKRGq8B(*5sP%kg3gyHVpvw3$;h#oDRRQi5r=u?YxN+;NvSU3gF zXf=r6JZp7Y;e^tOunf;FSB&2-yWs0ya4+GWPXE+*J$6+on|_+7g_$K(D9lw`{Ypgh z6FX1H>}4j~;{PxA_q{Chf1lN#v&ZYbC;xuCL+<+DeU|?;d-co@U)}z@isRpQlb3ln z?CV~9^q($uzkl_{`X5I^)aIt#n%UFX-lnU zX2hEEYG%)Ye}X&MSfA-#XjOY=H{Eh>^{kU~W>+^DvP<|k=rQ%E+uvRA{Cgr>ZE8XP zsf06&g)yP z)l>Xaa@2y)rLY`RHkdc##p<~y=j`5|QZR?7>b!9A{OUZ*y==8=mz&PKym!Gzt@*LY zgq7(=x--J94WI4oaZqzmYxZHBSzP@7z@6Ql^9v0pa~90uF=9jl)0mUZ3Th>9tY-VR%C|(ycxG{Nxq&|W=b{VKn|E5z*nMCI>$#=pEw1m(RzFa| zv?j5^w5K!u;?ADt9*1Xl?ifoHvn8JcdCju^*o^ac&ADD|Y1lcvGyT@io<@)wHHWq} z=XX}8v1UgcEDbzp6~5t|=$c~I*D-MB_YYjVGUVo4IxJ(I$(JH@!r}zWiIfSN3Y)*^ z+-gd{xYRV~;IA#h?+c41*(Do&8hqGhG8uWF->X~kuGUijYzmW%I>@6-pWhR+`L6eN zKFhj;CL51`@;T;k?BLFGr4tWWsc$&Pxn^^tsmTUAwsnrouah50nQRE>UDMzAwQvK! z?3#tmwJ#Fp%D!=CfBhz5Zf(+B(`1*ohpG==+Qag#|G*xWXQ~_OS-!b7>=k_QJiK8i z`;2NZ;d7_nWU}T1i_(XGlQMZfACbyZOMYO%XT&sBGAVS>K0wUr%8CKA-7Z z7US!f16JZ2&atj31~KDw7j$#&T7g1b+u2mQE@7^A#Peqt-5jBz0ZNPVhjf zC?sWHEMf);vh4C$(2boixX{|D$5WEHfSWm1;sq=SK|&7~aI?o+yg1}2&Ib=Jh!8Az z;Nb*gU=JivxJ`5vmn^|Su$BZmh~pp}#YIa3u@h$>|DVokqMvv@j50XM1$OK}Mp3nYl1Q zVN{T~0C73sz``?15E}+e5*`f9oCykyJSq*1ECv%8*n|!^j0zGHAa-vTnPpa6K0CHw z^4jfa))Z#ndnFjd^?g>xSCjiM!>#=f4ko z{Pypw$908K@wWA^)68pb#Kqgxe0fxG?rzraf-f>mbARHFT&})%e%}VmUq{|Atoqw}HZZ+fr(U}4x5oUs{Rz9) zeO7Br_r5p3e7x?|{|&1jpWj;lrfqkf`MTeSyY}z0UvnzY_|Ba#*L(Lz=YBiB?^u6% z?c&pkGVR~}*?+yg@+;;Izx{pt#|tuL-klJXS1zq7|N6CJx77N)_<5>p^L{P+dph`w zxw`vp-tV`&zsrByzWbp;^Yp{gWv>snMaphZ5dNE}A6HW$cSZg8`#;Cu|Cay!agS`- zhE*E>&SU;qH^2otUV literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_2.nbt b/kubejs/data/minecraft/structures/bastion/units/center_pieces/center_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..687364f5cc5bfbdbe1d4e8242c61de3ddd0fdce0 GIT binary patch literal 3345 zcmb2|=HMt$e4ozrKRGq8B(*5sNG~s`gyHF3?|hj^$zva_p6{7n?8lMVxPybUu_di_ z3hVC3%`P3RN!e51Zn|syR&Vw09?^Y__j~$XOCNdn2T!kW2<;F#>+|W$O1t;Lv9Vt# zyRGvLma@$GcX8>m%)b5id-i|+IDhHMyLmTwX1}{2Q$O|Cx$S?Ces8y8`yV>1%6-nVqkx4N+ zAu=IymjA37=VRO)+#HWN925WLCH&iKz0s!`o!qZEZtQN@%MB(h%u^oSnQ{Af(EDFs z8rf$u7zw5bozOTTal+!nlh$Hqb-VcDnY$(!8l=yj@%fIG;F`$}Py-#)R&vju@i0cM z;mjo-*)tao*2tVW4kFb3�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 GU;qGShB%%8 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/fillers/stage_0.nbt b/kubejs/data/minecraft/structures/bastion/units/fillers/stage_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5eade6a5bd7328731514f0ec94cf96a2eccd098b GIT binary patch literal 2343 zcmb2|=HMt$e4ozrzqlkZJvH7yFE6Qt;qKhCeahQK-A;PPiPh(*a7!EPG28Ru*tcu1 z*EFx$B)Ten)$Y^RJepRqB|qo=BvyIFqi}WgrQoI2x4xy>G#I#@SN|k8$#veORS#dq z6c$STH)VN#=jYdxFR#vx+quK$&9g$e_LFn}i%iek_B-6(_p0Sj|H6kG=IiC}`ZMuC z$*kX%6&1&W)Eazh^dE;CaozF^zx8o}{{9QsKld=`MZU<^b^f*MnCO8RmVjagQ+5OK z#D&kE&*aGJTks4-$gzIaSmEwy%XKWk@$AcwOq-46Qdm-$PPj}6oUrrQJ;rZ*8_FB@ zGQW|1uq$Pk_Dr4~Mh{LkXfvHXSuVS<3{w62>a6OPebZp9p3-3JbwExvAzyGqKF1AnmWsIzway3j2_ATE##oalJn!uEH7Oz~LN87i z%}!Y3%zxuA)9y7XN+(n%Z2a~-A*Pw>2I~gy1n~oU4cZLr7^Wp{1iR#Gj*eTf$s5E%h=NzAbscVJb$dLEy-`h^ovVD*wM{Vt+A(6&;I$OsXh#E zK@s4okUV$iwVKj~)yy%n4_+~ZvqOTvd9OM1I-V@O1Rm}es~Ze;7R&<$^epWaJDWg6 z<1FbFJE6qgr@w_Jd{j_YNUoe4+Ry&ABA}oBD@TUAgEeD{(uo(&ZjQ%p%~$?0=YEpD zLa^hqy$Z=|(@kR@P5QV%mQga>Ry(4d>)OI5(`5;NH6rY}uJtob4=6Cxj7a9XHlyk5 z;x_l4r@v2BcC!_@Qa$k9eGkC< zSETD+jy-v$wXjTkCWDdSm(t$Vjg|Qc@wp4+wtx6r6mha*!pn6jHZM*$@B4G8{ATt{ z1|!atb%mS{gbt`ScstlKUJ-V%W&9%Q7%%umRD7Of#OavTpyd84@IpA#%)Ez{om-ebk=SmAGR8MdH<%On8*CZA zF~ArcHWjR2Smd`arH$M9IQS@Ha1P?wbokpHrO(KU><=#Gs{ z=3x(xAt^Y}tGWB@o@q?=VGqu8{fTU}*Zz>s`ftsF`Jz8ILj)0q;V=NJsl*CCs8;H} zt80@iA69q#cw-N{!*A6G zb(}lmLCnpn4{|syqM6Q3YXC7%-ViQ%_`UO*(KPI8wyQkw;H+?B+UIy%aKgrOPg!IX z7}-4@#P}hQjqd}SzZ;&tI`l5>oL~K&{@pj9KCavSHh-IQ+1s)^UvHmXf6@Pb&+dm; zH}0QX|KfOZS>g5ll6S=Y?f1%Vzx{B>&phKd&mQY9KajZp{;vHttZnA)Kfe@9#_!&5 z_xH>3k9n`|r%r$NufqI{{GP<8-$U=kv;UfC^uqnj0`Bt$%lms4{^69kb?EDb+9f<6 z`;&kCdAWS~jk^U-GrqTTAGq%Szv{C8=Nrtit{rtRd zpZC;nR^oi`A7q!h%Xz=-vq}qjwWlF>?w?;;|Mkj?#Qn0%e?R>CEbaFGUzxMM?@lZ( zmhu1pQt##Yd(M?SbC0e2_jrdr&+*Uy%O8upt(Q}OUSC;reY*eqDqEiR%<5GyD^LHo z-ym;Nc|Sit_Lt~)6V>;Ax-#2;@811z>*d>Z)^neEF8}?{V291w<8^y>+n-I{^)|kD zx3&0v-phY(TsCj`VRQR&VO5;lZTaJuZ@oER{9;$}>e<`dkGI*+*tI(U{O-Sn`~JUu u|Gw?t_mca2ZFA1)##B}pyv_f6=YO$<-}CYv{{P?p<6h$3cdj~>fdK$$(Q`Qf literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/rampart_plates/plate_0.nbt b/kubejs/data/minecraft/structures/bastion/units/rampart_plates/plate_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c517c1388025b5d343c61e7c726094989411d851 GIT binary patch literal 3342 zcmb2|=HMt)e4ozrzaS^EBsJbZFE6Qtq4)0TJQeq{V;|4-2+y22{lu;t4ULiKFZn;% zdVO2?Ju{7!ZqHV@3Z+PX`@#F?T3WyB*0!Y5KP&+PyZ)a!W%DtXulww^OQpr)`rrQ- zd&XX`{dr=&eEs)dg>!ZnRqnVK|6X7J?)3U+d4Jx0e*E2juTHG^f2;DBFF!tgJ9*LX zr}M8oo&Ngn*H5R@YmOYrpYe~)_+TlQfwqCPK|9;!!<*|9gC5_kp5f2``DLP=?V086 zKff5vXMARSpr)<-^Ul(_oHLltaGhcE$+qKsHu>J!=VHPKd=7{tge90IM1AI*;eVip z>6x&>{Dz+_XVeqy7(bshn9lF-`D~Y14kU57#;V%{mY-{3DyG-uJN zXTd3``B zlnQ1>-Qu|5)?mi8MQ}kcLoQ2(vV(NIo!E(Ktea9Rm(PF5Hu-@SqYqnJ&X3y4<@2L` z7}MC&8mr?PZ#Jwv@aDjlO{tAJkqO%)73#%K%xC?S-uNf;rMlgP^J`y=>^R4CJrbd= zH7D|Z=HmSaw`@vn&52Zu4m&aJ>s+%-ylG99lPNJn7h7a4T;oI46n{T>e(n7vkj26V#fxW0eZN!xVe_}`GkDH$oMG`{ zOk)IPtjni9$o<;eUiW_C{puIr@i4=4w-BZ7{lfdvzc?+vHx%<*tZ(?tHKX{z9A;1< z_fEW@_kcVY}3qr*D z-OT&I_MsE!dVlUQWH#WO!8${9Mwof(4Pm2_^0s&9F5H#eW$j#^{vvO#Kd9*Wdat@o zR^c$;ghcie8<8yx+fpa5IN$xnWx-!1Eq1aC{jo5we!kVP^1zmRt7Q~lyPeo2xGAq? zjkMx%w-Xx$i*j0IW-A<5JF$XukBwuV&je}V7X?i|GZci?PPA|uC89IG=zywrP^H}7 zHjg`F>w({|SohtJeenA(>z81M&#Wf#AY%RZIgOHyGaEDyoH?L#U=6f3;N$H*yWpzi z7OTVGC#C&}yTtR{uK8K|g+DyA<~x2i&ZuKM`+Bqg0g(jcs()G`Seu|px zZ+iCiraGiF1vhg*CDFBW`yJ2aFSyFPuYcRY>!+p96fmF7U+|OHWPjr`^9z62X5DxA zES*sY6ar)&n2mIhjqyz6Q@(iv6HOgCyG-gM>ClV;*P&^M>#9w*B|OS(kT4 z*tdBLAD_EWnEqm}@t1RwRnK|$7PsB8aE_m|Q2*Qo@$?tn#$S#~{(8hyTiCV_Rk(HD zZ$6*b=~+=|)zU4G1-&fj1X{c7fe-UJ6DaZc@aL#qUq0O3TJrOJ|9AfDdAoks{C|A- zY5S$M^}FhK{QmRu|H)sU{~mt&`}uDB*#9rz{o7gcvEcjXrN7(P@BdZv{qyC!pTAzd z{5<^6*YES?6duF+m{?)zyH_s-}3SA{;e)~{Po?>h zTmJa<-wr?h^yO2k#{2k>@An(U$3M7!|L^U_{q+aGe*F3G(+8`@-^bhYcHP+R0 o<@NJ_?`GW3m;d+q?$>ws$Ipx3SK}7`fBSFy-h{=DnsXT#043^*-v9sr literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_0.nbt b/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..43f6971d792f75849654b242305921bd68cf02f0 GIT binary patch literal 22602 zcmb2|=HMt)e4ozrzbG-cAhD>VINm@nFR6rK%H6w@9(&AEd&crdzHdH9nA-$KwbiAv zyCiR(Sru+}>!#eyW&I^zZyBYYxOPe6ssGZ*+jI6f3;nZWVf;TK^7Qunx6yyj*Z;2n zC%3Qm_qXH!}}|Nr&Z|GRDf|Lyz#Ki~G-zm5KPz5ajy|4;Y-75`Me zu&?$1Yx{qnKmULE|G)6QrT_mt-~Z?Hd;9u-ggp(6AC#;;1IU!Qv zvf^f^wB|Ga)Ms+$_#`AVNekbYao`w>nc4=!#$HsRW&0Bz|CoG+r!MV-ar1o1KW84K zv)LQ}n0fF#rjS2_J>wsi55foVF<9&c|G0b*KIo5!!DP?*N9Duh1O9jzZ1$3WQa(&R z=#PiNXwUjb@CUd(l53AA%41<6$t{^ZqgUaQT2gZpQgfN6vq7O=~*C^IlXz zSaGt#WW`{GV8zP{n;n)pr?sA8n<;Bl|7>~le7-uXA1@!^VWhL#YyXHmc%G{+?8D}! z`J#W;Jb(x-?B?BdV*xH=VYlqA8`y}4dv+bJEN%b%if^y{h2M+>i2C1it~-IeF_U2? z$4r))JTsYQa?NC$$!a8Pq@7}R;>`q0w$1-0&gcB&^B|qcUiin%1Ls-l)IJzDVhRyT zFW@AEKea$p6yDSVNl5rp3p63&O)Zdwgg>=F6B6Fk0!c`CQwua9ZMOMnTsv{5g0ZvO zf#+DWDBsMB#R|&yvVTfGTt4Vu|LFPZ>z*I1B#l^&M2&cjxKpfB!cOE&xT$Dd#h3B~ zl1%3R_^BnVIQhX2qZF##MGsLareQwoADsv3jP~3=A`hHrsuTOL8B^%;L4S5wn!&}`Z1>T)e&WmrrD-Qv zPPm*7sI&Q}DhWSi&Tt74);A1q+=c?2CvGT!kJdDQqY;{sUG9N6*%^;9A zpveVK1q74w|I?!W`TInq8VI>k!j(Qi3FrA$w7Tf8r})EepT;vUB-<`Z$!%z3U-OVL zyW#+tSz(vJ%O7z#-~M~zen-6Jh@|a&gHObiBt*1T&hrpVAD}cuD19`||8c~>!l+s9 zC;l|jIG^P?;bfxTOhhtiAR?JG5l$w{8;L1NHa8G%uq;3P_cwB5rS{SD)sIh2(EJdG zQb(~D|C!j!o0F4}%q%T^tn|ej9Vi#UUBY3UuF1QRK(AqNR_Da90eS6_LAC&kYdk3W%yzX$n zdTfink?@{#JTn>Ii#{wBLTWZGQ#x!cDmicEi4Q)mZRuJ@Ho+4g&g|kjACgjmPb%pN zp~f$$y2964LR43TdQ6};Frgk3i~YyW`RV6FdI5`2H zrSdkkNw0axmc0YQtho0eX8U2Q_Z!Yx&$$0EX8YltdG(i${&7uf^lASdrMTHKtsPWp z@timKbL)EeOv!uN2VT2W%w+)^E1gnyqGw*B#s?nf#&iiTo5KMQB-@zI8;Df2Ej(b% z!-`i*;wPS-6DaY3`&T%6+K9vhPGW?6-3&zZx@#UiziG^)OqIU(!|$u%Aw6ch^IS7|jjU7L&RdF9oJ+j&`{R=D z>x~$V1dTZRUZ4MEwO~E-FROW9zFw_<`@w2)x}ug1ci_Xw4zBY~Ar)ea4s8|?o!7eJ zgN{opUMV*m-EVjz0(a6ehilLh5h$tQ8@K@#Lo6SJ=l$UHe|A?He|kEiUiVDjXmPqC zfr{8^CBow(r+LKN1qB>o24__pBA=1 zKQB?@Cb&j}S8ZsF^QA zn*VqEv3-B{AQ)zZw{wMyvmfc5V`m|2z2-C5>ph38)^9k6!8~Y{zu}zpn$K*n_n!Cy$4c-p)mi6U#o0C z^P;kW?L4zdh1`OJpBeU-{R&;?u4~0swizGZ99%!QZtBekpWjUQxjFkpzWsVj zxASs3AKn~fB9%IUa}*G{7{WGcj8+VN7PfzQvZnG0zMgx-{0~RYZ{E*rw@L7z8;i7H zj>`rd3>=9Fp1vNGt2g)Zm>JzTk)Vv7@hN_TVb!{XC-|GzpN^d0oX+NErgdXQ!s4c0 zF6@kgyp;v}@67x0^P6j0)AgB(!q`WOYYnXBZblq9#$+b8VPiutYmQDrGNUy24OF4U z&4_k2THyngikSc9>)URhmg`u?{_SS0{r^k$&o@^!2em`hs_@YtP%#y$xY^Oo%9icF zZ)2)~`ThANA4Ai==p0#rIl>I-ea!5 z8rl*9x36DM_S;`Ok#j=lhd53n^daYoe*Fh^s;~TJ+nav@AMqaCZql5v@yZtF;KB z{j6V4{>`i~5|{gWZ^3uAz2-0WI=<(v%D+(Ed{6odlF+xUVlT2A_u(Y0zFb|np0Bp_ z#cJnx*{`@t? zKa_$MjAsS+U#n~fx2z+c%YvB?r9L&3+9k~8k9f{}?I(=+_@q^RX^eG>Tk$L2fB$~7 zZGOX>c2oMyCi5Ao`39%&B~06UP^Y>%@*8#uB0BMsIcE}**`$qc%s6wW@>NmB;r@DQ9dQs}# zhBoUp5Baip9F}_Lf9=ESWcjnx-C@JZYaV_~;eDg6!Q$zU-Py5W(a+}MkQ@nJThCb4AB6!pFJ zzm<$#1x_$z0Fo%EXX zY_B&XG3_nC{p^Me`PiKYO}H<<`QnAK{D+zRKhCh%JY%-|ynX)8i#nfvJhgkb8r1xH zuvaNXXis?Cb?Cx~2gcUNt>vQw_pI574Sj; zCj(vx;9$(ZQSt45hTKhjNgzS_V5PGCMo`0mWxcVpnuD5?nxmTYGKXbO%N#+2S!cLr zUi5h-aYmNwOX!02OtqpfRy)MA{?fV--nb7e^hx}e)L8-d+RzuPo#I7*t-282x=-s% z=)(0}P@!*Jw{qv1(-*59<9UB&T?lX9C-vp(g7s{*TlZhMp0VzGcKrQ) zCwiV$Eyh-ZWY1;=#d`gv>)|sm#^hf?)E!^dYiqZ*fochv=E}=2c5g--fkAK&{>t&c zmi|u(vasU(9>+A3+fuUE`HpWrT==#i##-h&{G8+cagog+hTJ{|AzhNy#Ct)=VyuUXbj zjC@$?_PI%X#_2r=VxEC@aqaN~jkI38_xp5$eGQ{McMZGvhs`#Y>(<9DKm2;lgo$4z z-XS= zbJ2IHaS!9tN^?wIrO532q#UH>e;W8VG) zU;nVKd#+z#YyYaY?$Yn@^_M}*$V%4MHD-V1j#(Z5AnGsE^;hCM!uB87`iphlRs8}? zDfzE*^=WP(Rmb)nF#X25u2;Vxx27@s)c{_uK0Cke_@&9o|Fwb@f**b^InlGu zRli_vW#j8J@%Ep?XI}jJkaZouenD+TWA=XTnBRZdu9xmVSb8_VAoja-%=N!)*OT`j z{CXq5!1kMTjQd}<>w)_ZmR`v(ko_th^ZyUqb^HAXx1P=a@P5@_wy=8U)%zQ--aqiF ze8%z`_Vf1-elGv;N7kku%Cw1^&v`Aq>FdmdTD1r`Gws9_^_l7Q-^;eNiC+6)jCGmU z@duF|foO%J>5J92FSGwCfhQE^*RqShNNO~VN#GTaILvyjfblc;nuko;I}S*dMI7b} zvtCo&UixmsIoWGF4_lR6Y%hs;&i8zp=(U1Y)0jlw@QA}8=GVxFcXl88l~eFWTIM&~ z@qGt3=EInoc?O zCEoi&b*a_!e|De2+2{aIe|%mxk%;v;hu()nmh$0Q96EWycb2(oFH9Vlb6WXc$ZYZx zE}6C9GF<5F2ivn3GTZ!&OJ*&+%riIbg^BZWNh^d9C;_0gd!Ry3J>$>+v%C1hIs!Qb zAiB?xHZW?72elEj^}t5`f;ZeUznPBjgE0TZm29|}SZlS$zy0gW4R*5EmLL9A5;0%& zT6*i($i&((1oN8u>(4oUU-*g_mCq2~dw9+Z*=H{A4b-dJEib;f@f}n!rkQ|w)@M5J zCHj5&m;2}bp6YhXi%>pa@uKes_pdDkr-t7NekHAz7e$}BgwGI;O(dEl`{uGA!8M(Y z^M7{E&yP=0tC%YZnaRQ!8oH@yJc|^2L2mu_bG-rcu0uR8xQrKQpJ`Y}fa8(dljaaU zgR!^D|3Y=sJ>f6&7JO&ftNy~)@jWM!5KnFD3vK6k$zP`~gtzT8`Z9Ildbp4lvvlm+&m-E7f9#rqLvHbSI zHLdab%L$Q+#Dp&v))^G)UKe;(z1CT>0>{!T(&Ve?SsobV@RqMF72WoPeCJVT(eMvE;^@IF&8 zpV53Lfv>0;ALm7N)Pw4%1(%uTioMw4u$i_s#~JA_`wphxdtjXZVP^TA^M4v@-|*i! z{*OrNO>O&`4Ef*58~81eCth$Y(x&1kq`eJDzZU)xnMC7T?&8 z?>kVf`yq~dPk8(HS0Cd3>hHOpasD&&H)Hz*`_IW6%y&GDyUbbLtp0{~-UjoEL-!uw z;3UOsr+}8oOTHzb5VsM-MrQxK=tJT&Ipfq1y;eDqQn4O=8-e6od3=HS{p)L~Hhm-3 zxaF|n3tpp5c8m8O6#mBMe?!_PG53T`~-hZstc~Ik5?7Mi1w{M_&oDNrBuy+u@@zc z-=iMvwb~Qj{@Ja)H11(3$nf_c>v`5i+ZjU^*2NrnPxeGX6GGCa~?u0$wyBbt`@>`M$odw)y%^ zMdMrQKMi-p`&|fc+IMO4zI|15d1f-b4+ZVrIq>|Zg7Gf98lGK0&iH(=GT!3{9yk6F z2cHg;375Zf-1fn}hm7C(__rADDhE$LeK~SId?wHPP{yv{pWbJG{dp#AU)RltH~J6m{9gX!?oZioYwFtXPr3il{Au|Q-=DH|!FBETo9;i{ z{-FGa?hn~{OMl9q`@H{f<-c-^^Z)st|GfY3&mZeK^W9$yAMkJZ%DKUg@tXR9jqU2k z|GoM1*?LZOeS7iy_XY3%%AVW1|M1T5pN0e17wxvh0VAbSo|;A`!N(cO3G`be10*g8^vd_4%VZ(c0PS2Y}4F}YQYDnsBY)F-&#l; zy)Krgm%L$@`OSE|?!ZR*0tj>8zdd$#Y;}+Hzw^bXo?6iT<8;rP)jn-Kd%|1Kthjvf zx#fe;G9N1Y_J64Scjm^Y;&Z>!=a!vVV{Z(ac~wq+IbHH~ICwYK#Q7{?!Vy=$ubLov z(<8yO@hVH$*Uvp`(l*Ruf4-4#{pNpXAbUC9OpvVA|D<1h9=hJlNYd!|f#SCJ;Sj`j zUUHwclytI(%TP|7krudeEzwT{<%hqoKJ0z*;qN8Tv;t^V2ir628g>MlWA1kR>)X#a=N>Gt zY<>TU>;6;GeW$f+ricH~>o*eZ`)h2>yYIdB9AUThn-9F!sef3ScB19r&-5>qRyFhZ z<}W||Jo4e^H6JR&e%MIwxz6@}>)+PzQge@oS*%}I5EuJ!&#L+APH80|)~-X9rLCV| zaXr5(dT#aN$Fu6bRq>o#Ej=gP++uxRLEPO3dv+bHEN%Y$itYJTUZ{k8UP0W|>oXON zt*|P&^E!7!`No4g%bSbevpv7Zd#+S^PPMtk_q>94SI>i1tQp@rf9JuUJqLeQHh=!i z_WU{Tx%1M0-u3j={@UrbxcCR(^AED;9$L>iTyD|+zJTvO`&_Y#xm@c%&y<||yxija z`+~ZA4{g@3H+D`dnRox8&Hlrcb?u-3@I42WQPy)nN?t#gJiEW_hwhDs+Y{RFH_6t` z{$i|tBIQKSJkgsEw`aEBUnW~OyX;5qEePl0uQ&CHwQj|KWa}Q6{ph{@&^)jG{tg)D zd+nCCDGU{D6Y7W7?P7wFmOQzu0SM zY@Fiu`xSc(vrK_*;eq_`jMq8YW7J<%_pTG>+u>*N!0KVc>lWs^>HIJb%U_$t_wO(x zNwfSt1Io;-MvEi=GhP>BkMRbZwe<)p=ltIOI_@&WJ_l5moiSt;1*ny2$!5HJ`oY&e z_Qs1}uMpqSS0!n|^TA5ch|@^2&-UFr#;&j)z2UTBL*M-MFs4CrJ$6XQkV271Vc>Cj51u?RH zs}C2}rU}6}9J;+=UH2R`JPe`gwt$wcrGsXipxa#+r_07ah+rdGgKV$8?bMJxHXfA67xH?-fts9xMVjBzX} zMBDub-6M)?zaMx{Aoh*L2hYQn&f{Ln1KX&B8A*_cyZ=VDkxVEViV#{M5>rvI?{9A7c_qTPSi zZ$I@noUfOB^RPZG?F4AEBB*71Q(?1nnhCpPZTTh4$dXBUVtLpqJ>ogf>p6*Y?TuNH zqv>pno181Hx8BgavgTx7ZKOb$sv*g)wJ%jr@57azo`aGBW%qRyX3MXJHtb7oG@O;%Pw=b)79#db5VPlojfk@f7*RJ2<2bZ{7k5blml_O33evJc zzP;}+{KiV`7q|Ws2TnBBKW-kxQ;&an)56O<{#tFyhg$)=o_Npod%QlayN0W&nyzlPcN2B(A;(e!m{{f78 z!22%v-UGX*yzhd)eD0YSU)%ipx%rN|y5{U#VCwZ%^BwQ5UgwL8>pE2KYt_C}my#%)$NZ+=~=GTYKci7cn zqpq0Bylvlq*z}ThjPl;Y|2|vCY~ORZ^t5%1`kuq4C#_>9zo_p0CwIX*CV$W2ug752 zo9i#Dd)KMnd${YV?7HZCiTnNR{ae6=WaF6^GryJZ=&Ndfy#hwv_%6LRvEB5I|FsP^ zJGWJ~XKyRtkyedH{XKjU>$<9g1}5+{y*osUKhUO+wMbK=hw}GiYzH(h(9lj%O@1d`+@Jp5QN~gHh zpMS@7eQ)@VcY6<&z876ry}saXb?fVU+A-hb9`5?ib$#z*J-#1nZ9d%k!FGMiEKo-^ ztz>Rx^Xq%kG2ib!sQSuweYN?HI9b{1*5rK9aN0b!`OE*do;TiQx98y2kG$)8^9yoo znzJ8E$4K9Qa4VvJFJ%2z`M}S%Eep)t=&g7o1lxzo_~56zMz5 z?>w-3%JyB;e24$egD@$hO@$4;%sDk_;I{Bx^V$Qp7uoN;uQ~8pMgBwiS-S`GUNFDw zv`Y~C!1z5w{zLf-y9f7o{%!cZo`1*xUk$(4Un~r@SjSaco96a^-wXCTuWJwNy$7XU z+>n;}ov!BWc5OLm-_wix)_)tSZ}9JE$4}M2|HAyP*#3dtcOt0key7D}UflbE{SJ5i z0sPd8^`iTlwM%w6E|}y7PE`L4W-r+kc$j zPpjYAKfmCA-J!p`>*j$@@3{yP{h^Me1j6C32CIi~pqfFP*S}0oyqO?*7hxnw6mI?q z=d{=V|H=11?5ga%`hADj{O9{$_EGlV+eg-aZXaEoe7@k#)AVQ3SWY>Se7p2cqW)99 zYR&Q+-a8M+os#_)^lrm+qgRU#S%pVD=X!l7VXpL=;^xx44d-~T?L25@9`T&*nKWqf z@cbDjP`~`|eCs#=?Mi)E8NV$c0~ zANe=RcN67b^8NNGzu~^?u-zruZxi2b=r3unU1E(z%586bnpwqMS);|+$@3Z(!j+uNjzxo@!Jo(%+K1B(rcE_exm1D5C05fyM%K;8Y~|(k8(z87@Po2o5_Fq z2VMCHN>-bl(xlJ0xg$D(Nc};c*T#o`o!MY#yyiTDiI^YzRg(r9G6bDrB6)U!d$vR( zukxD27So;$ZGzVf4oSI19OlTLQJ1#Q5$CB!OTL4as(d|x?-0WQIF=6cL@|s4NDOoy z9p14<(0C-u`Gug;278%AL;++58d5|pZLpR}*hd*r3n0D^pO4Sq&-?*EWZ(&cm3^KP7j~SlA6F7_uc2c$wEEHkk5k zXk)x)a6pPJ;xGeps+f;k@Q&A%U|l!KW7zJcJIMWWdK35=bU%kZL3B=>v2MCV>hHT4y0fim+Bt&?Ez% z8UT+J;U1WNymJ22=pV=T|Jz*W{r`FWpWF8Tey;sZ|(p8l>h&u`mfmkkNW@rzW<-U zJ?-*s6M>e8t;begHrZku%5;$R2xI7{xyHx23LRqB`r2$0Uu(PiE^l5P)BjmF%})MW zo!2x;snC0m@%uBzzt`znCWhAqes(JKEmCgPxY-)t=yWsmL|j)(?61}Ku4xsbn>IeR zV!rM9;-}@jtpbP4oK^&S*-gKY^y9%+QLn@zk0gHK^II46OE1fN&hPR*yZON}E}g|p z&((sICNJvYp1|NA6!%-zt4}=QQh4{S=dE{BPj^gCUs`MJQLS;V;H>1I=W`~TKL2U| zxW@1MJlZ*N_;@t1Q-)tjW! z%X8jWT%T8&srM!L*^e8h$2W;w`SNR-oVMqpH2HcHBl(}%p|xGcU6!FSOIbC*>Yb z(RZ1-G4N^6)|Fo}+Y2q(Idl1LyCoE4es=z1=&HLw<@yBgn<@ua^+4Q6`HXX`fGCx$Ezn%K$0001UqE^z<= literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_1.nbt b/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..58dfa5b3381d7abbc32bbe50e757e5c100834156 GIT binary patch literal 10875 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_2.nbt b/kubejs/data/minecraft/structures/bastion/units/ramparts/ramparts_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7d8b25733ef82d92a7b5749dc9db03836567293f GIT binary patch literal 6336 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/rot/stage_1_0.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/rot/stage_1_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b7179b10ecb709daf85c5c392638fc2a47aadb37 GIT binary patch literal 2285 zcmb2|=HMt&e4ozrzqlkZJvH7i-as!esf1za+_QPg$3hU0Gqftle2CMY``ZTV1zJmPWOOl*ipY^CvJqF-2Q(hKUYm(pXhUV%lz%1%dD0kk5B&e`|iWDyNkV7{wenV25u^o5UyVWjN1TA@(4$A)V2d z`-9Gb%}uo{6s9-DaDAJh`{ShcES_VU4$2PBHqsX?F5HRIXa8&Q;<%$d-=^>l^{=## z6)xC$^*qBLo&)C@u9YyiXAQYV3EOyP=rX6BK3}x9vM)lLx$jiNVxtEu zPJ9l1>>z9yv?Y!;MPH$s@g~@n4Ci+l_{CkEP?%MqmwrH6a)S%ooC%ETDF-+w&R^}; zc&uR=TY5R$9D%Pf2V)K&irKX2r1`mnjAu-n<{fV>oObSx$K`{iw+>po{Po$V;Jxkx zyZ8gO`x<`NFn<5Q^zI?+ox|Ka+Qkd}H6A=~Vp{i|Y28z%b?b%R{M>cn;ib~R16zfA zjrA(xZk=a+6UtZ}dLT}8L%6EN^!2kc*1OF!{xGNU`D(WYkRy&Ysyz~8+@siF&ho*{ zq_3e)q-Sx04D;g~+Q$qR6fRhK@G}eJ9EAp9C40VWTbc^BB+?^xu%)^NAFyCD;WH7; z=XlVYF^BC~X2M0R{KTf#B-g~XMH}s>9cq9 za|X#DCl8ztU7Vl?iusP4B6q4q@9-=8vd&_&DZfx0e?nDzmed=0=HC|%*qLnL=Y8YM zTz$AHJ3!pT`@IOy8(!w>!v`eAdoPPu#a(uJotJP|cF*N63!c}U6C@_ zXIk9Fx`lT?7k=teyOk`r=4GhxTW9u~AA9C+-6@l?$X5R8r`DKkaMFA6Po^?2;lIg- zdaD_$o9nD1zVEy6aMrQLXJPHB4`VymWr$?FX>&Uev+09fs&Db>{-#2aifgUqLD{pa zoF6CXu@_s;Sgp6`cGP8&1%eB9PR(YhV|$R!P{(%RA;+Jd1LrxuB{DxQd0?q)^F03Y z9VvBvoACI{F4wKEN?fQY*!z5eb7V!^{$+s+3>PTQ%PzRzQKWfdDL8Q#N#3w$E0X;1 zCP6R0f_=*}O^3$^_v$rQr?GuMqfyQJI<)aQV})D;oH)3vKjE(Xgj$xJZWFRuc1oSN z>aY%!te1h4HS;m=y9^&vR^ zp?jlRQiH~IhG$X-Vw7iOv&i->I4oEp7yr=Gik;PT;7e#eBkDM?LnPGEa&&yyM$sed3)$ zHS1076LF5;xHg4P*xU3*G)3Ow8zV9iH_^6g+v0|sA_lXW(tO#)4@;!1zx8@5f-C-M}gH^#6PS)O>RFugejlpf01 zZ)%?ibzH|)6gpvbQ_NRUP>%dQk4@q>L$Y*24s%a#!$w|%ZH&jv4%{G0urd8~puOyu z%Z~Q4PhKg6v+rD2->%2#%QlM%;)(Ot4=UMh-Zwm#{ji7mUFm^Wd=YmUS6e5Pvg^ER zm@oTbGjmIN$zV{NTre8%yo&IhTDu{`0!x)VI#R{=D4(Z%b|U zy+1}O^UarUzx?MBvv&RFZ`o(95KhAoc?|*;q{W;Iy zCjS3={`cFOf4|D#w%>oZkMr?9jSsW=S=Y@GoBvL3f5xlA&9k3XR^74un)GhB`)iHo zOSgRc`?6q;U;qEvji=qs|KFPz{LeJj{pYL9Deak7^U9}3uAjd*>)*d6JO6w>yZf|@ zdD@=3SKa=nerx>targYZeY&^Br_6kw&YIY|wFaQ9J0!IP> literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_0.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..2d6b2a33c13eb0f58555856046b05bd40c946467 GIT binary patch literal 2418 zcmb2|=HMt)e4ozrzqlkZJvH7S-as!esf6L~T(hrMW(Kl(7|F&RA>8UAy-R$Ad|&`>vTRSzjC@*3-&r89iY$YjUD^ zQQgWyg>?3!GKF;ZPahTJ`N2fi3&(T6DjTnw@?PM$5V4@p;c??LnQDeNj2qYw$T3ti z#HjmPEbeU3W?ILwL+L?Rf{$`Se}a$l3V)`ro(t?auc$ZvQVE#P@@ld}tH@HEJhMj>9wOlLwKmSuolj2Jj3qCq5b`aJ|k6}Ldlx@yVUW;Psf@fw2@~`Y*y5MqPs@{bw-&$rJvpH8C z9cdlZsl1&3Lc{{jsiqnSK66Jb54vgWKZ`9RD|_d)>Fl+Y2TGyl1xLSU+Ow;{*73kR zg#>?r4eA^>gjwEjGJRuVj0NA^kRM_#O05O^W{ton^p zHaQH{n-Az|OR<}9nQZ-gGwj*|hBC%COgC6Ja6j18aGFVvdxy@0P29z$x_wN(E9O{> z&50MA6K`6^er;2<#AVZ7b}80bw`Ts{WVdNiW`kS9v8EcC3l$3j7p$Cn+EkA$P^>4jUo?rbkz-Pw;)*aE!S(?Aykub6h45 znR;2J*iGaz&TTy2YFMfbGV#mPhGWcUE!VL;%VK(M!nlrQhtLDB2JPlK#wRSBD`zl< zv&H;mT37trpD~8DKy@M0E^aiGu&5t@J8%`CrgD8W1Vxu{RNiS|FkjaD<1IX_#nizrv=L7+-k_1;B%O@ zHWHkRmp${$dLy{O{eT=}I7^IRf$D*&4B<>MoIROLZ#XxoAD9Pnm1IHcfvF${YfmQQ z8`cft2jUp28Q-v0adO*CVzoQSv_J7+q^IfD%_qaMRw$&izF|DVso=*__=vSI>-P*+ zIC{Nznm^mmlnMTfwW1fo8Efa>Q{U(S3N_!i_ZBe6-DO<=t|7eqz-sFUS7krEGSy>@ zVcNk`aFbPUJ1AE;#EXIB?kXEaO+@WHaq(|S(zPWD>haic*nS# z{f*oP?GurX=eUZ(CTwon7+@f_>x164OFQ2jxcRn$z2Je=*~V-W_H`F!cDSv+s^0L+ zC15_sD`CcJ7HCLRL;cPGV=z{;y^-9IeqbJi0rP)>=z-Fz^Or%Hhu_3>{>y`=i`nC@ zFzdf+6#sglyXt|f?T1BjHp1Tztgm_yZu?=i+>cQHclOl<|8Fwyf7KZO6Y*too>-xA};@902r`>POcfV7cRdoCPt+!X3Kdt^< zcYUw@mhG42Z~qhMy}kAO+@C)$Z@>Gu?w3jZe)+bwKfhl7e*LY**Te7b9^T*ZH_tfd z`GrgOXRM!ZV*h3K#=jE1es2>m`#zg~ewO^~*uC;)pT#d1MEqPk`T3Q9s)05wnU9i96*Xs6V;rHW9cfb6Q`P4jO-upej z%(lIsx3Bihw}sDzA7_8#I(?c=TmPwjJj26!ZpZsgA7(GV@jLN$fBD_BSHEtXd;Orv zn_a74JKO*NxZhQbK-svyc2Ou-$k2`|RBPs~_2}zJBM;8?ld{Qh)!Dmps62 zAz#+_F70w}=(+rPt#hSy-ia1IJp21g{U-itt+fWh+t%+tvF)y(`kwsw_1iLU%vY%2 z&GvKgwj1YuDo28pTERcFX$ImRhddUs*S8 zp38Bje@_kG>^}U_e&vj%Z}0!UXfoe!`>(6Pt7osf-GAG1`SgkV=a{c|y0`Uq^kV)U zpI6k(QI^?uIPLOXiTc}l$17L-skr{mTKM?O3*Tn%t}OVnt@i$VvtzYyj=e1Q-_L&J zIOBW%$EQtB6})&Jc~$QCg%h($ literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_1.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..14e084a4a99a97064d2054166bb895d01f7cbfd6 GIT binary patch literal 2511 zcmb2|=HMt)e4ozrzqlkZJvH7S-cT3v<^Uc+Y}{+|6JyZrqW-z@WF^Rl=1WcF?1y#BY~b6&jU(uPMC0J)L7(D-^tYFUsCQ3Ljs5(q%isdTN zys$Lkj%d$rrng*M*caF`yk+bOXPCqMK!))-hlRUAoM4YD%Pr*#a*f|uwx}<#Wqiw- z;qOq*bW8ZcyvB7rC8-8n+ z)4(csfQdh$k$po#{5CMEyElFI&0w7y?7BDh=On(BF=R~es-DC8dpc|NWDxq@$69(% ztR|oBvwHJBErW3F3*o#5&rVzQv~KQUetoxbb5FIISRLbIhdDua3l`*A1enXLkmkF> z8y<0*$%6aA8il?%f#b|Q3_VOf3^R%?c^s-4ZZSU)PW$m==B=PZDh($S&V?uJ(GpnB zR=kg`c4qQl1_^e9rMva{-)*gVc<)(<=GDWK^tekR7rgEeYzS=NWC&jMS?)?D|DO5m zrTeDHn@^s<)Pl=^F~RG1A3Fm1Y1+#@Io|w-UbcR?acvv3`X)I&CC7KbwAhz)v zg9ZBmONMid1$^QKcF%>CpaFisvgy_&hUY96>IWpb6szk(jrds&_lPw>hP z;Qn3B`e?>u+rWqC6dQi`GTi&ta>#bl+|Fb%gQdS)7~TmpMZ`1Cx$j*g^WZUqJpYd$ zl6KxRife2hC>s|ib1E||W+?94%y7=i`1y1LxdfI3kp!j#Q|z{LJ4v79fw9KxA)30;`lu#Tl9bwhm00&V74$rq;_!r69d9azp( z117Q}!sqW_If1oj&cPRFc8f$-q(5ai#(c)oPVk5)!{qdPb|(+r7HtAWvGDnXtO@g_ zKCEPvH~#!Bfm4~GxUYY1W$~t#jSP<&Kq1d_u~hFoUq-pZbmm<$7oIlgv6oa{n9g2X zd0~3PAC43K4Cla!uVFLOImRQL;ztA|~mwePAbBP1c0xQXf|8KM>}w-p(v{K-6OP z%|B#q>Y@`Y()(^Al1Y=C0DbQpx|S zhEv!fKJnS!`FeX^YF$l_m$+>4`I?8=y(GzojSRu7IOVR$^S|PMdz!h2!6$QWRY0`O z3SGG?V*J+@u$vxi{@mKIxfzZa?DZF@aeVm9^k)x)z5apo++e22vAgH@I7c6jXQTV2L(i@Ap2fZkk^wn^ z%RqJg(gWF=AELPSOlzu+V*S2_>z$2gg&FHS-^TRd2RB73%vitgRej5~Mf<`!huutX ztv>rjh~4v$Zh)jnpOfyIAL_XF%x8MP{J`(Pb6f_hAO=XRW-e3w@&nfcV>g0qw`aZQ z-?%>b!E2EpR;>H{2r>Jz^zR0;7r4tFu#IN8r_b;{{82Kay!Gd46`aAJl2z^aJ`^_e zGuPNWc+4oz|D)o7JA*u94aA`oZ(e5!&l2aE6z{-IQzAs)!Ix+H%jd_N|K2EV7XIG+?vDMt zUjN#6_wD*+3tpFfHIux4ch-Bq7xKHm?)y2xM`HHfU9xB2`|baAr{rtd)x2YOkGGcJ z_CIbKm|JgEx=Hp|Uj6-h>(>2#_Uvw*jM>{)Ro8v%ZN2`z<^1D%B;CpVrG9YGgdckj z9$I~C`DVj<(Nl-QSL^I^yLsPl<8u4_d%lNGaZML{BtKm&sd{(bch|Z5>x9a(40eCH zbmsDzSK6A|U(Zaw{cGp88(;2LUB0(3tu4-=j{or2e_6NJ{>}@&@-yX;|Jg9}!)d>s zTf7mAE4I0Nc34X5FaM2uanGmU!BcK;yZi3< z%InFum7ksbWL5g%$L(&egUPG^%l3(zyr2E=T+4aSS!|yUAIZAT|GKm~`^&nQ-!H#- z^>5!zKa+2d*S);<{W1?n`B~rXk{iXE0UgCY;zWR*g%l7ZunZN7oRdp-j$%&tfe=9xN@Oqi)eVMfRo$RTr zzu!I{ps#lK=Ce%WH^+X5Z@JI^KK`=ZwzI2W?7zRxPV-0o?)kUmCFW$l^ZnbOmh;av W^rbWR=V#)d;~VTx8A_)yFaQ9J;gClF literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_2.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..80333c06d705b9a9ae155067799582a749f5cc05 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_3.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/stage_0_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..9220bedc29fb3414fd4224f653ec6d97761c585e GIT binary patch literal 2392 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/stages/stage_1_0.nbt b/kubejs/data/minecraft/structures/bastion/units/stages/stage_1_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..38608ff18c295ec85fe9287d5ce740bfc373e345 GIT binary patch literal 2357 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/wall_units/edge_0_large.nbt b/kubejs/data/minecraft/structures/bastion/units/wall_units/edge_0_large.nbt new file mode 100644 index 0000000000000000000000000000000000000000..ee212d82f8e1ee2c0900f3efbf15202146b1719e GIT binary patch literal 2666 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 T72f}I`L8rjnI7xEBnAcm9GYi| literal 0 HcmV?d00001 diff --git a/kubejs/data/minecraft/structures/bastion/units/walls/connected_wall.nbt b/kubejs/data/minecraft/structures/bastion/units/walls/connected_wall.nbt new file mode 100644 index 0000000000000000000000000000000000000000..1e978d28883ce0a696f8dd41e66968174a286678 GIT binary patch literal 14819 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfc/tags/items/mob_mainhand_weapons.json b/kubejs/data/tfc/tags/items/mob_mainhand_weapons.json new file mode 100644 index 000000000..02fe1b2cc --- /dev/null +++ b/kubejs/data/tfc/tags/items/mob_mainhand_weapons.json @@ -0,0 +1,51 @@ +{ + "replace": true, + "values": [ + "gtceu:copper_axe", + "gtceu:copper_sword", + "gtceu:copper_knife", + "gtceu:copper_wrench", + "gtceu:copper_crowbar", + "tfc:metal/javelin/copper", + "tfc:metal/mace/copper", + + "gtceu:bronze_axe", + "gtceu:bronze_sword", + "gtceu:bronze_knife", + "gtceu:bronze_wrench", + "gtceu:bronze_crowbar", + "tfc:metal/javelin/bronze", + "tfc:metal/mace/bronze", + + "gtceu:black_bronze_axe", + "gtceu:black_bronze_sword", + "gtceu:black_bronze_knife", + "gtceu:black_bronze_wrench", + "gtceu:black_bronze_crowbar", + "tfc:metal/javelin/black_bronze", + "tfc:metal/mace/black_bronze", + + "gtceu:bismuth_bronze_axe", + "gtceu:bismuth_bronze_sword", + "gtceu:bismuth_bronze_knife", + "gtceu:bismuth_bronze_wrench", + "gtceu:bismuth_bronze_crowbar", + "tfc:metal/javelin/bismuth_bronze", + "tfc:metal/mace/bismuth_bronze", + + "gtceu:wrought_iron_axe", + "gtceu:wrought_iron_sword", + "gtceu:wrought_iron_knife", + "gtceu:wrought_iron_wrench", + "gtceu:wrought_iron_crowbar", + "tfc:metal/javelin/wrought_iron", + "tfc:metal/mace/wrought_iron", + + "gtceu:stone_axe", + "gtceu:stone_knife", + "tfc:stone/javelin/sedimentary", + "tfc:stone/javelin/metamorphic", + "tfc:stone/javelin/igneous_extrusive", + "tfc:stone/javelin/igneous_intrusive" + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/aluminium_hull_reinforcement.json b/kubejs/data/tfg/aircraft_upgrades/aluminium_hull_reinforcement.json new file mode 100644 index 000000000..ac6ed1be0 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/aluminium_hull_reinforcement.json @@ -0,0 +1,3 @@ +{ + "durability": 1.5 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/aluminium_landing_gear.json b/kubejs/data/tfg/aircraft_upgrades/aluminium_landing_gear.json new file mode 100644 index 000000000..49ce0e2c0 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/aluminium_landing_gear.json @@ -0,0 +1,3 @@ +{ + "acceleration": 0.8 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/black_steel_plated_airplane_propeller.json b/kubejs/data/tfg/aircraft_upgrades/black_steel_plated_airplane_propeller.json new file mode 100644 index 000000000..89226e4f8 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/black_steel_plated_airplane_propeller.json @@ -0,0 +1,3 @@ +{ + "friction": -0.2 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/ev_aircraft_engine.json b/kubejs/data/tfg/aircraft_upgrades/ev_aircraft_engine.json new file mode 100644 index 000000000..45ddc147c --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/ev_aircraft_engine.json @@ -0,0 +1,4 @@ +{ + "engineSpeed": 0.5, + "fuel": 0.2 + } \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/hv_aircraft_engine.json b/kubejs/data/tfg/aircraft_upgrades/hv_aircraft_engine.json new file mode 100644 index 000000000..fa08ad25f --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/hv_aircraft_engine.json @@ -0,0 +1,4 @@ +{ + "engineSpeed": 0.45, + "fuel": 0.25 + } \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/lv_aircraft_engine.json b/kubejs/data/tfg/aircraft_upgrades/lv_aircraft_engine.json new file mode 100644 index 000000000..1c7842813 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/lv_aircraft_engine.json @@ -0,0 +1,4 @@ +{ + "engineSpeed": 0.35, + "fuel": 0.35 + } \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/redblu_steel_hull_reinforcement.json b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_hull_reinforcement.json new file mode 100644 index 000000000..a15c08242 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_hull_reinforcement.json @@ -0,0 +1,3 @@ +{ + "durability": 1.25 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/redblu_steel_landing_gear.json b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_landing_gear.json new file mode 100644 index 000000000..c6c57a118 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_landing_gear.json @@ -0,0 +1,3 @@ +{ + "acceleration": 0.65 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/redblu_steel_plated_airplane_propeller.json b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_plated_airplane_propeller.json new file mode 100644 index 000000000..01297fd35 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/redblu_steel_plated_airplane_propeller.json @@ -0,0 +1,3 @@ +{ + "friction": -0.4 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/stainless_steel_hull_reinforcement.json b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_hull_reinforcement.json new file mode 100644 index 000000000..badaa094e --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_hull_reinforcement.json @@ -0,0 +1,3 @@ +{ + "durability": 1.75 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/stainless_steel_landing_gear.json b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_landing_gear.json new file mode 100644 index 000000000..d3fb503d1 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_landing_gear.json @@ -0,0 +1,3 @@ +{ + "acceleration": 0.95 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/stainless_steel_plated_airplane_propeller.json b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_plated_airplane_propeller.json new file mode 100644 index 000000000..07dc5dde3 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/stainless_steel_plated_airplane_propeller.json @@ -0,0 +1,3 @@ +{ + "friction": -0.8 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/titanium_hull_reinforcement.json b/kubejs/data/tfg/aircraft_upgrades/titanium_hull_reinforcement.json new file mode 100644 index 000000000..9f80f477c --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/titanium_hull_reinforcement.json @@ -0,0 +1,3 @@ +{ + "durability": 2 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/titanium_landing_gear.json b/kubejs/data/tfg/aircraft_upgrades/titanium_landing_gear.json new file mode 100644 index 000000000..9fd091803 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/titanium_landing_gear.json @@ -0,0 +1,3 @@ +{ + "acceleration": 1.1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/aircraft_upgrades/titanium_plated_airplane_propeller.json b/kubejs/data/tfg/aircraft_upgrades/titanium_plated_airplane_propeller.json new file mode 100644 index 000000000..78d7a8c82 --- /dev/null +++ b/kubejs/data/tfg/aircraft_upgrades/titanium_plated_airplane_propeller.json @@ -0,0 +1,3 @@ +{ + "friction": -1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/dimension_type/the_nether.json b/kubejs/data/tfg/dimension_type/the_nether.json new file mode 100644 index 000000000..344693c21 --- /dev/null +++ b/kubejs/data/tfg/dimension_type/the_nether.json @@ -0,0 +1,19 @@ +{ + "ambient_light": 0.1, + "bed_works": true, + "coordinate_scale": 1, + "effects": "minecraft:the_nether", + "has_ceiling": true, + "has_raids": false, + "has_skylight": false, + "height": 256, + "infiniburn": "#minecraft:infiniburn_nether", + "logical_height": 128, + "min_y": 0, + "monster_spawn_block_light_limit": 15, + "monster_spawn_light_level": 7, + "natural": true, + "piglin_safe": true, + "respawn_anchor_works": false, + "ultrawarm": false +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/ash_pile.json b/kubejs/data/tfg/loot_tables/blocks/ash_pile.json new file mode 100644 index 000000000..1716b2551 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/ash_pile.json @@ -0,0 +1,41 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:powder/wood_ash" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:soot", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.5 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/charred_log.json b/kubejs/data/tfg/loot_tables/blocks/charred_log.json new file mode 100644 index 000000000..c9431a4b9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/charred_log.json @@ -0,0 +1,41 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:charcoal" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:soot", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.5 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json new file mode 100644 index 000000000..748f5016f --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:blackstone_pebble", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json new file mode 100644 index 000000000..6cd548020 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:loose/deepslate", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json new file mode 100644 index 000000000..bcd7443c2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:loose/dripstone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_0_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..3e51d392c76499f5946cfd19374464cbe9283bb2 GIT binary patch literal 704 zcmb2|=3oGW|3|OI=Fc_|VS8{moN39Hxmz+Pe^d3{o49{V@P-M<*8 z2~Gdl_P0m!{j>5l^BX_5|LwVYQsCG(;l4AXJA0CAkNG?^I=Eqe#t|2e$qGJg2HWOy zE}Cx$Wokm0&x{i9H=K5Gryf>2~>Bx;wiYZPhe+XteV_9f14zmmXCsJ z4l@K2m0D&hoDoS(YVj0MbDbf1NJi18&EPmk@gt*?ANIYs(_}g8bll*g%e9ch#j#h5 zKP5Y#_FY))_xg|0{tm@mB5N)hsLr{{tDDRbt!S}l_uBK-hu?gaNE6NGIKO^(#nv=l zU6qwzVlp!yxLx|QJYidm^EDAazJ_(twNsrwxz5;TH!*Cchn@DrFAjQtO5-Y<*&@8JoY zKGBC(Ub~XFPdWI_YTa*6;YVX;gNn(~bG+nxxaeNBI#UcdWvYrre5@$M zZF$xgx+KAu_u<*cE2b@3DlmJg>YBK$7is@LI9%C3x7u5N-tXSedN!qxmd`BJdHvAv z#kV7Q_pF8Ay>iGXV~}-Q_2Zb$(~Ivu_OCzxE_2BdH~rmWi``DV`*7h%Li3$oZI#8n zH~W1|CQM7Z{p5P7e0XBk;U}}dZ9JTN;O+;Oq~d9j#h=4Xe*2jG^jo?~VAK5%>{`xu K=P&1DU;qH5)L|6> literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_0_1.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_0_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7f405e5e5c68cb0ddeb197ac3c1574698d5f9a6c GIT binary patch literal 753 zcmb2|=3oGW|9hv!=Fc_|Y2%OQoN%e^(lX!QyJl3~zvuhv?XpFe@AZU5Cw@Gf^WD}?;y8ogkETC|Xht_xf*H6u`-?Qx89+O_lpOVaP9#|R65le~Y#r8X^1P~F6k`K-Fw zEPr1gn{RS{27RoLXU%Y(|54}B4>6yFgJ*PR>|_;=GT`QZcBIKuXGSphvolBL^jyy_ zKl&ilTk?>PQd|<}`P9I;#q!c~@{MK&#ViYd8Om{xS9xlS<)S5P3gnvNjolvpt^Kv> z`;2+~iGdTiE|#o+bahsU#p4wdt~(X6=2`gF8!b8}^f^S8E2rGlJ$LrT zX})N|M$L2V2ig}GUeaA;()L3--SpX{goRw&Lq#7?nW}nDQA0p<)t7h6*y2O|)*lk% zUU}-6mhFY?t2|5x&5Ew}X&sv_DDkD|?CYaSF*ja(6pdf;S!eR3wW0E&8p@$Nr!Q_@ z6VR&|lHKdEb5iWD?#E9n)-d>Q`XzYt|H_|^d3&{v7wtDSdm3zAH)~CB-0tm*?y8qn zvUBp!-IM=%;nJqOE8g;N%9^*G|Ndg(dFjq}xBL9og6ristTWrZkgsxi&6cw{E1bnk zw{Y`zpRhPM_0|`T)e7fsZu9z{^czcU;qGlykfTi literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..82f9a21306a1377deec44b731cc1f8db3db939d0 GIT binary patch literal 873 zcmb2|=3oGW|3|Mn248j%VgGR5EOWBM1O>-cEVAv^RZmwvzWDLU*3C<9m*k!}_9o12 zf8+gIISbb+YX9s$d_$7Yx32Q{z5TOQ6+WE|e8esocLi^UEKm>RoQ-dX=B$ zujuZqLmduogAzrVTF zqdI?`m12N8lTVKE-ZHz`zbX#0#ryf6Tu!Z-z46Wbbyk82Ne6luC*SBv{m;`-6SeI6 zx#g?BF+u6Tkp_@f$>o_R((WvK zdHc+UOqtn|re`mt?OFD*p^hnGUF?GSwhPYfJNv`8nBhq=$CqN3E0%1pY}lV!F&5cv zow;Cd{T{x{%s%o4%m*wQ3K@-A&TtsWCDa^XX}HOFMlZqXz#GPAoC)6;g&ChQ82B?5 zbIg!1aBrw&n~{8=hw-zFfj&bq(+n1a*{U+=0 zT~98ju2Q!=ua>WtZ(FqABQQg1V@wL`{HiBYf}WN9+HIF_llHE9i?J~4X?62hnfT78 z<)X7+axYyirKfH8Q>|4qe1o>1|F(wsslTcn{;@}H|JpZomE21GWn1>E#=9)LQJQ?} z?l;ZXHfR-&yPDniR?dT2+JCQaZhIRqJL9U( z*Z6eP#N^GtOtd1;ZGHAkQ=R(DZs!`8T>;Nu&UwlmwK%2u z)vT9I{%>{e8N7a*ep{<}Va2)Sq8cyJ(j<0|Nk(8>zqm literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_1.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_0_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..8d975795cb61f733f40caf3357d942f6504df56f GIT binary patch literal 878 zcmb2|=3oGW|3|O-=g;<#VEb_0?1qC=l=sr!+Y`b<-)FAh`7Wz}we4F`-wzEdIS(5> zj(ThUV*9(E|6<0v{=u%`AgPv@G!VPJgVh*`3wy>fz` ztnrI;%h&sH%+O3wI&h@H@TROn_56>F!c1vd#?5)(_E~K_+q3KDUAf0h$Jl)ks*XE+ zvwO^}#^S>=Loy-hz>GJ-P;F{VXLt-Yp0&7ZHMhL!wpq$*B041vGmC*>!aU|@tO{8D5A0z&BbtzOAcpzb*0Xa;=g&Q> zz96u4xs8?Rk6drc&F`O z*;g;^GtqhW<%@@%*v^#KVW&R7n|*BK(mC6Liqx(uF1p^aDWzQXetJ#%`59ea=8IfD zFIe)H?OM#L_;XTa<+3NTru~ZFJS#CdvUb*$HBY<>KfCR@@bsVA)3}v7dvjfO?b#_F zROk0@mQw7g*(C>0slE-YaoCl%>q)V7H{Y46-$yr|S~OwLlh48*zAZnkk{vdUk@dgH zqG!EYJFYB_em&E4>4{=Hb@SwBGQ+FC1z7@YCXw8*J1)-g3 z^{(x8_x|pY-<#;FJh4yat+AA5;Opio8@H_Zlxx1MpLMlmW!2`$iTWau%P!uXc|W$g zJg^yh+k;%FYuDF-mgB7*7o+ZVq-rmK(+Q2YT=x>kRhv#Y!o;|m# j{B`@#jJyAzZ?>PA^#7Bal*hyHUu;beZ1YcuGB5xD1gg7u literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4ed15bc3dfc65df8903da2f31761937ec1bff8ae GIT binary patch literal 909 zcmb2|=3oGW|97W(=g)Q!Xkcf4_RxaUb5+=@#{pmGtvVhP{Waq2742IOOz+LuFeUc7 z*MGlqF){JK8VXPMTT zb!uiiyo}E#7T(rdk|h>#p++t(rf1_Vp9VwQIfZ3MvLx!=*C;B6xg@OF`v368m>$QX zWk!7q+r$pu712H9TLr7u59r?JmZe6(|zBKN$m#QeV8cmY7^U|3O|CNaU{aj@dIF2=<%=F_K&*9&eF6AhG@I7lUQ@(`0%+ z-tw70p}*hIE>8Zno$!O6+WDM?$M&A*DLAJ5MEFesKj%C5mN*&VszR?9M2-2}V1@Rhq_hJo&sq0*^lpwUU9z+L z`_}z)-nPZ2ZSX7FnNs@GB+{h+lKmu?;;$^0CU#5e);!&4A{IVd$4Y|701^MZ5&!@I literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_1.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_1_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d7e8048ca1d2a313dc4b924410d633dbbf37316b GIT binary patch literal 988 zcmb2|=3oGW|5vB`=07$QXgmIEno#-ToNc=u>;rVZ%}eUvx$VWq7c0XXr)5TFM~1lW za{I;qYyI>sx|T+gg>&+x)-)o4nocbt0VS3 z>Wn!X^I@k#)1h~pZX4XYYtZ=av&G}tGfqzE^zBJb+cPmnR=D@cETy8Q9BG$+*V|0b zPvV)iu_t}yLzahkr)irS_Psmpm~qVLB8Rc*(U~u1<@VJ7$iMt}-mAhA+iez_O*g+6 z&-p0mQE#m6&ebSnza zm?3OCv2&-%_v}v-X3moQuK2lk=0|y>^=EuKE(rHm_zT?A7cAZ9bmix*BQY;)`*qH+ z9JJs#W@@-{Uwuwbe*zPWu+oeZM`B*rUY~J2Ev+d*hUKx61pmPw9BK{*icOsYJ~o%S zSuU>UW-0DWSjO>;>);ZOXHp0Em>HV?lDtzZRPcIchl0Qo-4zYe8#UgYh?lmy|3qnZ z#>BsKYI_d+KXNL{!DH2?6)$a=)+erMl9#`XU=6=`VSBX;SdHhp#$nw7C7YF;CC`()n~| z%rfTbQwlCd_e6z-ri5KQ_n3Y2@i|w6IuhPap2NqQqbZ(V{rB3RHd*^;Q)`aK-G60W zvt|7f|F4VULN^x1C38pz1uCwX74tr2$NkV9=1CLpZ`Fyvd+wG|{Kwlho~uMlrtg2P zzh3hB_nCsf7PhCHs&Rdu_U5f%^t3r)C3Q?S61|JLLblm7KIxxkx86V4$gSIw zTpgc3(DyhR`crj(L&C9^gzTHUSx=tc#qfTE>CZ_fB1)0*L1NyFdmFw#X4v$ux`l{2@_hNSG(i`7|n`ZA8{Zr3s`R2Ym_ovGqzm4_Ge|r}B-#P72 zE7v?N`OW)Y>-Raq>k`gN>ekI$v(2jRq1(KdKmTTk&%ge2^OfrQsJJx`elPxA^m6UH z`O9B~T|drv-~LNkr+@pAI<6ebKcbQz>% literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..50517d8d03d3a94dd745d42a4ae15919014c503a GIT binary patch literal 814 zcmb2|=3oGW|3{~v&!24|ay-6?vn?mvI``I+zZO1w%P-~a&6~C5^p?x(PI$^ZnwHcy z*Y$4whW}M@P7ld@^tQB;+7+C}YyAmrFbE z+%)H}Np77QaQ9nLt{L;T<9x;kB-#F!{*Y@E++uM|A*$KT_=x1S$=Mga*}SNFclnV- zbA_DHFB_FFl{dcGys3JZ;ds5c-LdM0U{NK@dAWt>Yolb6C&(E!rMrDNb8FtjuXmOo zH9Yn@>!(Ybpv1oRL>67YFUCqnwe#Fr&eulGd7-XgR6CEk>A9V5pCQk6sW(P;=PGue z;Yj}zt9D>!!vpm@sTGqY6Lua_dz|QVC8efE(tIXEa#WpDPvxbvM{l1Ao+BwRL$UEA z2amFWU8AJnjD`aROqV01&+p1!eEGSUv5J9QVl=V17?c?zu!tDQ@R-bWF2%4Hwbgc1d)bbB?)9tc( zwBHv?oDWsI^yApk*VS#?wy6_HWfXo%+b@&_%Hc;XC*CDg0SAckOv4 zbG=IeXCG8_$E-Ng5vu&u@ZU7P+nWATnoA9~^_}3JyDVwaDc@tkHjhKn&vjfq>gYL} zE$q^b=ycnc=d2E=ZPEU^BJy~ikF{O&7La?Ah7*sLx#Pb@YJjby4@#=W~>a*CMJ^aHWstzKec zSvN25m3*(2|K*e6)9TCj{V!Js*WcKj^iJd4HUFoF-O^syzHbcuz3JZTSFg_QseSS~ zcf+Mz&M?iarDb0$ca=oXir;(q$Jx+?y!p$wkUzuBW-Z-$L_thH* z@z-A4-@Cl!$aj6d_rko&SdE!G#V1~pbTQt0>e1|7?V%5@KB$-}Z(*k)9Cq0G!Mjyj fGr!hv{3xDy)IV~DP|NcAhw=xvt>aiA%)kHuekPpB literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_1.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_connector_2_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..dbadc74c337ed74c00bed6579e0407c7b57f8cd4 GIT binary patch literal 830 zcmb2|=3oGW|3|0A=3h1tY4aCeUKn)DjD@L_UvbNC#lr304lzpWcJ$u4;<>l7up@TW zNB$qzZ{$uk>&)EKx6x~F!KWX4-di4*?_^YRnDlp%9m9Hgw%tm@0f zb_cCR8f)TyFP-qU0$s@906ZV?pvy9o&%Uq+ zCmz`H6m>MqZavn=QNZfC9 zQC068y9SLT_xoA`AO|3M&|;}h=mF&bDpx!O>|f)Aan1{rRQripV_u~9^*PRd26@$ z^)(AJU5!c=Lzfc2Ys`C&fwN9QjuKD2&8-QQi6YZosK zFPRpxaXN3A?vgzlozHLI_{=BBFJ1P*+j$x%Cl$y!|5+=fx>jUyka*ro?Xbd$&r8@G z-F94A`dv&_A=dIT>t(rEv%ndRnxVEFOCnZO8f&?P_Ae;>d@4%vvRas@xVpz@$sb-* zs(z-Zq`K~#XvFqx$&!ZBe$La+v$U(XZGTigHU8<}f=|si@B3e5-(0sn|LI*{ncQ<7 z|7U+%@M`Zj$=r7h`&Z@nH$AI}d0EDCU3y2@E4TAMoa9RnzRJt~_Py%)_21RTQSaZE z&Z$pX6nV-_+%#wFMk(1BNy0C`P0f(G>3wmx{;s*=qKjMiEtsL9Ft0Op;+n^DVvOt6 v)PF6p%c;vSit+7dc)k3L!R-7kC({?5D39`FK6Ekv2eZMswHNmYF)#oCq;Q=3 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..653ae533167cde13b6758aaba16983aacb827a5e GIT binary patch literal 762 zcmb2|=3oGW|Gn1_=3RCWV0+*zqaHbZDQlF*l%RVHY`=3o>aZx>YIaVo^l?S+UQI3Y zzCEUKjvQzIyz*J<;rloB+xs&SVMa^0NR>Y2pRTd=(d!lUd*8=1uRXT;l=y1B*Z2SW zgxq44j`?5xzjMjQyWg0ZxBmTko=0w$$jrS~QZpYqCr|Lqn0IiW+#EwD z;mu7uqv45$zcaa>9hL0mxgno)V9%BX_D33OpS_ZBoI68Z z_zl0|0{c0JCmNm~J-CnYJa^K8&rK2^_9(EOdEJ>%Z?SkH)H!(_> z-^uv>cksb~0?fY-ODbDvKeH71(k@X@UkG+rAIooNo*CllJqM21oM%C}r1;<-i^Z(R z6qvs~Z%v4sbMZvOUq!YvuOlwVCmpaWF6~+1ccxhBhJ2Dky+!f_#=n)CFTj??&FQR+ z7sDJN)(exZftkrW9H6y9s{!NU%@d2=1+TspD40@X5ciq5sCQr|ucHqF|z zp1~$!%GR}??A7PJ(<@(iS0wTBu0Q9dfBd{P*1A+i>~!|;+{e%U9^F%P`j6KBQ&avu z`7I-#bNTE2n{7{HWZ!b#op$>x313En!54T3@L%R?~ArM$kZ()B z_GUZ3+_mraKHb>6-*6@mQXY4$y%QKxP{7zL$>f=>mI?5+g zPf35cc9l<5@n(I^zjIF(U3~t3&YU%U?jNI82I;mxd%q*VYw3D<`+Cu(yY6g@-7A0X za(!3prNa@ug}aRQCKbME`^nlm>;K>LBK^H?&piD)&m2uo?vU~R^0-6B|BLX1$S0pQ z=gmsBlRr7-gwCg*9>;{X$|TwZY73~v?ic7$^Xcq4_gwjD#374A6^rIKoH3ez-s!}} z6Aho0C7mT8hRkrd;`KRF=()PF)%^YxoP&zKGrojB|{L~4HIfI3cDKLNQpYoXFF{khZ z#^33xU)FF2D=~lTPtgfHEqF|LE0fWKe_EZNCrfUazf{Iq!dt@q%j3>D4o{Z+T*JC} zBI9#+qqY^PoR2%A<{2h@8{VI!EW17uaevu z)n_noh3Evv@7K8>{YhbaldgGO;F!=c!M_zs>H?Onv;N>V@kYKvrqLI$ae*GM$G5>LqI|Lmqkha?DM4) z7EfgSJh4ZyNA*{sOP{)rLY8ROKb^OKYE*)in4iIufWr)v`R`d4Ph@-_AJnJVquQhV z>!XXG1KXVW;ZC}s;6!pV$K+?9Z42u_2He|k#QaS8YEjEa7yHH&npgf<{{0Dx#CnzF z35?&TU+D+CdeMB7`SKktOcN(R`y6E;CApz~2_niH&OA*nHk`dR zN@m+*uh_oO{oRYJ%I?b~-3>2)?7PRlPd?mh|NB{oSFBsL?WXLbw_dvavDcX@YOl+z zD*K#&bUOd^_Ko&eAFu46%^y2Cu71V4#Z`v)-sY{c_y1V7Ye(keyw7EyFGo$?UluHH zAAa0%?G@MJ)${CG_U4y4e+~b&G)8u{Szoe`ymO3i=l-QG=J&3e*M`5p|K`^#=bZaj z-mfZK|LJt;_Pg6Yo_reqKX%{ywug_|7Pa@}-oNtO@kE1$&6kVeU+wNCP5XN%d+Wcw z@B22&&$jTn{O*^U+_FgXyN+x9j-S0S_gHzR#p;*0eVyi?Kk!xmYQ$f`--@28{{rVT NIDf0Ra!_Mn008{T9)AD; literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_2.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_leg_0_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7169b10098f270e257d8890a4e635cf50dea9c2b GIT binary patch literal 1081 zcmb2|=3oGW|5ImNEV}F=;Cg)Hv1utjMh_emR6ei=*gTuMwsuLyt?=n%V2+uw_u+reX zT{S;m-i~;=PQS{!#(q!oo@}fCZ4*Dm|4(-NF4;R{@o%3tiPo7<9Q4mGVXr#NTE&xe zY~%O96Dk|OcSs(e6)AgOg-Ol!Lbl$8WR{-YbuJRU60+H8r8bi}W_)p2ztf@L(MPCS zezKL6p@P2V$X@bi@0$<%+<7kO zq~6%~`hxY1@@uC#B%aqgoeNNA`!UHV=b1Xw`!&-Yd2W2yT)CLl=bJRo?4K(SSiepc zVE$&S`h2k<^QWXzo5N{#ynCB#)2n!r4xCAEx+6JRk!_B@+6i0XC+EIMG|D}orfP7bD`Cc7lGAJCr{Z;wG_igT1Be1zY+tclm8uT>} zr`_Y&vpJ5Q!3c`T z4R_|Z+&g&2*w*cU#e09&d&+Dnr(RXGRn}{rnETR@$@biD$(4)2jxSqp%?%3Ry*&q} zfBxt5z&5EtKkT^incv2Z<;#w9NId^*nYg9lqyY0f&hyUi_pdm-$Jmz5P~m&=qDZJ) z?>;~8{669SOgZI*Ip4*b?kKZmq?OtnE~*!-V*g&b>^R34i}zsRCwi$7@5Gz#MCvz7 zJop>*V6LHLlEbp;Oz)>R-I*z;eBtq){VF|T29ik)>!&aL9)BhAyVbJe3TZ|2EkF6J zJ9ayC{wmM-E!nqMKfaxneR|uDm+RlWUH5;M*58#Yx9y!JR=V}xt=A!{yO*tGwAj6J zo9o^`7eBsvS9E>*?@jl&m;Kzi^3Lz=N7sgS|4XY4{j+!b^}|O~bFZH^KfQhDsed_a zvhTZM&F35rEM4pOj;nUnwb+kGWv`TkU)lD4?eFPtN>=>17i#l1|J3Sjn&#`T=YG6- zZT;zf*S&!spKgj=nl$(*<^|-k7zz=<-AKkofBOeS$cJ?>5N7T3I46^AupxB z82(ze_3E-E#r!+PPYOLaZ@@tYOD zU+L=Fy&t#zycZ*=8~eBB;IGe3HxK#zne;NjZS~nG!%JKey)!zpa$9|RW=0%%5xym9 ziD=;YmX|?m`x0X2Uii%BwttbR@>;#GJ`xlBRZ^1D-UPm|TsF^Aw^w3;D7U2E^N0z? z%a;l=Z`tM4_PW^o3(v1JnVAdc&ztaY*G1uqXIr*h@Q*)HaQ6kbO>vZzp@O`uQNq2g z3#6^S@ci=G;xM0+`I98aF;jsjHUdw4wm6(?Vf?8AGDxV3?Yxzrw=&zCyN4$*R)076 z!t?E2;tR<)cU`#O+-+ej-lcn@()!Du#)rEcw>X${Fh47CH&_R9Z(DS;3-=nwLk%_e zI3(Ad&v!b%;QX9vZaf!mi5kV6+ubw=?DVbbDLd@mx6X5%Z>g*MWwU)WH~aylJO}*pnKa7i<@q?kez{_~7#3CkTPnd;gikC7H)NuMKK* zvD%DoV6ZHj$&%QsJMTX+ zT+bc_P57MpLej>(L#!fCfbB_*YRZl|>sc&80qpQPYQpEO2R?6ANMFQSH0{Su!JgM{ z7kX!3Fphu(%a?!Y+vd%5aeaCt`|9Uqvm)1*iC1QBKIQXwZmiDV$zgZdr%#Xj>O1kg zm-R)hIID1m0*kZW!At5z{I4(1j$doEe^t(}7oWcUx}>v4>gUTh=W3#FdKMe$zR{_j zzR&;4gUQ)7H3p}5NxG}gU$OUVuiU4|+DJpEOVCfCK{r04B<}H2?qr literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/aqueduct/aqueduct_tank_0_0.nbt b/kubejs/data/tfg/structures/aqueduct/aqueduct_tank_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d9dfb11ae03ac9dae5501455ced6c14b488f7d05 GIT binary patch literal 691 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 MM#1F^0-_8I0LG=Ty#N3J literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/ocean/ocean_moai_0_2.nbt b/kubejs/data/tfg/structures/ocean/ocean_moai_0_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..9a98ac43fa865224a5a49fc7ab539af44460cf63 GIT binary patch literal 878 zcmb2|=3oGW|98U=_FXm*D1Bq%8q42rBZ$C~q&koN?Ept9RF3 z`v>a_FPYuGa{0#YEo)qsuJZl-Y_GZT%uFF=5ykjt<~<56uePthU-(yYVZxcCPrR?XZQ&!Vxs`)w6p`Co>=n?5FVu%9^nf#*!ZlLwZ! zu6Fs@o5}HfoO96jYWdwI659N{^;1{6EmLv(*K*Faqh_m)q}AN8l5>}?`u z^vP_y_H$QDiXvYMiyKERU6b(g=nSt@p*@e@Pt}NATBK$=EAF{aL_ZwW;+k9$&*6%H`5w4%T-gz|4`PcL5<=Q-hrIUX(eUqH3b!D^J z;#=1|{#=^qIW^t5H0NpKm88vKR#R3jioI+8!SuiWlKbCypE9o6mk=G=A0GNVr|Qe1 z^4q*Bbt*Ug_PMV&4_vgzdprN6FR`xt8*IZTO%pBpyFvO*;y?XuA@?2YUl;jVUSAp3 zDra+Yt549Sro!oE?5EWpe5+XgG<|8>f|-3&I`>3U=-{3p?wxSE3bS3=9D0TetoI literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt b/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..8e647ff11c6701ed59667bfaa54cd5360b35294d GIT binary patch literal 1021 zcmb2|=3oGW|92yz{cjtHluiC3c1+JeBKd&Y+fwOEa^DWTUS{ieS?*iZ&feK>I|@^z zr+(u9w*L7N-^?OE>ENXb4o(_ppT949Q!MmK_>$_puDluE9G>;Ilj>6bm3gi{fAm4n z&u6dty=Qp^pYQ~R0P z@YMB(EW{+P2c6bT=D5Nn(QU)6Q2@sd*7^Gg!Qju@M*dB_SWyyZ}slq$qTP+XyV1JespTho0A$cFLSlcrwU5zF0uCVj=ExdwED5#68m-8yQNmyC3=T`PY->b zv*YU`@$J%_aouZHyB1B)%Gbf({>x2?j<*M4?BbM`g+%-P^N(Y>ARVA`}L(0H_ew|lbSVk)pEV%HqzSM-9Nqa{yFYy{@l&}!AAbKX@s4# zZn|EifKiG0--#10_8R=R`@oxh*ONWr*i_|rLQfaoIUlbhxAN!BiIsDn&E7bnbk1zO nmoqrUmM+`0-Z^H|=jN+t$WE6M*KT-euV0~J=0s{j8`#uBL literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/ocean/ocean_moai_0_4.nbt b/kubejs/data/tfg/structures/ocean/ocean_moai_0_4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..f78e78593f4577aea9d954846e6d16cae98a388c GIT binary patch literal 1130 zcmb2|=3oGW|92z2i*K6=urb6Sh4_l?8>q<+UF5Q^-@rH?gO@C~Hr=`*o_b98KqCEmZHQV2m@BeXAdG5lH z#pkUyh5t9WbgfM~v3|RD#Ii402VZF`NY7w6e!-V#Z4y(@b3UHCi(F+ZG>!$IJ}Ofo zam+dK+k$h=R}3;f2q)Nh)H3i-+S}P~^}&E$?%4t7X;r?}i#eTT4bB91n|^6Zl4x1} z^nql8#FI?xFMHoExO&9dQ0|ET@^i)P%TD?W^B=8<3RwMm!POSc3MY2ChD_&qam;O2 z30(75^u2VDYk2v{cyex%Q;l4hfo;vU4Z2Yxhh2VDuK%*PfByFcisEatYn#uvH%b{<;8m zYuo{==9!gk=kIl0`);vpQEA`#=UnH#Wr818vcBfA`Oi??DEUvQs_#`)`UU@x?>#>l zqt<`ioZP4*JFB5&f67MJV>(J}1?R7vu;q-6@ROSs&y5B3?Nnl>+AmUF-TEi<{lsEp zx!9-Qjy;|7e4~eJjpdVB-og`KtdB`mGVi<~b~azgx2aN7UUlWemnxE8fiX{&JdbP1 zciymi^>^W?&L1a?bH8)@CKbgQZrmX;!-ea0wbIqnNq(ndUT+cqAyTm*^ZtW$jSmyP zxz3yx&u`+NoExI0SN!_dgNgSZO`Nfw?bXbnw5m5D?>`)TxHwSV=d1F(Q|{~iw*H+U zEPD69n_|0GRYAMfha0PdbNA2x(EjgmmPj>2uan#S^=`7JLH#AhdaZ_wHvF%9`Y`A3 zI^!T`?d>&}6<7aWfBk#9*Xy4Q?r;Ac+w%O>?Y-gmu7oXOU$W46^=)-aBSUSsRjYIXBrQ3clKE0Wd zW;NMG5O>bnW&v>*WM`6mCc&`dDT1CI*oqCzje1OzXyEH-Wd2bBd}ES7`uMe z*1H}bm`{d%lG}6d%!-`pdDWbISFdP)xpP8}grfQKxe4ZR!tWPWRc_Dvd-B=(OUH%p zRyh4BTdwhK%J*LdpH%l|r|6g3CEm0B_Bqgd@50}V)%&j*>n)X)tjv;6h>GfUJQl1N zdn_$IPVYxmtn}RT#-|Ucmo1fhalSaR@BG%ISGE7X;&+|%^eCr|zI=h4&VEPT>3Xg< zf*IP2SDu<2oocUh(l%RGEO`5qD8;hQBCYSIx6iE3s@s_QZu!r$RYmiEKVvFC-#(-A wPUhL0|1G*~g>KE9C6e@XKcD2w`bTa5b&GP3>nZmCQ~l2vXKxgdsm8zn06|DM4gdfE literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/ocean/ocean_moai_0_5.nbt b/kubejs/data/tfg/structures/ocean/ocean_moai_0_5.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7a9b448bae406f397a0388e15c0357799d3752f5 GIT binary patch literal 1085 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/temperate/plains_temperate_house_0_1.nbt b/kubejs/data/tfg/structures/temperate/plains_temperate_house_0_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e206b2c41abb86d102af6eeb6a33bed437caab56 GIT binary patch literal 5148 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/temperate/plains_temperate_house_0_2.nbt b/kubejs/data/tfg/structures/temperate/plains_temperate_house_0_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..cb62eed4ca1ee29309a674fc0de22ddfe3a3b8e6 GIT binary patch literal 3384 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 Qng0x7bqfw$%3@#u0N41c-T(jq literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/temperate/plains_temperate_road_0_0.nbt b/kubejs/data/tfg/structures/temperate/plains_temperate_road_0_0.nbt new file mode 100644 index 0000000000000000000000000000000000000000..47a85bf7459620e1e0a8a8f692aed8e4c66e1343 GIT binary patch literal 458 zcmb2|=3oGW|5K+P%$s8%(3WnvK__skTy>V-OH14Lrh)yT{(F^}@AV2ND_475-RF3J z*W+z(+KyT1O;T;yKlAW8+U%Jiwl3#n3W!;-(O|Nx#Iy%Vir4LZ4jeAD*V5aXJ;92@ zJGIwzPrjYm+>0T-$F6PoouYA5S6+7MxfK5V^K<2&T>O|{ck=c`?M971=KB9dhaYgtv_Vte`xmn P58R9299R0x#=rmoW##0q literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/temperate/plains_temperate_road_0_1.nbt b/kubejs/data/tfg/structures/temperate/plains_temperate_road_0_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c8963972206297de345cd25deabe31fc9efa7441 GIT binary patch literal 438 zcmb2|=3oGW|5K;f=ifFEIC}n9@@cNFk~f!9PR%(J7hS?*R4S_R@{Pg53Z_c0i*?O4 zujMYE>XV)s$SNRk;{M+6?-Vw&L^wbDs_(<7uqG%>DSKyIYVL~4FNx2Kxpt->)p#E? z@!ON*O@}|*ZLT=0(>L?zlyjVEeSSiTlQh?-%(DFCwS1<^p(Vz9E@`f>pOJH{X4C%* zovG)R@9{G*ocpxrp1Yda^Q%4k+|;I}Z}tCdH`#Shm*i*3nGw&D))&o+JU`?7i6d3= zGjrG`?@!ybedb~NY11d%n#CQlsmMCT;{BGR$5!g*Z+QJPo$)7g=IHN0!7KLs+%8`2i+S44tC|-# zM^%a}K3I82KBk3PUHsYCb1T(N^efl(zPn(2lev87bE#FS8gDf}_}&mYW$k`RH~Wi` zago$oAD_vshb|xZe)U3oAJ@%mjK6*t&aDkyvv2X|#uonbAEeJe|L6amm4N{O_lVwb literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json new file mode 100644 index 000000000..c73344a8c --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -0,0 +1,184 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "fog_color": 6840176, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.basalt_deltas.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.basalt_deltas" + }, + "particle": { + "options": { + "type": "minecraft:white_ash" + }, + "probability": 0.18 + }, + "sky_color": 7254527, + "water_color": 4159204, + "water_fog_color": 329011 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "minecraft:spring_delta", + "minecraft:spring_closed_double", + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_deepslate", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "tfg:nether/surface/ash_pile", + "tfg:nether/surface/ash_pile_small", + "tfg:nether/surface/charcoal_pile", + "tfg:nether/surface/charred_tree", + "beneath:burpflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:nether/surface/stick_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/deepslate_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": {}, + "spawners": { + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:magma_cube", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 10 + }, + { + "type": "kaolinclayze:golem_2", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:phantom", + "maxCount": 2, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:wither_skeleton", + "maxCount": 1, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + } + ], + "underground_water_creature": [], + "water_ambient": [], + "water_creature": [] + }, + "temperature": 2 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json new file mode 100644 index 000000000..4d625df11 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -0,0 +1,147 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0, + "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "fog_color": 6840176, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.basalt_deltas.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.basalt_deltas" + }, + "particle": { + "options": { + "type": "minecraft:white_ash" + }, + "probability": 0.118093334 + }, + "sky_color": 7254527, + "water_color": 4159204, + "water_fog_color": 329011 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "beneath:delta", + "minecraft:small_basalt_columns", + "minecraft:large_basalt_columns" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "minecraft:spring_delta", + "minecraft:spring_closed_double", + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_basalt", + "beneath:burpflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/basalt_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": {}, + "spawners": { + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [], + "creature": [ + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:magma_cube", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "kaolinclayze:golem_2", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 4, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:wither_skeleton", + "maxCount": 1, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 50 + } + ], + "underground_water_creature": [], + "water_ambient": [], + "water_creature": [] + }, + "temperature": 2 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json new file mode 100644 index 000000000..6cbfa40de --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -0,0 +1,207 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "additions_sound": { + "sound": "minecraft:ambient.warped_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.warped_forest.loop", + "fog_color": 7369031, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.cave", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.swamp" + }, + "sky_color": 7369031, + "water_color": 6388580, + "water_fog_color": 2302743, + "foliage_color": 7171928, + "particle": { + "options": { + "type": "minecraft:mycelium" + }, + "probability": 0.1 + } + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_deepslate", + "tfg:nether/surface/big_mushrooms", + "tfg:nether/surface/moss_patch_big", + "tfg:nether/surface/glow_mushroom", + "tfg:nether/surface/humus_patch", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "tfg:nether/surface/mushroom_sprouts", + "tfg:nether/terrain/mud_pool", + "tfg:nether/surface/green_algae_patch", + "tfg:nether/surface/small_mushrooms", + "tfg:nether/terrain/liana_ceiling", + "minecraft:spore_blossom", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:nether/surface/stick_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/deepslate_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 5, + "minCount": 2, + "weight": 100 + }, + { + "type": "beneath:red_elk", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 95 + }, + { + "type": "minecraft:drowned", + "maxCount": 4, + "minCount": 1, + "weight": 95 + }, + { + "type": "minecraft:creeper", + "maxCount": 4, + "minCount": 1, + "weight": 50 + }, + { + "type": "minecraft:silverfish", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:slime", + "maxCount": 4, + "minCount": 4, + "weight": 100 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 2, + "minCount": 1, + "weight": 100 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 0.8 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json new file mode 100644 index 000000000..84db3ad65 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -0,0 +1,205 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 9868701, + "additions_sound": { + "sound": "minecraft:ambient.crimson_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.crimson_forest.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.crimson_forest" + }, + "sky_color": 9868701, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "tfg:nether/spikes/calcite", + "tfg:nether/spikes/mega_calcite" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_diorite", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/diorite_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 5, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:creeper", + "maxCount": 2, + "minCount": 1, + "weight": 90 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json new file mode 100644 index 000000000..a153e073d --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -0,0 +1,205 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 5855333, + "additions_sound": { + "sound": "minecraft:ambient.crimson_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.crimson_forest.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.crimson_forest" + }, + "sky_color": 5855333, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "tfg:nether/spikes/calcite", + "tfg:nether/spikes/mega_calcite" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_gabbro", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/gabbro_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 5, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:creeper", + "maxCount": 2, + "minCount": 1, + "weight": 90 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json new file mode 100644 index 000000000..6727997c6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -0,0 +1,206 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 6641752, + "additions_sound": { + "sound": "minecraft:ambient.crimson_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.crimson_forest.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.crimson_forest" + }, + "sky_color": 5799235, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "beneath:glowstone_spikes", + "tfg:nether/spikes/calcite", + "tfg:nether/spikes/mega_calcite" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_gneiss", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/gneiss_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 5, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:creeper", + "maxCount": 2, + "minCount": 1, + "weight": 90 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json new file mode 100644 index 000000000..eb7ee6830 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -0,0 +1,206 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 9533575, + "additions_sound": { + "sound": "minecraft:ambient.crimson_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.crimson_forest.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.crimson_forest" + }, + "sky_color": 9533575, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "beneath:glowstone_spikes", + "tfg:nether/spikes/calcite", + "tfg:nether/spikes/mega_calcite" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_granite", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/granite_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 5, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:creeper", + "maxCount": 2, + "minCount": 1, + "weight": 90 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json new file mode 100644 index 000000000..f294ed7a4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -0,0 +1,176 @@ +{ + "carvers": { + "air": [] + }, + "downfall": 0.5, + "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "fog_color": 5450003, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.basalt_deltas.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.basalt_deltas" + }, + "particle": { + "options": { + "type": "minecraft:white_ash" + }, + "probability": 0.1 + }, + "sky_color": 5450003, + "water_color": 4159204, + "water_fog_color": 329011 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "tfg:nether/terrain/rarer_delta" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "minecraft:spring_delta", + "minecraft:spring_closed_double", + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_basalt", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "tfg:nether/surface/ash_pile_small", + "tfg:nether/surface/charcoal_pile", + "beneath:burpflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:nether/surface/stick_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": {}, + "spawners": { + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:magma_cube", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 20 + }, + { + "type": "kaolinclayze:golem_2", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 4, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:phantom", + "maxCount": 2, + "minCount": 1, + "weight": 20 + }, + { + "type": "minecraft:wither_skeleton", + "maxCount": 1, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + } + ], + "underground_water_creature": [], + "water_ambient": [], + "water_creature": [] + }, + "temperature": 2 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json new file mode 100644 index 000000000..8df076f2a --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -0,0 +1,184 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 5799235, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.cave", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.lush_caves" + }, + "sky_color": 5799235, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 12568641, + "foliage_color": 12568641, + "particle": { + "options": { + "type": "minecraft:falling_water" + }, + "probability": 0.002 + } + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [], + [ + "beneath:blackstone_boulders", + "tfg:nether/surface/loose_deepslate", + "tfg:nether/surface/philodendron", + "tfg:nether/surface/moss_patch_small", + "tfg:nether/surface/mangrove_tree", + "tfg:nether/terrain/lush_caves_ceiling", + "tfg:nether/terrain/lush_caves_clay", + "tfg:nether/terrain/lush_caves_vegetation", + "minecraft:spore_blossom", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:nether/surface/stick_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/deepslate_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "creature_spawn_probability": 0.1, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 6, + "minCount": 4, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "beneath:red_elk", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "kaolinclayze:tfc", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 95 + }, + { + "type": "minecraft:creeper", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:slime", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 2, + "minCount": 1, + "weight": 100 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 0.8 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json new file mode 100644 index 000000000..64d47ccbe --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -0,0 +1,205 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 7175789, + "additions_sound": { + "sound": "minecraft:ambient.crimson_forest.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.crimson_forest.mood", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.nether.crimson_forest" + }, + "sky_color": 7175789, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:basalt_pillar", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling", + "tfg:nether/spikes/calcite", + "tfg:nether/spikes/mega_calcite" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_schist", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/schist_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 5, + "minCount": 1, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "beneath:red_elk", + "maxCount": 8, + "minCount": 4, + "weight": 100 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 3, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:skeleton", + "maxCount": 3, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:zombie", + "maxCount": 4, + "minCount": 1, + "weight": 100 + }, + { + "type": "minecraft:creeper", + "maxCount": 2, + "minCount": 1, + "weight": 90 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "minecraft:phantom", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "minecraft:enderman", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:dark_oak_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + }, + { + "type": "endermanoverhaul:mushroom_fields_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 5 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 1 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json new file mode 100644 index 000000000..c2cb68321 --- /dev/null +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -0,0 +1,180 @@ +{ + "carvers": { + "air": "minecraft:nether_cave" + }, + "downfall": 0.5, + "effects": { + "fog_color": 6579304, + "mood_sound": { + "block_search_extent": 8, + "offset": 2, + "sound": "minecraft:ambient.cave", + "tick_delay": 6000 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.dripstone_caves" + }, + "sky_color": 5799235, + "water_color": 7255466, + "water_fog_color": 3169873, + "grass_color": 6466617 + }, + "features": [ + [], + [ + "tfg:nether/terrain/lava_lake", + "tfg:nether/terrain/spring_water_lake" + ], + [ + "minecraft:large_dripstone", + "tfg:earth/geode/amethyst" + ], + [], + [ + "tfg:nether/terrain/glowstone_ceiling" + ], + [], + "#tfg:nether_veins", + "#tfg:nether_underground_decoration", + [ + "tfg:nether/terrain/spring_lava" + ], + [ + "beneath:blackstone_boulders", + "beneath:blackstone_pebble_patch", + "tfg:nether/surface/loose_deepslate", + "tfg:nether/surface/loose_dripstone", + "tfg:nether/surface/bone_patch", + "tfg:nether/surface/rotten_flesh_patch", + "tfg:nether/surface/dead_bush_patch", + "tfg:nether/terrain/dripstone_pool", + "tfg:nether/terrain/spanish_moss_ceiling", + "tfg:nether/surface/cobwebs", + "beneath:burpflower_patch", + "beneath:gleamflower_patch", + "beneath:sulfur_patch", + "tfg:nether/surface/pumice_patch", + "tfg:nether/surface/beneath_mushrooms", + "tfg:nether/surface/guano_patch", + "tfg:glow_lichen" + ], + [ + "beneath:glowstone_spikes", + "tfg:nether/spikes/deepslate_spikes", + "tfg:nether/spikes/blackstone_spikes", + "tfg:nether/spikes/dripstone_spikes", + "tfg:nether/hardening" + ] + ], + "has_precipitation": false, + "spawn_costs": { + "tfc:octopoteuthis": { + "energy_budget": 0.12, + "charge": 1.0 + } + }, + "creature_spawn_probability": 0.1, + "spawners": { + "water_ambient": [], + "ambient": [ + { + "type": "minecraft:bat", + "maxCount": 8, + "minCount": 8, + "weight": 10 + } + ], + "axolotls": [ + { + "type": "minecraft:axolotl", + "maxCount": 4, + "minCount": 2, + "weight": 10 + } + ], + "creature": [ + { + "type": "minecraft:frog", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "beneath:red_elk", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:piglin", + "maxCount": 3, + "minCount": 2, + "weight": 15 + }, + { + "type": "minecraft:zombified_piglin", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:spider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "minecraft:cave_spider", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "minecraft:enderman", + "maxCount": 1, + "minCount": 1, + "weight": 10 + }, + { + "type": "minecraft:silverfish", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "endermanoverhaul:scarab", + "maxCount": 4, + "minCount": 2, + "weight": 75 + }, + { + "type": "endermanoverhaul:cave_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 75 + }, + { + "type": "endermanoverhaul:swamp_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 10 + } + ], + "underground_water_creature": [ + { + "type": "tfc:octopoteuthis", + "maxCount": 3, + "minCount": 1, + "weight": 10 + } + ], + "water_creature": [] + }, + "temperature": 0.8 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json new file mode 100644 index 000000000..075477e93 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json @@ -0,0 +1,108 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:amethyst_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_amethyst_ore" + } + }, + "inner_placements": [ + { + "Name": "minecraft:small_amethyst_bud", + "Properties": { + "facing": "up", + "waterlogged": "false" + } + }, + { + "Name": "minecraft:medium_amethyst_bud", + "Properties": { + "facing": "up", + "waterlogged": "false" + } + }, + { + "Name": "minecraft:large_amethyst_bud", + "Properties": { + "facing": "up", + "waterlogged": "false" + } + }, + { + "Name": "minecraft:amethyst_cluster", + "Properties": { + "facing": "up", + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/basalt" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.15, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json new file mode 100644 index 000000000..1a7179195 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json @@ -0,0 +1,86 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_barite_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_barite_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:barite_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/andesite" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.3, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json new file mode 100644 index 000000000..0ef3716f8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json @@ -0,0 +1,86 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_calcite_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_calcite_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:calcite_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/limestone" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.3, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json new file mode 100644 index 000000000..57cc963e5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json @@ -0,0 +1,86 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_gypsum_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_gypsum_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:gypsum_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/shale" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.3, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json new file mode 100644 index 000000000..b469d0bc5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json @@ -0,0 +1,92 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_opal_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_opal_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:opal_bud_indicator", + "Properties": { + "waterlogged": "false" + } + }, + { + "Name": "gtceu:opal_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/gabbro" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.2, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json new file mode 100644 index 000000000..9e88a3fe8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json @@ -0,0 +1,86 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_pyrite_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_pyrite_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:pyrite_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/dacite" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.083, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json new file mode 100644 index 000000000..66c1928dd --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json @@ -0,0 +1,92 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_quartzite_block" + } + }, + "cannot_replace": "#minecraft:features_cannot_replace", + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" + } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_bud_indicator", + "Properties": { + "waterlogged": "false" + } + }, + { + "Name": "gtceu:quartzite_indicator", + "Properties": { + "waterlogged": "false" + } + } + ], + "invalid_blocks": "#minecraft:geode_invalid_blocks", + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/quartzite" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/dolomite" + } + } + }, + "crack": { + "base_crack_size": 2, + "crack_point_offset": 2, + "generate_crack_chance": 0.95 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 1.7, + "inner_layer": 2.2, + "middle_layer": 3.2, + "outer_layer": 4.2 + }, + "max_gen_offset": 16, + "min_gen_offset": -16, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": true, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.2, + "use_potential_placements_chance": 0.35 + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json b/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json new file mode 100644 index 000000000..ed35b0bf0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json @@ -0,0 +1,81 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "rarity": 40, + "density": 0.8, + "min_y": -64, + "max_y": -48, + "random_name": "nether_hint_vein", + "min_skew": 6, + "max_skew": 18, + "min_slant": 0, + "max_slant": 4, + "sign": 0.3, + "height": 30, + "radius": 5, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite", + "tfc:rock/raw/andesite", + "tfc:rock/raw/dacite", + "tfc:rock/raw/basalt", + "tfc:rock/raw/schist", + "tfc:rock/raw/gneiss", + "tfc:rock/raw/gabbro", + "tfc:rock/raw/granite", + "tfc:rock/raw/diorite", + "tfc:rock/raw/quartzite", + "tfc:rock/raw/slate", + "tfc:rock/raw/phyllite", + "tfc:rock/raw/marble", + "tfc:rock/raw/shale", + "tfc:rock/raw/claystone", + "tfc:rock/raw/limestone", + "tfc:rock/raw/conglomerate", + "tfc:rock/raw/dolomite", + "tfc:rock/raw/chert", + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "minecraft:deepslate", + "weight": 60 + }, + { + "block": "minecraft:blackstone", + "weight": 30 + }, + { + "block": "gtceu:deepslate_nether_quartz_ore", + "weight": 5 + }, + { + "block": "minecraft:glowstone", + "weight": 10 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 400, + "blocks": [ + { + "block": "tfg:loose/deepslate", + "weight": 60 + }, + { + "block": "beneath:blackstone_pebble", + "weight": 20 + }, + { + "block": "gtceu:nether_quartz_bud_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/sulfur_patch.json b/kubejs/data/tfg/worldgen/configured_feature/earth/sulfur_patch.json new file mode 100644 index 000000000..2d3254029 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/sulfur_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "beneath:sulfur" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 24, + "xz_spread": 12, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_amethyst.json new file mode 100644 index 000000000..bec605558 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_amethyst.json @@ -0,0 +1,493 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 230, + "density": 0.25, + "min_y": -64, + "max_y": 26, + "size": 40, + "random_name": "deep_garnet_amethyst", + "height": 8, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:quartzite_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:slate_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:slate_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:slate_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:phyllite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:phyllite_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:phyllite_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:schist_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:schist_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:gneiss_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:gneiss_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:marble_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:marble_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:shale_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:shale_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:shale_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:claystone_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:claystone_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:claystone_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:limestone_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:limestone_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:conglomerate_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:conglomerate_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:conglomerate_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:dolomite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:dolomite_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:dolomite_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:chert_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:chert_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:chert_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:chalk_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:chalk_amethyst_ore", + "weight": 65 + }, + { + "block": "gtceu:chalk_opal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:red_garnet_bud_indicator", + "weight": 5 + }, + { + "block": "gtceu:yellow_garnet_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:amethyst_bud_indicator", + "weight": 65 + }, + { + "block": "gtceu:opal_bud_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_opal.json new file mode 100644 index 000000000..afad3f078 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_garnet_opal.json @@ -0,0 +1,283 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": -64, + "max_y": 62, + "size": 26, + "random_name": "deep_garnet_opal", + "height": 6, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_amethyst_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_opal_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 1 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:red_garnet_bud_indicator", + "weight": 5 + }, + { + "block": "gtceu:yellow_garnet_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:amethyst_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:opal_bud_indicator", + "weight": 55 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_gold.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_gold.json new file mode 100644 index 000000000..da21f3756 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_gold.json @@ -0,0 +1,254 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 260, + "density": 0.45, + "min_y": -64, + "max_y": 30, + "size": 32, + "random_name": "deep_gold", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:goethite_indicator", + "weight": 5 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 5 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 15 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 75 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_hematite.json new file mode 100644 index 000000000..884a10789 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_hematite.json @@ -0,0 +1,197 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": -64, + "max_y": 30, + "size": 30, + "random_name": "deep_hematite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:goethite_indicator", + "weight": 25 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 35 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 15 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 5 + }, + { + "block": "gtceu:ruby_bud_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_limonite.json new file mode 100644 index 000000000..79d881616 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_limonite.json @@ -0,0 +1,119 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 240, + "density": 0.35, + "min_y": -64, + "max_y": 30, + "size": 32, + "random_name": "deep_limonite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:marble_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:limestone_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:goethite_indicator", + "weight": 50 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 15 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 15 + }, + { + "block": "tfc:ore/small_malachite", + "weight": 10 + }, + { + "block": "gtceu:malachite_bud_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json new file mode 100644 index 000000000..c2e4e5e78 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json @@ -0,0 +1,258 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 205, + "density": 0.3, + "min_y": -64, + "max_y": 30, + "size": 34, + "random_name": "deep_magnetite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:shale_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:shale_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:shale_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:shale_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:claystone_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:claystone_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:claystone_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:claystone_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:limestone_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:limestone_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:conglomerate_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:conglomerate_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:conglomerate_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:conglomerate_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:dolomite_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:dolomite_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:dolomite_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:dolomite_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:chert_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:chert_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:chert_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:chert_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:chalk_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:chalk_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:chalk_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:chalk_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_magnetite", + "weight": 5 + }, + { + "block": "gtceu:vanadium_magnetite_indicator", + "weight": 15 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 15 + }, + { + "block": "firmalife:ore/small_chromite", + "weight": 60 + }, + { + "block": "gtceu:sapphire_bud_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_molybdenum.json new file mode 100644 index 000000000..8d6340468 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_molybdenum.json @@ -0,0 +1,254 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 245, + "density": 0.45, + "min_y": -64, + "max_y": 10, + "size": 26, + "random_name": "deep_molybdenum", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:rhyolite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:rhyolite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:basalt_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:andesite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:andesite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:dacite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:dacite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:granite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:diorite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:gabbro_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:wulfenite_indicator", + "weight": 40 + }, + { + "block": "gtceu:molybdenite_indicator", + "weight": 30 + }, + { + "block": "gtceu:molybdenum_indicator", + "weight": 15 + }, + { + "block": "gtceu:powellite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_pitchblende.json new file mode 100644 index 000000000..2bf49d480 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_pitchblende.json @@ -0,0 +1,236 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.45, + "min_y": -64, + "max_y": -20, + "size": 24, + "random_name": "deep_pitchblende", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:granite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:gabbro_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:quartzite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:slate_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:phyllite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:marble_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:pitchblende_indicator", + "weight": 50 + }, + { + "block": "gtceu:uraninite_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json new file mode 100644 index 000000000..09514546f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json @@ -0,0 +1,162 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 180, + "density": 0.35, + "min_y": -64, + "max_y": 26, + "size": 28, + "random_name": "deep_sapphire", + "height": 8, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:almandine_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:pyrope_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:sapphire_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:green_sapphire_bud_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_scheelite.json new file mode 100644 index 000000000..d59749bf5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_scheelite.json @@ -0,0 +1,114 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": -64, + "max_y": 0, + "size": 20, + "random_name": "deep_scheelite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:diorite_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:gabbro_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:scheelite_indicator", + "weight": 45 + }, + { + "block": "gtceu:tungstate_indicator", + "weight": 35 + }, + { + "block": "gtceu:lithium_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sheldonite.json new file mode 100644 index 000000000..49373b66b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sheldonite.json @@ -0,0 +1,247 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 300, + "density": 0.3, + "min_y": -64, + "max_y": 0, + "size": 30, + "random_name": "deep_sheldonite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:bornite_indicator", + "weight": 35 + }, + { + "block": "gtceu:cooperite_indicator", + "weight": 25 + }, + { + "block": "gtceu:platinum_indicator", + "weight": 25 + }, + { + "block": "gtceu:palladium_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_topaz.json new file mode 100644 index 000000000..d1ec86244 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_topaz.json @@ -0,0 +1,248 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 260, + "density": 0.3, + "min_y": -64, + "max_y": 26, + "size": 28, + "random_name": "deep_topaz", + "height": 7, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:chalcocite_indicator", + "weight": 25 + }, + { + "block": "gtceu:bornite_indicator", + "weight": 15 + }, + { + "block": "gtceu:blue_topaz_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:topaz_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json new file mode 100644 index 000000000..192f337a9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json @@ -0,0 +1,240 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.25, + "min_y": -32, + "max_y": 60, + "size": 34, + "random_name": "normal_apatite_", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:granite_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:gabbro_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:quartzite_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:slate_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:phyllite_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:marble_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:tricalcium_phosphate_indicator", + "weight": 35 + }, + { + "block": "gtceu:pyrochlore_indicator", + "weight": 15 + }, + { + "block": "gtceu:apatite_bud_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_basaltic_sands.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json rename to kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_basaltic_sands.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bauxite.json new file mode 100644 index 000000000..99a6a92fa --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bauxite.json @@ -0,0 +1,166 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 185, + "density": 0.3, + "min_y": -32, + "max_y": 60, + "size": 40, + "random_name": "normal_bauxite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:shale_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:shale_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:claystone_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:claystone_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:limestone_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:limestone_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:conglomerate_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:conglomerate_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:dolomite_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:dolomite_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:chert_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:chert_aluminium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:chalk_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:chalk_aluminium_ore", + "weight": 25 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:bauxite_indicator", + "weight": 45 + }, + { + "block": "gtceu:ilmenite_indicator", + "weight": 30 + }, + { + "block": "gtceu:aluminium_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json new file mode 100644 index 000000000..9c9b1156b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json @@ -0,0 +1,115 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "rarity": 180, + "density": 0.35, + "min_y": -32, + "max_y": 50, + "random_name": "normal_beryllium", + "min_skew": 6, + "max_skew": 18, + "min_slant": 0, + "max_slant": 4, + "sign": 0, + "height": 60, + "radius": 10, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:rhyolite_thorium_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_thorium_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:andesite_thorium_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:dacite_thorium_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:beryllium_indicator", + "weight": 35 + }, + { + "block": "gtceu:thorium_indicator", + "weight": 15 + }, + { + "block": "gtceu:emerald_bud_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json new file mode 100644 index 000000000..b1b6cceb8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json @@ -0,0 +1,223 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_bismuthinite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:granite_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:granite_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:diorite_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:diorite_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:gabbro_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:gabbro_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:shale_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:shale_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:claystone_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:claystone_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:limestone_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:limestone_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:conglomerate_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:conglomerate_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:dolomite_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:dolomite_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:chert_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:chert_lead_ore", + "weight": 11 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_bismuth_ore", + "weight": 80 + }, + { + "block": "gtceu:chalk_sulfur_ore", + "weight": 9 + }, + { + "block": "gtceu:chalk_lead_ore", + "weight": 11 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 40, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_bismuthinite", + "weight": 80 + }, + { + "block": "gtceu:sulfur_indicator", + "weight": 9 + }, + { + "block": "gtceu:lead_indicator", + "weight": 11 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json new file mode 100644 index 000000000..62952272e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json @@ -0,0 +1,94 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_cassiterite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:granite_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:diorite_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:gabbro_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_cassiterite", + "weight": 100 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json new file mode 100644 index 000000000..6276d069b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json @@ -0,0 +1,134 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 215, + "density": 0.55, + "min_y": 0, + "max_y": 210, + "size": 60, + "random_name": "normal_coal", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_coal_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_coal_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:coal_indicator", + "weight": 95 + }, + { + "block": "gtceu:coal_bud_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_copper.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_copper.json new file mode 100644 index 000000000..b93f9ea45 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_copper.json @@ -0,0 +1,145 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_copper", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:rhyolite_copper_ore", + "weight": 65 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:basalt_copper_ore", + "weight": 65 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:andesite_copper_ore", + "weight": 65 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:dacite_copper_ore", + "weight": 65 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 85, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:chalcopyrite_indicator", + "weight": 20 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 5 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 10 + }, + { + "block": "tfc:ore/small_native_copper", + "weight": 65 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnet_tin.json new file mode 100644 index 000000000..3ab7ead90 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnet_tin.json @@ -0,0 +1,497 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 270, + "density": 0.25, + "min_y": -40, + "max_y": 64, + "size": 40, + "random_name": "normal_garnet_tin", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:shale_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:shale_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:shale_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:claystone_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:claystone_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:claystone_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:limestone_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:limestone_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:limestone_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:conglomerate_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:conglomerate_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:conglomerate_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:dolomite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:dolomite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:dolomite_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:chert_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:chert_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:chert_diatomite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:chalk_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:chalk_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:chalk_diatomite_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_cassiterite", + "weight": 35 + }, + { + "block": "gtceu:garnet_sand_indicator", + "weight": 25 + }, + { + "block": "gtceu:asbestos_indicator", + "weight": 25 + }, + { + "block": "gtceu:diatomite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnierite.json new file mode 100644 index 000000000..c0b63d678 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_garnierite.json @@ -0,0 +1,99 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.4, + "min_y": -32, + "max_y": 60, + "size": 40, + "random_name": "normal_garnierite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_garnierite_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_nickel_ore", + "weight": 10 + }, + { + "block": "gtceu:gabbro_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_pentlandite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_cobalt_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_garnierite_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_nickel_ore", + "weight": 10 + }, + { + "block": "gtceu:diorite_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_pentlandite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_cobalt_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 70, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_garnierite", + "weight": 55 + }, + { + "block": "gtceu:cobaltite_indicator", + "weight": 20 + }, + { + "block": "gtceu:pentlandite_indicator", + "weight": 10 + }, + { + "block": "gtceu:cobalt_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json new file mode 100644 index 000000000..aedce6b14 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json @@ -0,0 +1,227 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 60, + "size": 40, + "random_name": "normal_gold", + "height": 12, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:granite_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:granite_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_yellow_limonite_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_gold_ore", + "weight": 55 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_limonite", + "weight": 20 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 20 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 55 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json new file mode 100644 index 000000000..a8ff92783 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json @@ -0,0 +1,205 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 80, + "density": 0.4, + "min_y": -64, + "max_y": -16, + "size": 16, + "random_name": "normal_graphite", + "height": 6, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:gabbro_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:diorite_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:schist_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:gneiss_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:quartzite_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:phyllite_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:slate_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_coal_ore", + "weight": 30 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:marble_diamond_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_coal_ore", + "weight": 30 + } + ] + } + ], + "indicator": { + "rarity": 10, + "depth": 80, + "underground_rarity": 30, + "underground_count": 250, + "blocks": [ + { + "block": "gtceu:graphite_indicator", + "weight": 45 + }, + { + "block": "gtceu:coal_indicator", + "weight": 30 + }, + { + "block": "gtceu:diamond_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_hematite.json new file mode 100644 index 000000000..56e9b3498 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_hematite.json @@ -0,0 +1,145 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 210, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_hematite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:rhyolite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:rhyolite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:andesite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:andesite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:dacite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:dacite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 50, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_hematite", + "weight": 50 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 30 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 5 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lapis.json new file mode 100644 index 000000000..844c715e3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lapis.json @@ -0,0 +1,175 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.25, + "min_y": -60, + "max_y": 10, + "size": 50, + "random_name": "normal_lapis", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:slate_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:phyllite_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:marble_calcite_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:calcite_indicator", + "weight": 15 + }, + { + "block": "gtceu:lazurite_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:sodalite_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:lapis_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_limonite.json new file mode 100644 index 000000000..cc6796943 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_limonite.json @@ -0,0 +1,91 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 190, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_limonite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_yellow_limonite_ore", + "weight": 50 + }, + { + "block": "gtceu:marble_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:marble_malachite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_yellow_limonite_ore", + "weight": 50 + }, + { + "block": "gtceu:limestone_hematite_ore", + "weight": 20 + }, + { + "block": "gtceu:limestone_malachite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 50, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_limonite", + "weight": 50 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 20 + }, + { + "block": "tfc:ore/small_malachite", + "weight": 15 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lubricant.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json rename to kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_lubricant.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json new file mode 100644 index 000000000..3fc955d5b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json @@ -0,0 +1,226 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 200, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_magnetite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:shale_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:shale_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:shale_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:claystone_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:claystone_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:claystone_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:limestone_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:limestone_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:limestone_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:conglomerate_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:conglomerate_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:conglomerate_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:dolomite_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:dolomite_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:dolomite_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:chert_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:chert_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:chert_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_magnetite_ore", + "weight": 70 + }, + { + "block": "gtceu:chalk_vanadium_magnetite_ore", + "weight": 25 + }, + { + "block": "gtceu:chalk_gold_ore", + "weight": 10 + }, + { + "block": "gtceu:chalk_chromite_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_magnetite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 35, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_magnetite", + "weight": 70 + }, + { + "block": "gtceu:vanadium_magnetite_indicator", + "weight": 25 + }, + { + "block": "firmalife:ore/small_chromite", + "weight": 5 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 10 + } + ] + } + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_manganese.json new file mode 100644 index 000000000..f5c779765 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_manganese.json @@ -0,0 +1,290 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 195, + "density": 0.3, + "min_y": -32, + "max_y": 60, + "size": 40, + "random_name": "normal_manganese", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:rhyolite_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:andesite_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:dacite_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:shale_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:shale_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:shale_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:claystone_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:claystone_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:claystone_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:limestone_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:limestone_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:limestone_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:conglomerate_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:conglomerate_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:conglomerate_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:dolomite_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:dolomite_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:dolomite_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:chert_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:chert_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:chert_tantalite_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:chalk_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:chalk_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:chalk_tantalite_ore", + "weight": 10 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:pyrolusite_indicator", + "weight": 20 + }, + { + "block": "gtceu:tantalite_indicator", + "weight": 10 + }, + { + "block": "gtceu:grossular_bud_indicator", + "weight": 30 + }, + { + "block": "gtceu:spessartine_bud_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json rename to kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_monazite.json new file mode 100644 index 000000000..4c001e8d2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_monazite.json @@ -0,0 +1,90 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 185, + "density": 0.25, + "min_y": -32, + "max_y": 50, + "size": 40, + "random_name": "normal_monazite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:granite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_neodymium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_neodymium_ore", + "weight": 25 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:gabbro_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_neodymium_ore", + "weight": 25 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:bastnasite_indicator", + "weight": 50 + }, + { + "block": "gtceu:neodymium_indicator", + "weight": 25 + }, + { + "block": "gtceu:monazite_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json new file mode 100644 index 000000000..926d32187 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json @@ -0,0 +1,130 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 185, + "density": 0.20, + "min_y": 0, + "max_y": 70, + "size": 55, + "random_name": "normal_oilsands", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:oilsands_indicator", + "weight": 100 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_olivine.json new file mode 100644 index 000000000..ab6a0ba4b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_olivine.json @@ -0,0 +1,198 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 180, + "density": 0.25, + "min_y": -40, + "max_y": 30, + "size": 26, + "random_name": "normal_olivine", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:rhyolite_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:andesite_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:dacite_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_glauconite_sand_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_glauconite_sand_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:bentonite_indicator", + "weight": 35 + }, + { + "block": "gtceu:magnesite_indicator", + "weight": 25 + }, + { + "block": "gtceu:glauconite_sand_indicator", + "weight": 15 + }, + { + "block": "gtceu:olivine_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_quartz.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_quartz.json new file mode 100644 index 000000000..d2e54f224 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_quartz.json @@ -0,0 +1,125 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 150, + "density": 0.3, + "min_y": -32, + "max_y": 100, + "size": 40, + "random_name": "normal_quartz", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_quartzite_ore", + "weight": 65 + }, + { + "block": "gtceu:shale_certus_quartz_ore", + "weight": 30 + }, + { + "block": "gtceu:shale_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_quartzite_ore", + "weight": 65 + }, + { + "block": "gtceu:quartzite_certus_quartz_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_quartzite_ore", + "weight": 65 + }, + { + "block": "gtceu:schist_certus_quartz_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_quartzite_ore", + "weight": 65 + }, + { + "block": "gtceu:gneiss_certus_quartz_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 40, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:barite_indicator", + "weight": 25 + }, + { + "block": "gtceu:certus_quartz_bud_indicator", + "weight": 30 + }, + { + "block": "gtceu:quartzite_bud_indicator", + "weight": 65 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_redstone.json new file mode 100644 index 000000000..15db11f32 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_redstone.json @@ -0,0 +1,56 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.4, + "min_y": -32, + "max_y": 100, + "size": 40, + "random_name": "normal_redstone", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_redstone_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_ruby_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_cinnabar_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_redstone_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:redstone_indicator", + "weight": 45 + }, + { + "block": "gtceu:ruby_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:cinnabar_bud_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_salt.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_salt.json new file mode 100644 index 000000000..b985a898a --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_salt.json @@ -0,0 +1,139 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 175, + "density": 0.4, + "min_y": 30, + "max_y": 70, + "size": 40, + "random_name": "normal_salt", + "height": 4, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_rock_salt_ore", + "weight": 40 + }, + { + "block": "gtceu:shale_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:shale_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:shale_borax_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:raw_salt_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_rock_salt_ore", + "weight": 40 + }, + { + "block": "gtceu:claystone_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:claystone_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:claystone_borax_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:raw_salt_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_rock_salt_ore", + "weight": 40 + }, + { + "block": "gtceu:limestone_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:limestone_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:limestone_borax_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:raw_salt_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:rock_salt_bud_indicator", + "weight": 20 + }, + { + "block": "gtceu:rock_salt_indicator", + "weight": 20 + }, + { + "block": "gtceu:salt_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:salt_indicator", + "weight": 15 + }, + { + "block": "gtceu:lepidolite_indicator", + "weight": 15 + }, + { + "block": "gtceu:borax_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_saltpeter.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json rename to kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_saltpeter.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_silver.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_silver.json new file mode 100644 index 000000000..bd1a59147 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_silver.json @@ -0,0 +1,79 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_silver", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_silver_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_lead_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_lead_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_silver_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_lead_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_lead_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_native_silver", + "weight": 70 + }, + { + "block": "gtceu:galena_indicator", + "weight": 10 + }, + { + "block": "gtceu:lead_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sphalerite.json new file mode 100644 index 000000000..dce296c6f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sphalerite.json @@ -0,0 +1,263 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_sphalerite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:quartzite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:slate_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:phyllite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:schist_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:gneiss_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:marble_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_sphalerite", + "weight": 70 + }, + { + "block": "gtceu:sulfur_indicator", + "weight": 20 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_spodumene.json new file mode 100644 index 000000000..fdba9d793 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_spodumene.json @@ -0,0 +1,253 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 180, + "density": 0.375, + "min_y": 20, + "max_y": 60, + "size": 35, + "random_name": "normal_spodumene", + "height": 6, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:granite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:slate_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:slate_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:slate_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:phyllite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:phyllite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:phyllite_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:schist_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:gneiss_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_spodumene_ore", + "weight": 35 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:marble_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:marble_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_spodumene_ore", + "weight": 35 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:rock_salt_indicator", + "weight": 10 + }, + { + "block": "gtceu:rock_salt_bud_indicator", + "weight": 10 + }, + { + "block": "gtceu:salt_indicator", + "weight": 15 + }, + { + "block": "gtceu:salt_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:lepidolite_indicator", + "weight": 15 + }, + { + "block": "gtceu:spodumene_indicator", + "weight": 35 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sulfur.json new file mode 100644 index 000000000..340bdc3c2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_sulfur.json @@ -0,0 +1,125 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 165, + "density": 0.2, + "min_y": 0, + "max_y": 210, + "size": 45, + "random_name": "normal_sulfur", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:sulfur_indicator", + "weight": 50 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 35 + }, + { + "block": "tfc:ore/small_sphalerite", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tetrahedrite.json new file mode 100644 index 000000000..166e92be2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tetrahedrite.json @@ -0,0 +1,171 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.4, + "min_y": -32, + "max_y": 75, + "size": 40, + "random_name": "normal_tetrahedrite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:slate_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:slate_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:phyllite_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:phyllite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:marble_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:marble_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "tfc:ore/small_tetrahedrite", + "weight": 60 + }, + { + "block": "tfc:ore/small_native_copper", + "weight": 30 + }, + { + "block": "gtceu:stibnite_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json new file mode 100644 index 000000000..297ac4853 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json @@ -0,0 +1,223 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 140, + "density": 0.25, + "min_y": 60, + "max_y": 210, + "size": 50, + "random_name": "surface_bismuthinite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:granite_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:granite_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:diorite_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:diorite_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:gabbro_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:gabbro_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:shale_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:shale_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:claystone_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:claystone_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:limestone_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:limestone_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:conglomerate_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:conglomerate_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:dolomite_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:dolomite_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:chert_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:chert_lead_ore", + "weight": 7 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_bismuth_ore", + "weight": 90 + }, + { + "block": "gtceu:chalk_sulfur_ore", + "weight": 3 + }, + { + "block": "gtceu:chalk_lead_ore", + "weight": 7 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 1, + "underground_count": 0, + "blocks": [ + { + "block": "tfc:ore/small_bismuthinite", + "weight": 90 + }, + { + "block": "gtceu:sulfur_indicator", + "weight": 3 + }, + { + "block": "gtceu:lead_indicator", + "weight": 7 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json rename to kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json new file mode 100644 index 000000000..acf58049c --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json @@ -0,0 +1,129 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 200, + "density": 0.25, + "min_y": 20, + "max_y": 217, + "size": 50, + "random_name": "surface_copper", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_chalcopyrite_ore", + "weight": 55 + }, + { + "block": "gtceu:rhyolite_zeolite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_cassiterite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_realgar_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_chalcopyrite_ore", + "weight": 55 + }, + { + "block": "gtceu:basalt_zeolite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_cassiterite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_realgar_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_chalcopyrite_ore", + "weight": 55 + }, + { + "block": "gtceu:andesite_zeolite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_cassiterite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_realgar_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_chalcopyrite_ore", + "weight": 55 + }, + { + "block": "gtceu:dacite_zeolite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_cassiterite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_realgar_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 8, + "depth": 60, + "underground_rarity": 1, + "underground_count": 0, + "blocks": [ + { + "block": "gtceu:chalcopyrite_indicator", + "weight": 60 + }, + { + "block": "gtceu:zeolite_indicator", + "weight": 10 + }, + { + "block": "tfc:ore/small_cassiterite", + "weight": 20 + }, + { + "block": "gtceu:realgar_bud_indicator", + "weight": 10 + } + ] + } + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json new file mode 100644 index 000000000..fa39c3f2e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json @@ -0,0 +1,223 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 145, + "density": 0.25, + "min_y": 60, + "max_y": 210, + "size": 50, + "random_name": "surface_sphalerite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:quartzite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:quartzite_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:slate_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:slate_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:phyllite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:phyllite_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:schist_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:schist_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:gneiss_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:gneiss_pyrite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_sulfur_ore", + "weight": 55 + }, + { + "block": "gtceu:marble_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:marble_pyrite_ore", + "weight": 5 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 1, + "underground_count": 0, + "blocks": [ + { + "block": "tfc:ore/small_sphalerite", + "weight": 55 + }, + { + "block": "gtceu:sulfur_indicator", + "weight": 40 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json new file mode 100644 index 000000000..ed883d7f1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json @@ -0,0 +1,147 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 140, + "density": 0.25, + "min_y": 60, + "max_y": 210, + "size": 50, + "random_name": "surface_tetrahedrite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:slate_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:slate_stibnite_ore", + "weight": 20 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:phyllite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:phyllite_stibnite_ore", + "weight": 20 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:schist_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:schist_stibnite_ore", + "weight": 20 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:gneiss_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:gneiss_stibnite_ore", + "weight": 20 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:marble_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:marble_stibnite_ore", + "weight": 20 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 60, + "underground_rarity": 1, + "underground_count": 0, + "blocks": [ + { + "block": "tfc:ore/small_tetrahedrite", + "weight": 60 + }, + { + "block": "tfc:ore/small_native_copper", + "weight": 20 + }, + { + "block": "gtceu:stibnite_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/geode.json b/kubejs/data/tfg/worldgen/configured_feature/geode.json deleted file mode 100644 index abb607b45..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/geode.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "type": "tfc:geode", - "config": { - "outer": "tfc:rock/hardened/basalt", - "middle": "tfc:rock/raw/quartzite", - "inner": [ - { - "data": "gtceu:quartzite_amethyst_ore", - "weight": 1 - }, - { - "data": "tfc:rock/raw/quartzite", - "weight": 5 - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/glow_lichen.json b/kubejs/data/tfg/worldgen/configured_feature/glow_lichen.json new file mode 100644 index 000000000..04b71519f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/glow_lichen.json @@ -0,0 +1,59 @@ +{ + "type": "minecraft:multiface_growth", + "config": { + "block": "minecraft:glow_lichen", + "can_be_placed_on": [ + "minecraft:dripstone_block", + "minecraft:calcite", + "minecraft:tuff", + "minecraft:deepslate", + "minecraft:blackstone", + "tfc:rock/raw/gabbro", + "tfc:rock/hardened/gabbro", + "tfc:rock/raw/schist", + "tfc:rock/hardened/schist", + "tfc:rock/raw/diorite", + "tfc:rock/hardened/diorite", + "tfc:rock/raw/granite", + "tfc:rock/hardened/granite", + "tfc:rock/raw/gneiss", + "tfc:rock/hardened/gneiss", + "tfc:rock/raw/shale", + "tfc:rock/hardened/shale", + "tfc:rock/raw/claystone", + "tfc:rock/hardened/claystone", + "tfc:rock/raw/limestone", + "tfc:rock/hardened/limestone", + "tfc:rock/raw/conglomerate", + "tfc:rock/hardened/conglomerate", + "tfc:rock/raw/dolomite", + "tfc:rock/hardened/dolomite", + "tfc:rock/raw/chert", + "tfc:rock/hardened/chert", + "tfc:rock/raw/chalk", + "tfc:rock/hardened/chalk", + "tfc:rock/raw/quartzite", + "tfc:rock/hardened/quartzite", + "tfc:rock/raw/slate", + "tfc:rock/hardened/slate", + "tfc:rock/raw/phyllite", + "tfc:rock/hardened/phyllite", + "tfc:rock/raw/marble", + "tfc:rock/hardened/marble", + "tfc:rock/raw/rhyolite", + "tfc:rock/hardened/rhyolite", + "tfc:rock/raw/basalt", + "tfc:rock/hardened/basalt", + "tfc:rock/raw/andesite", + "tfc:rock/hardened/andesite", + "tfc:rock/raw/dacite", + "tfc:rock/hardened/dacite", + "tfg:rock/hardened_deepslate" + ], + "can_place_on_ceiling": true, + "can_place_on_floor": false, + "can_place_on_wall": true, + "chance_of_spreading": 0.5, + "search_range": 20 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/basalt_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/basalt_spikes.json new file mode 100644 index 000000000..8785080ce --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/basalt_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "minecraft:basalt", + "spike": "tfc:rock/spike/basalt", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/blackstone_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/blackstone_spikes.json new file mode 100644 index 000000000..b98b3ef3b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/blackstone_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfg:rock/hardened_blackstone", + "spike": "tfg:spike/blackstone_spike", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/deepslate_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/deepslate_spikes.json new file mode 100644 index 000000000..b83a3ca47 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/deepslate_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfg:rock/hardened_deepslate", + "spike": "tfg:spike/deepslate_spike", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/diorite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/diorite_spikes.json new file mode 100644 index 000000000..c1bc531b2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/diorite_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfc:rock/hardened/diorite", + "spike": "tfc:rock/spike/diorite", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/dripstone_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/dripstone_spikes.json new file mode 100644 index 000000000..9dce10f4e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/dripstone_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfg:rock/hardened_dripstone", + "spike": "tfg:spike/dripstone_spike", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gabbro_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gabbro_spikes.json new file mode 100644 index 000000000..50fc4b7ba --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gabbro_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfc:rock/hardened/gabbro", + "spike": "tfc:rock/spike/gabbro", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gneiss_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gneiss_spikes.json new file mode 100644 index 000000000..ea590a25d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/gneiss_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfc:rock/hardened/gneiss", + "spike": "tfc:rock/spike/gneiss", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/granite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/granite_spikes.json new file mode 100644 index 000000000..5592d80b6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/granite_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfc:rock/hardened/granite", + "spike": "tfc:rock/spike/granite", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/schist_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/schist_spikes.json new file mode 100644 index 000000000..7d4666ac5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/spikes/schist_spikes.json @@ -0,0 +1,8 @@ +{ + "type": "beneath:nether_spikes", + "config": { + "raw": "tfc:rock/hardened/schist", + "spike": "tfc:rock/spike/schist", + "anchor_blocks": "minecraft:base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile.json new file mode 100644 index 000000000..ae57aaeda --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile.json @@ -0,0 +1,50 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": 1, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.7, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:blackstone" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "floor", + "vegetation_chance": 0.9, + "vegetation_feature": { + "feature": { + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "layers", + "values": { + "type": "minecraft:biased_to_bottom", + "value": { + "min_inclusive": 1, + "max_inclusive": 7 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:ash_pile" + } + } + } + }, + "type": "minecraft:simple_block" + }, + "placement": [] + }, + "vertical_range": 1, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile_small.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile_small.json new file mode 100644 index 000000000..a38a1b897 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/ash_pile_small.json @@ -0,0 +1,59 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "layers", + "values": { + "type": "minecraft:biased_to_bottom", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:ash_pile" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "minecraft:deepslate", + "tfg:rock/hardened_deepslate", + "minecraft:blackstone", + "tfg:rock/hardened_blackstone", + "minecraft:magma_block" + ] + } + } + ] + }, + "tries": 32, + "xz_spread": 8, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/beneath_mushrooms.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/beneath_mushrooms.json new file mode 100644 index 000000000..4117c4b52 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/beneath_mushrooms.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:simple_random_selector", + "config": { + "features": [ + { + "feature": "beneath:button_patch", + "placement": [] + }, + { + "feature": "beneath:chantrelle_patch", + "placement": [] + }, + { + "feature": "beneath:death_cap_patch", + "placement": [] + }, + { + "feature": "beneath:destroying_angels_patch", + "placement": [] + }, + { + "feature": "beneath:fools_funnel_patch", + "placement": [] + }, + { + "feature": "beneath:oyster_patch", + "placement": [] + }, + { + "feature": "beneath:parasol_patch", + "placement": [] + }, + { + "feature": "beneath:portobello_patch", + "placement": [] + }, + { + "feature": "beneath:shittake_patch", + "placement": [] + }, + { + "feature": "beneath:sulfur_tuft_patch", + "placement": [] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_brown_mushroom.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_brown_mushroom.json new file mode 100644 index 000000000..89fd81fa2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_brown_mushroom.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem" + } + }, + "foliage_placer": { + "type": "minecraft:acacia_foliage_placer", + "offset": 0, + "radius": 3 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:brown_mushroom_block" + } + }, + "force_dirt": false, + "ignore_vines": true, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 1, + "lower_size": 0, + "upper_size": 2 + }, + "trunk_placer": { + "type": "minecraft:forking_trunk_placer", + "base_height": 3, + "height_rand_a": 7, + "height_rand_b": 1 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem", + "Properties": { + "axis": "y" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_mushrooms.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_mushrooms.json new file mode 100644 index 000000000..53cdc0d8f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_mushrooms.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:random_boolean_selector", + "config": { + "feature_false": { + "feature": "tfg:nether/surface/big_red_mushroom", + "placement": [] + }, + "feature_true": { + "feature": "tfg:nether/surface/big_brown_mushroom", + "placement": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_red_mushroom.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_red_mushroom.json new file mode 100644 index 000000000..3e391f15f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/big_red_mushroom.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem" + } + }, + "foliage_placer": { + "type": "minecraft:blob_foliage_placer", + "height": 3, + "offset": 0, + "radius": 3 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:red_mushroom_block" + } + }, + "force_dirt": false, + "ignore_vines": false, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 1, + "lower_size": 0, + "upper_size": 1 + }, + "trunk_placer": { + "type": "minecraft:straight_trunk_placer", + "base_height": 4, + "height_rand_a": 10, + "height_rand_b": 0 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem", + "Properties": { + "axis": "y" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/bone_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/bone_patch.json new file mode 100644 index 000000000..0ce3e5ee6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/bone_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/bone" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 48, + "xz_spread": 12, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charcoal_pile.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charcoal_pile.json new file mode 100644 index 000000000..ceaca41d7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charcoal_pile.json @@ -0,0 +1,57 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "layers", + "values": { + "type": "minecraft:biased_to_bottom", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:charcoal_pile" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "minecraft:deepslate", + "minecraft:blackstone", + "minecraft:magma_block" + ] + } + } + ] + }, + "tries": 32, + "xz_spread": 8, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charred_tree.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charred_tree.json new file mode 100644 index 000000000..9f0ef94ad --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/charred_tree.json @@ -0,0 +1,82 @@ +{ + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:blackstone" + } + }, + "foliage_placer": { + "type": "minecraft:bush_foliage_placer", + "height": 0, + "offset": 0, + "radius": 0 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:air" + } + }, + "force_dirt": false, + "ignore_vines": true, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 1, + "lower_size": 0, + "upper_size": 2 + }, + "trunk_placer": { + "type": "minecraft:cherry_trunk_placer", + "base_height": 7, + "branch_count": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": 1, + "weight": 2 + }, + { + "data": 2, + "weight": 1 + }, + { + "data": 3, + "weight": 3 + } + ] + }, + "branch_end_offset_from_top": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 0, + "min_inclusive": -1 + } + }, + "branch_horizontal_length": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 2 + } + }, + "branch_start_offset_from_top": { + "max_inclusive": -3, + "min_inclusive": -4 + }, + "height_rand_a": 1, + "height_rand_b": 0 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:charred_log", + "Properties": { + "axis": "y" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/cobwebs.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/cobwebs.json new file mode 100644 index 000000000..21c442275 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/cobwebs.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:cobweb" + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/dead_bush_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/dead_bush_patch.json new file mode 100644 index 000000000..a654dc6db --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/dead_bush_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/dead_bush" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 64, + "xz_spread": 16, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/glow_mushroom.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/glow_mushroom.json new file mode 100644 index 000000000..a4331fb28 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/glow_mushroom.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem" + } + }, + "foliage_placer": { + "type": "minecraft:blob_foliage_placer", + "height": 0, + "offset": 0, + "radius": 2 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:shroomlight" + } + }, + "force_dirt": false, + "ignore_vines": true, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 1, + "lower_size": 0, + "upper_size": 1 + }, + "trunk_placer": { + "type": "minecraft:straight_trunk_placer", + "base_height": 1, + "height_rand_a": 4, + "height_rand_b": 0 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mushroom_stem", + "Properties": { + "axis": "y" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/green_algae_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/green_algae_patch.json new file mode 100644 index 000000000..d6b6ba091 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/green_algae_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/green_algae" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 96, + "xz_spread": 6, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/guano_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/guano_patch.json new file mode 100644 index 000000000..616cadd11 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/guano_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/guano" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 96, + "xz_spread": 6, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/humus_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/humus_patch.json new file mode 100644 index 000000000..35c2cdb0f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/humus_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/humus" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 96, + "xz_spread": 5, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_basalt.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_basalt.json new file mode 100644 index 000000000..104e31e7f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_basalt.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/basalt" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_deepslate.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_deepslate.json new file mode 100644 index 000000000..fa9b1ec1f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_deepslate.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/deepslate" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_diorite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_diorite.json new file mode 100644 index 000000000..784aec566 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_diorite.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/diorite" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_dripstone.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_dripstone.json new file mode 100644 index 000000000..5163dba93 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_dripstone.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/dripstone" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gabbro.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gabbro.json new file mode 100644 index 000000000..1132a7e27 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gabbro.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/gabbro" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gneiss.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gneiss.json new file mode 100644 index 000000000..ede3457f6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_gneiss.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/gneiss" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_granite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_granite.json new file mode 100644 index 000000000..a9889ea41 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_granite.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/granite" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_schist.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_schist.json new file mode 100644 index 000000000..63e1f11ac --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/loose_schist.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/loose/schist" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mangrove_tree.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mangrove_tree.json new file mode 100644 index 000000000..bb51057d2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mangrove_tree.json @@ -0,0 +1,118 @@ +{ + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:dirt/silt" + } + }, + "foliage_placer": { + "type": "minecraft:random_spread_foliage_placer", + "foliage_height": 2, + "leaf_placement_attempts": 70, + "offset": 0, + "radius": 3 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:wood/leaves/mangrove", + "Properties": { + "distance": "7", + "persistent": "false", + "waterlogged": "false" + } + } + }, + "force_dirt": false, + "ignore_vines": true, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 2, + "lower_size": 0, + "upper_size": 2 + }, + "root_placer": { + "type": "minecraft:mangrove_root_placer", + "above_root_placement": { + "above_root_placement_chance": 0.3, + "above_root_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:moss_carpet" + } + } + }, + "mangrove_root_placement": { + "can_grow_through": "#minecraft:moss_replaceable", + "max_root_length": 15, + "max_root_width": 8, + "muddy_roots_in": [ + "minecraft:clay", + "minecraft:moss_block", + "minecraft:deepslate", + "tfg:rock/hardened_deepslate" + ], + "muddy_roots_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:muddy_roots/silt", + "Properties": { + "axis": "y" + } + } + }, + "random_skew_chance": 0.2 + }, + "root_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:mangrove_roots", + "Properties": { + "waterlogged": "false" + } + } + }, + "trunk_offset_y": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 1 + } + } + }, + "trunk_placer": { + "type": "minecraft:upwards_branching_trunk_placer", + "base_height": 2, + "can_grow_through": "#minecraft:mangrove_logs_can_grow_through", + "extra_branch_length": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + }, + "extra_branch_steps": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 5, + "min_inclusive": 2 + } + }, + "height_rand_a": 2, + "height_rand_b": 5, + "place_branch_per_log_probability": 0.5 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:wood/wood/mangrove", + "Properties": { + "axis": "y" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_big.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_big.json new file mode 100644 index 000000000..068a4889e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_big.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/moss" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 32, + "xz_spread": 4, + "y_spread": 3 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_small.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_small.json new file mode 100644 index 000000000..54abcf948 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/moss_patch_small.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/moss" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 16, + "xz_spread": 8, + "y_spread": 3 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mushroom_sprouts.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mushroom_sprouts.json new file mode 100644 index 000000000..f0c0d6e5b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/mushroom_sprouts.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:random_boolean_selector", + "config": { + "feature_false": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:mushroom_sprouts" + } + } + } + }, + "placement": [] + }, + "feature_true": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:mushroom_roots" + } + } + } + }, + "placement": [] + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 64, + "xz_spread": 16, + "y_spread": 3 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/philodendron.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/philodendron.json new file mode 100644 index 000000000..0bb5d7c73 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/philodendron.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/philodendron" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 16, + "xz_spread": 4, + "y_spread": 3 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/pumice_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/pumice_patch.json new file mode 100644 index 000000000..491d86ab9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/pumice_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/pumice" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 10, + "xz_spread": 10, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/rotten_flesh_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/rotten_flesh_patch.json new file mode 100644 index 000000000..98e77afab --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/rotten_flesh_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/rotten_flesh" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 48, + "xz_spread": 12, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/small_mushrooms.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/small_mushrooms.json new file mode 100644 index 000000000..ab5b05697 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/small_mushrooms.json @@ -0,0 +1,87 @@ +{ + "type": "minecraft:random_boolean_selector", + "config": { + "feature_false": { + "feature": { + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:red_mushroom" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 48, + "xz_spread": 5, + "y_spread": 3 + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "feature_true": { + "feature": { + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:brown_mushroom" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 48, + "xz_spread": 5, + "y_spread": 3 + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/surface/stick_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/stick_patch.json new file mode 100644 index 000000000..2866f9b8b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/surface/stick_patch.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:groundcover/stick" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + }, + "tries": 48, + "xz_spread": 12, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json new file mode 100644 index 000000000..7704f454c --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": 2, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.0, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:clay_grass/silt" + } + }, + "replaceable": "#tfg:lush_ground_replaceable", + "surface": "floor", + "vegetation_chance": 0.6, + "vegetation_feature": { + "feature": "tfg:nether/terrain/clay_patch_vegetation", + "placement": [] + }, + "vertical_range": 2, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json new file mode 100644 index 000000000..66176b00b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": 2, + "extra_bottom_block_chance": 0.2, + "extra_edge_column_chance": 0.3, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:kaolin_clay_grass" + } + }, + "replaceable": "#tfg:lush_ground_replaceable", + "surface": "floor", + "vegetation_chance": 0.6, + "vegetation_feature": { + "feature": "tfg:nether/terrain/clay_patch_kaolin_vegetation", + "placement": [] + }, + "vertical_range": 2, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 5, + "min_inclusive": 3 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin_vegetation.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin_vegetation.json new file mode 100644 index 000000000..1e5bdfbb9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin_vegetation.json @@ -0,0 +1,58 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "tfc:plant/blood_lily" + }, + "weight": 50 + }, + { + "data": { + "Name": "tfc:plant/moss" + }, + "weight": 15 + }, + { + "data": { + "Name": "tfc:plant/lady_fern" + }, + "weight": 10 + }, + { + "data": { + "Name": "tfc:plant/king_fern" + }, + "weight": 5 + }, + { + "data": { + "Name": "tfc:plant/ostrich_fern" + }, + "weight": 15 + }, + { + "data": { + "Name": "tfc:plant/sword_fern" + }, + "weight": 15 + }, + { + "data": { + "Name": "minecraft:fern" + }, + "weight": 15 + }, + { + "data": { + "Name": "minecraft:large_fern" + }, + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_vegetation.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_vegetation.json new file mode 100644 index 000000000..67b947c46 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_vegetation.json @@ -0,0 +1,64 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "tfc:plant/moss" + }, + "weight": 15 + }, + { + "data": { + "Name": "tfc:plant/athyrium_fern" + }, + "weight": 20 + }, + { + "data": { + "Name": "tfc:plant/canna" + }, + "weight": 20 + }, + { + "data": { + "Name": "tfc:plant/lady_fern" + }, + "weight": 10 + }, + { + "data": { + "Name": "tfc:plant/king_fern" + }, + "weight": 5 + }, + { + "data": { + "Name": "tfc:plant/ostrich_fern" + }, + "weight": 15 + }, + { + "data": { + "Name": "tfc:plant/sword_fern" + }, + "weight": 15 + }, + { + "data": { + "Name": "minecraft:fern" + }, + "weight": 10 + }, + { + "data": { + "Name": "minecraft:large_fern" + }, + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_pool.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_pool.json new file mode 100644 index 000000000..f68d7dd62 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_pool.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:waterlogged_vegetation_patch", + "config": { + "depth": 2, + "extra_bottom_block_chance": 0.8, + "extra_edge_column_chance": 0.7, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:clay" + } + }, + "replaceable": "#minecraft:lush_ground_replaceable", + "surface": "floor", + "vegetation_chance": 0.6, + "vegetation_feature": { + "feature": "minecraft:dripleaf", + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/dripstone_pool.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/dripstone_pool.json new file mode 100644 index 000000000..633a8c366 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/dripstone_pool.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:delta_feature", + "config": { + "contents": { + "Name": "minecraft:water", + "Properties": { + "level": "0" + } + }, + "rim": { + "Name": "minecraft:dripstone_block" + }, + "rim_size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + }, + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 3 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowberry_vine.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowberry_vine.json new file mode 100644 index 000000000..4f747ed61 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowberry_vine.json @@ -0,0 +1,102 @@ +{ + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "down", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "minecraft:cave_vines_plant", + "Properties": { + "berries": "false" + } + }, + "weight": 4 + }, + { + "data": { + "Name": "minecraft:cave_vines_plant", + "Properties": { + "berries": "true" + } + }, + "weight": 1 + } + ] + } + }, + { + "height": 1, + "provider": { + "type": "minecraft:randomized_int_state_provider", + "property": "age", + "source": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "minecraft:cave_vines", + "Properties": { + "age": "0", + "berries": "false" + } + }, + "weight": 4 + }, + { + "data": { + "Name": "minecraft:cave_vines", + "Properties": { + "age": "0", + "berries": "true" + } + }, + "weight": 1 + } + ] + }, + "values": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 25, + "min_inclusive": 23 + } + } + } + } + ], + "prioritize_tip": true + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowstone_ceiling.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowstone_ceiling.json new file mode 100644 index 000000000..eec759034 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/glowstone_ceiling.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.2, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:glowstone" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "ceiling", + "vegetation_chance": 0.4, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "down", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:glowstone" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lava_lake.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lava_lake.json new file mode 100644 index 000000000..bffb409a4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lava_lake.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:lake", + "config": { + "barrier": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/hardened_blackstone" + } + }, + "fluid": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:lava", + "Properties": { + "level": "0" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/liana_ceiling.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/liana_ceiling.json new file mode 100644 index 000000000..514e56ea5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/liana_ceiling.json @@ -0,0 +1,100 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.3, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/hardened_deepslate" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "ceiling", + "vegetation_chance": 0.08, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "down", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/liana_plant" + } + } + }, + { + "height": 1, + "provider": { + "type": "minecraft:randomized_int_state_provider", + "property": "age", + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/liana" + } + }, + "values": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 25, + "min_inclusive": 23 + } + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 4 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_ceiling.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_ceiling.json new file mode 100644 index 000000000..9dd930ab7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_ceiling.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.3, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:moss_block" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "ceiling", + "vegetation_chance": 0.08, + "vegetation_feature": { + "feature": "tfg:nether/terrain/glowberry_vine", + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 4 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_clay.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_clay.json new file mode 100644 index 000000000..37e9ec8d5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/lush_caves_clay.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:simple_random_selector", + "config": { + "features": [ + { + "feature": "tfg:nether/terrain/clay_pool", + "placement": [] + }, + { + "feature": "tfg:nether/terrain/clay_patch", + "placement": [] + }, + { + "feature": "tfg:nether/terrain/clay_patch_kaolin", + "placement": [] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/magma_blob.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/magma_blob.json new file mode 100644 index 000000000..9b8bd712a --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/magma_blob.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0, + "size": 33, + "targets": [ + { + "state": { + "Name": "minecraft:magma_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "forge:stone" + } + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_patch_floor.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_patch_floor.json new file mode 100644 index 000000000..59a8de9b1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_patch_floor.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": 1, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.3, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:moss_block" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "floor", + "vegetation_chance": 0.6, + "vegetation_feature": { + "feature": "tfg:nether/terrain/moss_vegetation", + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 4 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_vegetation.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_vegetation.json new file mode 100644 index 000000000..6d8875ea5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/moss_vegetation.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "tfc:plant/moss" + }, + "weight": 30 + }, + { + "data": { + "Name": "tfc:plant/lady_fern" + }, + "weight": 20 + }, + { + "data": { + "Name": "tfc:plant/king_fern" + }, + "weight": 5 + }, + { + "data": { + "Name": "tfc:plant/ostrich_fern" + }, + "weight": 25 + }, + { + "data": { + "Name": "tfc:plant/sword_fern" + }, + "weight": 20 + }, + { + "data": { + "Name": "minecraft:fern" + }, + "weight": 20 + }, + { + "data": { + "Name": "minecraft:large_fern" + }, + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mud_pool.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mud_pool.json new file mode 100644 index 000000000..f8a06c367 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mud_pool.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:waterlogged_vegetation_patch", + "config": { + "depth": 2, + "extra_bottom_block_chance": 0.8, + "extra_edge_column_chance": 0.7, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:muddy_roots/silty_loam" + } + }, + "replaceable": "#minecraft:lush_ground_replaceable", + "surface": "floor", + "vegetation_chance": 0.7, + "vegetation_feature": { + "feature": "tfc:plant/green_algae", + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spanish_moss_ceiling.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spanish_moss_ceiling.json new file mode 100644 index 000000000..0100c2349 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spanish_moss_ceiling.json @@ -0,0 +1,100 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.3, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/hardened_deepslate" + } + }, + "replaceable": "#minecraft:moss_replaceable", + "surface": "ceiling", + "vegetation_chance": 0.08, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "down", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/spanish_moss_plant" + } + } + }, + { + "height": 1, + "provider": { + "type": "minecraft:randomized_int_state_provider", + "property": "age", + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:plant/spanish_moss" + } + }, + "values": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 25, + "min_inclusive": 23 + } + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 4 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json new file mode 100644 index 000000000..cfbbc5b0b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:spring_feature", + "config": { + "hole_count": 1, + "requires_block_below": true, + "rock_count": 4, + "state": { + "Name": "minecraft:lava", + "Properties": { + "falling": "true" + } + }, + "valid_blocks": "#base_stone_nether" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_water_lake.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_water_lake.json new file mode 100644 index 000000000..042b05cdf --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_water_lake.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:lake", + "config": { + "barrier": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:dripstone_block" + } + }, + "fluid": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:fluid/spring_water" + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_apatite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_apatite.json new file mode 100644 index 000000000..c67b95017 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_apatite.json @@ -0,0 +1,87 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": 48, + "max_y": 128, + "size": 39, + "random_name": "nether_apatite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tricalcium_phosphate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_apatite_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_tricalcium_phosphate_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_pyrochlore_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_apatite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tricalcium_phosphate_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:tricalcium_phosphate_indicator", + "weight": 35 + }, + { + "block": "gtceu:pyrochlore_indicator", + "weight": 15 + }, + { + "block": "gtceu:apatite_bud_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_basaltic_sands.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_basaltic_sands.json new file mode 100644 index 000000000..aa8b1e78d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_basaltic_sands.json @@ -0,0 +1,109 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 160, + "density": 0.4, + "min_y": 48, + "max_y": 128, + "size": 48, + "random_name": "nether_basaltic_sands", + "height": 9, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_basaltic_mineral_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_granitic_mineral_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_fullers_earth_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_gypsum_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_basaltic_mineral_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_granitic_mineral_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_fullers_earth_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_basaltic_mineral_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_granitic_mineral_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_fullers_earth_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_gypsum_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_basaltic_mineral_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_granitic_mineral_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_fullers_earth_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:basaltic_mineral_sand_indicator", + "weight": 35 + }, + { + "block": "gtceu:granitic_mineral_sand_indicator", + "weight": 25 + }, + { + "block": "gtceu:fullers_earth_indicator", + "weight": 25 + }, + { + "block": "gtceu:gypsum_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_bauxite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_bauxite.json new file mode 100644 index 000000000..0590d88f4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_bauxite.json @@ -0,0 +1,165 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 185, + "density": 0.4, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_bauxite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:deepslate_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:deepslate_aluminium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_ilmenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_aluminium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:pyroxenite_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_aluminium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_ilmenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_aluminium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:basalt_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_aluminium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_ilmenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_aluminium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_bauxite_ore", + "weight": 45 + }, + { + "block": "gtceu:dripstone_ilmenite_ore", + "weight": 30 + }, + { + "block": "gtceu:dripstone_aluminium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_ilmenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_aluminium_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:bauxite_indicator", + "weight": 45 + }, + { + "block": "gtceu:ilmenite_indicator", + "weight": 30 + }, + { + "block": "gtceu:aluminium_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json new file mode 100644 index 000000000..b28759af1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json @@ -0,0 +1,155 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "rarity": 250, + "density": 0.45, + "min_y": 32, + "max_y": 128, + "random_name": "nether_beryllium", + "min_skew": 6, + "max_skew": 18, + "min_slant": 0, + "max_slant": 4, + "sign": 0, + "height": 60, + "radius": 12, + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:deepslate_thorium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_beryllium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_emerald_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_thorium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_beryllium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_emerald_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_thorium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_beryllium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_emerald_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_beryllium_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_emerald_ore", + "weight": 50 + }, + { + "block": "gtceu:dripstone_thorium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_beryllium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_emerald_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:beryllium_indicator", + "weight": 35 + }, + { + "block": "gtceu:thorium_indicator", + "weight": 15 + }, + { + "block": "gtceu:emerald_bud_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json new file mode 100644 index 000000000..8a8e027af --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json @@ -0,0 +1,164 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.5, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_cassiterite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:granite_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:diorite_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:gabbro_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:gneiss_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:schist_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_cassiterite_ore", + "weight": 40 + }, + { + "block": "gtceu:pyroxenite_tin_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_tin_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_cassiterite", + "weight": 100 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_copper.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_copper.json new file mode 100644 index 000000000..67e263d40 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_copper.json @@ -0,0 +1,185 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.5, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_copper", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:deepslate_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:deepslate_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:deepslate_copper_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:pyroxenite_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:pyroxenite_copper_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:basalt_copper_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_chalcopyrite_ore", + "weight": 20 + }, + { + "block": "gtceu:dripstone_hematite_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:dripstone_copper_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:chalcopyrite_indicator", + "weight": 20 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 5 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 10 + }, + { + "block": "tfc:ore/small_native_copper", + "weight": 65 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet.json new file mode 100644 index 000000000..93a491c5d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet.json @@ -0,0 +1,202 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 230, + "density": 0.35, + "min_y": 0, + "max_y": 128, + "size": 45, + "random_name": "nether_garnet", + "height": 8, + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_red_garnet_ore", + "weight": 10 + }, + { + "block": "gtceu:deepslate_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_amethyst_ore", + "weight": 40 + }, + { + "block": "gtceu:deepslate_opal_ore", + "weight": 40 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + }, + { + "block": "gtceu:raw_red_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_amethyst_ore", + "weight": 40 + }, + { + "block": "gtceu:pyroxenite_opal_ore", + "weight": 40 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + }, + { + "block": "gtceu:raw_red_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_amethyst_ore", + "weight": 40 + }, + { + "block": "gtceu:basalt_opal_ore", + "weight": 40 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + }, + { + "block": "gtceu:raw_red_garnet_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_red_garnet_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_yellow_garnet_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_amethyst_ore", + "weight": 40 + }, + { + "block": "gtceu:dripstone_opal_ore", + "weight": 40 + }, + { + "block": "gtceu:raw_amethyst_block", + "weight": 2 + }, + { + "block": "gtceu:raw_opal_block", + "weight": 2 + }, + { + "block": "gtceu:raw_yellow_garnet_block", + "weight": 1 + }, + { + "block": "gtceu:raw_red_garnet_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:amethyst_bud_indicator", + "weight": 40 + }, + { + "block": "gtceu:red_garnet_bud_indicator", + "weight": 5 + }, + { + "block": "gtceu:yellow_garnet_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:opal_bud_indicator", + "weight": 40 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet_tin.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet_tin.json new file mode 100644 index 000000000..29b513713 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnet_tin.json @@ -0,0 +1,324 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 270, + "density": 0.35, + "min_y": 24, + "max_y": 128, + "size": 45, + "random_name": "nether_garnet_tin", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_cassiterite_sand_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_garnet_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_asbestos_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_diatomite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_cassiterite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_garnet_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_asbestos_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_cassiterite", + "weight": 35 + }, + { + "block": "gtceu:garnet_sand_indicator", + "weight": 25 + }, + { + "block": "gtceu:asbestos_indicator", + "weight": 25 + }, + { + "block": "gtceu:diatomite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnierite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnierite.json new file mode 100644 index 000000000..ef8a963c9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_garnierite.json @@ -0,0 +1,155 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.5, + "min_y": 16, + "max_y": 128, + "size": 45, + "random_name": "nether_garnierite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_garnierite_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_nickel_ore", + "weight": 10 + }, + { + "block": "gtceu:gabbro_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_pentlandite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_cobalt_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cobaltite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_garnierite_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_nickel_ore", + "weight": 10 + }, + { + "block": "gtceu:diorite_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_pentlandite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_cobalt_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cobaltite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_garnierite_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_nickel_ore", + "weight": 10 + }, + { + "block": "gtceu:pyroxenite_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:pyroxenite_pentlandite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_cobalt_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cobaltite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_garnierite", + "weight": 40 + }, + { + "block": "gtceu:pentlandite_indicator", + "weight": 25 + }, + { + "block": "gtceu:cobaltite_indicator", + "weight": 20 + }, + { + "block": "gtceu:cobalt_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_gold.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_gold.json new file mode 100644 index 000000000..ce1f21bf1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_gold.json @@ -0,0 +1,224 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 260, + "density": 0.55, + "min_y": 0, + "max_y": 128, + "size": 37, + "random_name": "nether_gold", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:gabbro_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:diorite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:gneiss_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:gneiss_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:granite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:schist_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:schist_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_goethite_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_yellow_limonite_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_gold_ore", + "weight": 75 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_limonite", + "weight": 5 + }, + { + "block": "tfc:ore/small_hematite", + "weight": 15 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 75 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_graphite.json new file mode 100644 index 000000000..ca52f0077 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_graphite.json @@ -0,0 +1,202 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "rarity": 120, + "density": 0.35, + "min_y": 0, + "max_y": 128, + "random_name": "nether_graphite", + "min_skew": 6, + "max_skew": 18, + "min_slant": 0, + "max_slant": 5, + "sign": 0, + "height": 60, + "radius": 12, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:gabbro_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:gabbro_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:gneiss_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:gneiss_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:diorite_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:diorite_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:schist_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:schist_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:granite_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_graphite_ore", + "weight": 45 + }, + { + "block": "gtceu:pyroxenite_diamond_ore", + "weight": 40 + }, + { + "block": "gtceu:pyroxenite_coal_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_graphite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diamond_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 10, + "depth": 1, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:graphite_indicator", + "weight": 45 + }, + { + "block": "gtceu:coal_indicator", + "weight": 15 + }, + { + "block": "gtceu:diamond_bud_indicator", + "weight": 40 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_hematite.json new file mode 100644 index 000000000..5b5edd376 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_hematite.json @@ -0,0 +1,205 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.45, + "min_y": 0, + "max_y": 128, + "size": 35, + "random_name": "nether_hematite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:deepslate_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_goethite_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_hematite_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_ruby_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_hematite", + "weight": 35 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 15 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 5 + }, + { + "block": "gtceu:ruby_bud_indicator", + "weight": 20 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lapis.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lapis.json new file mode 100644 index 000000000..0c2867ce2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lapis.json @@ -0,0 +1,149 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": 32, + "max_y": 128, + "size": 40, + "random_name": "nether_lapis", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_calcite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_lazurite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sodalite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lapis_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_calcite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_lazurite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sodalite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lapis_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_calcite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_lazurite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sodalite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lapis_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:calcite_indicator", + "weight": 15 + }, + { + "block": "gtceu:lazurite_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:sodalite_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:lapis_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_limonite.json new file mode 100644 index 000000000..5b6835b86 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_limonite.json @@ -0,0 +1,205 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 240, + "density": 0.45, + "min_y": 0, + "max_y": 128, + "size": 37, + "random_name": "nether_limonite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:deepslate_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_goethite_ore", + "weight": 50 + }, + { + "block": "gtceu:dripstone_yellow_limonite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_hematite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_malachite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_yellow_limonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_goethite_block", + "weight": 3 + }, + { + "block": "gtceu:raw_malachite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_hematite", + "weight": 15 + }, + { + "block": "tfc:ore/small_limonite", + "weight": 15 + }, + { + "block": "tfc:ore/small_malachite", + "weight": 10 + }, + { + "block": "gtceu:goethite_indicator", + "weight": 50 + }, + { + "block": "gtceu:malachite_bud_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lubricant.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lubricant.json new file mode 100644 index 000000000..3a961cb8a --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_lubricant.json @@ -0,0 +1,300 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 250, + "density": 0.35, + "min_y": 32, + "max_y": 128, + "size": 41, + "random_name": "nether_lubricant", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:granite_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:schist_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:gneiss_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_soapstone_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_talc_ore", + "weight": 20 + }, + { + "block": "gtceu:pyroxenite_glauconite_sand_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_pentlandite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_trona_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_soapstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_talc_block", + "weight": 1 + }, + { + "block": "gtceu:raw_glauconite_sand_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pentlandite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:soapstone_indicator", + "weight": 30 + }, + { + "block": "gtceu:talc_indicator", + "weight": 20 + }, + { + "block": "gtceu:glauconite_sand_indicator", + "weight": 25 + }, + { + "block": "gtceu:pentlandite_indicator", + "weight": 15 + }, + { + "block": "gtceu:trona_indicator", + "weight": 10 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_magnetite.json new file mode 100644 index 000000000..d2c96947e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_magnetite.json @@ -0,0 +1,205 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 205, + "density": 0.4, + "min_y": 0, + "max_y": 128, + "size": 39, + "random_name": "nether_magnetite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:deepslate_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:deepslate_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:deepslate_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + }, + { + "block": "gtceu:raw_vanadium_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:pyroxenite_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:pyroxenite_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + }, + { + "block": "gtceu:raw_vanadium_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:basalt_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + }, + { + "block": "gtceu:raw_vanadium_magnetite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_chromite_ore", + "weight": 60 + }, + { + "block": "gtceu:dripstone_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_sapphire_ore", + "weight": 5 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_gold_block", + "weight": 1 + }, + { + "block": "gtceu:raw_vanadium_magnetite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_magnetite", + "weight": 5 + }, + { + "block": "tfc:ore/small_native_gold", + "weight": 15 + }, + { + "block": "firmalife:ore/small_chromite", + "weight": 60 + }, + { + "block": "gtceu:vanadium_magnetite_indicator", + "weight": 15 + }, + { + "block": "gtceu:sapphire_bud_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_manganese.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_manganese.json new file mode 100644 index 000000000..2d0f70efa --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_manganese.json @@ -0,0 +1,185 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 195, + "density": 0.4, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_manganese", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:deepslate_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:deepslate_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:deepslate_tantalite_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_grossular_block", + "weight": 1 + }, + { + "block": "gtceu:raw_spessartine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrolusite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_tantalite_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_grossular_block", + "weight": 1 + }, + { + "block": "gtceu:raw_spessartine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrolusite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:pyroxenite_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:pyroxenite_tantalite_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_grossular_block", + "weight": 1 + }, + { + "block": "gtceu:raw_spessartine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrolusite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_grossular_ore", + "weight": 30 + }, + { + "block": "gtceu:dripstone_spessartine_ore", + "weight": 20 + }, + { + "block": "gtceu:dripstone_pyrolusite_ore", + "weight": 20 + }, + { + "block": "gtceu:dripstone_tantalite_ore", + "weight": 10 + }, + { + "block": "gtceu:raw_grossular_block", + "weight": 1 + }, + { + "block": "gtceu:raw_spessartine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrolusite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:pyrolusite_indicator", + "weight": 20 + }, + { + "block": "gtceu:tantalite_indicator", + "weight": 10 + }, + { + "block": "gtceu:grossular_bud_indicator", + "weight": 30 + }, + { + "block": "gtceu:spessartine_bud_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_mica.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_mica.json new file mode 100644 index 000000000..b56efb749 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_mica.json @@ -0,0 +1,272 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.35, + "min_y": 32, + "max_y": 128, + "size": 41, + "random_name": "nether_mica", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_kyanite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_mica_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_bauxite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_pollucite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_kyanite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_mica_block", + "weight": 1 + }, + { + "block": "gtceu:raw_bauxite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pollucite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:kyanite_indicator", + "weight": 35 + }, + { + "block": "gtceu:mica_indicator", + "weight": 25 + }, + { + "block": "gtceu:bauxite_indicator", + "weight": 25 + }, + { + "block": "gtceu:pollucite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_molybdenum.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_molybdenum.json new file mode 100644 index 000000000..3a670bc01 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_molybdenum.json @@ -0,0 +1,224 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 245, + "density": 0.55, + "min_y": 0, + "max_y": 128, + "size": 31, + "random_name": "nether_molybdenum", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:gneiss_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:schist_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:granite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:diorite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:gabbro_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_wulfenite_ore", + "weight": 40 + }, + { + "block": "gtceu:pyroxenite_molybdenite_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_molybdenum_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_powellite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_wulfenite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_molybdenite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:wulfenite_indicator", + "weight": 40 + }, + { + "block": "gtceu:molybdenite_indicator", + "weight": 30 + }, + { + "block": "gtceu:molybdenum_indicator", + "weight": 15 + }, + { + "block": "gtceu:powellite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_monazite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_monazite.json new file mode 100644 index 000000000..a13ec81e0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_monazite.json @@ -0,0 +1,220 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 185, + "density": 0.35, + "min_y": 24, + "max_y": 128, + "size": 45, + "random_name": "nether_monazite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:granite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:gabbro_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_neodymium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_monazite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_neodymium_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:bastnasite_indicator", + "weight": 50 + }, + { + "block": "gtceu:neodymium_indicator", + "weight": 25 + }, + { + "block": "gtceu:monazite_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_naquadah.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_naquadah.json new file mode 100644 index 000000000..e774cbd0c --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_naquadah.json @@ -0,0 +1,77 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 250, + "density": 0.30, + "min_y": 0, + "max_y": 38, + "size": 32, + "random_name": "nether_naquadah", + "blocks": [ + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_naquadah_ore", + "weight": 75 + }, + { + "block": "gtceu:pyroxenite_plutonium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_naquadah_block", + "weight": 2 + }, + { + "block": "gtceu:raw_plutonium_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_naquadah_ore", + "weight": 75 + }, + { + "block": "gtceu:basalt_plutonium_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_naquadah_block", + "weight": 2 + }, + { + "block": "gtceu:raw_plutonium_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:naquadah_indicator", + "weight": 75 + }, + { + "block": "gtceu:plutonium_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_olivine.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_olivine.json new file mode 100644 index 000000000..7d79f8af2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_olivine.json @@ -0,0 +1,185 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 250, + "density": 0.35, + "min_y": 24, + "max_y": 128, + "size": 31, + "random_name": "nether_olivine", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_glauconite_sand_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bentonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_magnesite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_olivine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_glauconite_sand_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bentonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_magnesite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_olivine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_glauconite_sand_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bentonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_magnesite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_olivine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_bentonite_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_magnesite_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_olivine_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_glauconite_sand_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bentonite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_magnesite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_olivine_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:bentonite_indicator", + "weight": 35 + }, + { + "block": "gtceu:magnesite_indicator", + "weight": 25 + }, + { + "block": "gtceu:glauconite_sand_indicator", + "weight": 15 + }, + { + "block": "gtceu:olivine_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_pitchblende.json new file mode 100644 index 000000000..68888ff38 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_pitchblende.json @@ -0,0 +1,168 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 220, + "density": 0.55, + "min_y": 0, + "max_y": 128, + "size": 29, + "random_name": "nether_pitchblende", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:granite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:gabbro_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_pitchblende_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_uraninite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:raw_uraninite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:pitchblende_indicator", + "weight": 50 + }, + { + "block": "gtceu:uraninite_indicator", + "weight": 50 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_quartz.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_quartz.json new file mode 100644 index 000000000..a1fad095e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_quartz.json @@ -0,0 +1,230 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 150, + "density": 0.4, + "min_y": 0, + "max_y": 128, + "size": 45, + "random_name": "nether_quartz", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:deepslate_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:deepslate_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:pyroxenite_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:basalt_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:basalt_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:dripstone_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:dripstone_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:granite_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:diorite_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:diorite_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_quartzite_ore", + "weight": 30 + }, + { + "block": "gtceu:gabbro_nether_quartz_ore", + "weight": 65 + }, + { + "block": "gtceu:gabbro_barite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_nether_quartz_block", + "weight": 2 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:barite_indicator", + "weight": 25 + }, + { + "block": "gtceu:nether_quartz_bud_indicator", + "weight": 65 + }, + { + "block": "gtceu:quartzite_bud_indicator", + "weight": 30 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_redstone.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_redstone.json new file mode 100644 index 000000000..c7aa20d08 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_redstone.json @@ -0,0 +1,96 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.5, + "min_y": 0, + "max_y": 128, + "size": 45, + "random_name": "nether_redstone", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_redstone_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_ruby_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_cinnabar_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_redstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cinnabar_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_redstone_ore", + "weight": 45 + }, + { + "block": "gtceu:pyroxenite_ruby_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_cinnabar_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_redstone_block", + "weight": 1 + }, + { + "block": "gtceu:raw_ruby_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cinnabar_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:redstone_indicator", + "weight": 45 + }, + { + "block": "gtceu:ruby_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:cinnabar_bud_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_saltpeter.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_saltpeter.json new file mode 100644 index 000000000..ce6e2ee08 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_saltpeter.json @@ -0,0 +1,248 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 210, + "density": 0.4, + "min_y": 32, + "max_y": 128, + "size": 50, + "random_name": "nether_saltpeter", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_saltpeter_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_diatomite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_electrotine_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_alunite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_saltpeter_block", + "weight": 1 + }, + { + "block": "gtceu:raw_diatomite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_electrotine_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:saltpeter_indicator", + "weight": 35 + }, + { + "block": "gtceu:diatomite_indicator", + "weight": 25 + }, + { + "block": "gtceu:electrotine_indicator", + "weight": 25 + }, + { + "block": "gtceu:alunite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sapphire.json new file mode 100644 index 000000000..d8d40fceb --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sapphire.json @@ -0,0 +1,273 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 180, + "density": 0.45, + "min_y": 0, + "max_y": 128, + "size": 33, + "random_name": "nether_sapphire", + "height": 8, + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:gabbro_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:granite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:granite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:gneiss_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:gneiss_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:diorite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:schist_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:schist_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:pyroxenite_green_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sapphire_block", + "weight": 1 + }, + { + "block": "gtceu:raw_green_sapphire_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:almandine_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:pyrope_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:sapphire_bud_indicator", + "weight": 15 + }, + { + "block": "gtceu:green_sapphire_bud_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_scheelite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_scheelite.json new file mode 100644 index 000000000..955f9e7bb --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_scheelite.json @@ -0,0 +1,220 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 180, + "density": 0.45, + "min_y": 0, + "max_y": 128, + "size": 25, + "random_name": "nether_scheelite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:granite_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:diorite_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:gabbro_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:gneiss_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:schist_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_scheelite_ore", + "weight": 45 + }, + { + "block": "gtceu:pyroxenite_tungstate_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_lithium_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_scheelite_block", + "weight": 2 + }, + { + "block": "gtceu:raw_lithium_block", + "weight": 1 + }, + { + "block": "gtceu:raw_tungstate_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:scheelite_indicator", + "weight": 45 + }, + { + "block": "gtceu:tungstate_indicator", + "weight": 35 + }, + { + "block": "gtceu:lithium_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sheldonite.json new file mode 100644 index 000000000..3ce9ea59f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sheldonite.json @@ -0,0 +1,185 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 250, + "density": 0.4, + "min_y": 0, + "max_y": 128, + "size": 35, + "random_name": "nether_sheldonite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_platinum_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_palladium_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_cooperite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_platinum_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:bornite_indicator", + "weight": 35 + }, + { + "block": "gtceu:cooperite_indicator", + "weight": 25 + }, + { + "block": "gtceu:platinum_indicator", + "weight": 25 + }, + { + "block": "gtceu:palladium_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_silver.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_silver.json new file mode 100644 index 000000000..62ab53079 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_silver.json @@ -0,0 +1,127 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 160, + "density": 0.5, + "min_y": 24, + "max_y": 128, + "size": 45, + "random_name": "nether_silver", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:granite_silver_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_lead_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_galena_block", + "weight": 1 + }, + { + "block": "gtceu:raw_silver_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lead_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_silver_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_lead_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_galena_block", + "weight": 1 + }, + { + "block": "gtceu:raw_silver_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lead_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_silver_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_lead_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_galena_block", + "weight": 1 + }, + { + "block": "gtceu:raw_silver_block", + "weight": 1 + }, + { + "block": "gtceu:raw_lead_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_native_silver", + "weight": 50 + }, + { + "block": "gtceu:galena_indicator", + "weight": 25 + }, + { + "block": "gtceu:lead_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sphalerite.json new file mode 100644 index 000000000..cb06e49dc --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sphalerite.json @@ -0,0 +1,165 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.5, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_sphalerite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:deepslate_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:pyroxenite_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_sulfur_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_sphalerite_ore", + "weight": 40 + }, + { + "block": "gtceu:dripstone_pyrite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 1 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_sphalerite", + "weight": 40 + }, + { + "block": "gtceu:sulfur_indicator", + "weight": 35 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sulfur.json new file mode 100644 index 000000000..65ccb7c54 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sulfur.json @@ -0,0 +1,159 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 165, + "density": 0.3, + "min_y": 0, + "max_y": 128, + "size": 50, + "random_name": "nether_sulfur", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:diorite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:sulfur_indicator", + "weight": 50 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 35 + }, + { + "block": "tfc:ore/small_sphalerite", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_tetrahedrite.json new file mode 100644 index 000000000..99367db71 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_tetrahedrite.json @@ -0,0 +1,175 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "rarity": 170, + "density": 0.5, + "min_y": 32, + "max_y": 128, + "size": 45, + "random_name": "nether_tetrahedrite", + "blocks": [ + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:deepslate_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:deepslate_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:dripstone_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:dripstone_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:schist_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:schist_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:gneiss_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:gneiss_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:pyroxenite_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:pyroxenite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 2 + }, + { + "block": "minecraft:raw_copper_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "tfc:ore/small_tetrahedrite", + "weight": 50 + }, + { + "block": "tfc:ore/small_native_copper", + "weight": 30 + }, + { + "block": "gtceu:stibnite_indicator", + "weight": 20 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_topaz.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_topaz.json new file mode 100644 index 000000000..423abd93d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_topaz.json @@ -0,0 +1,186 @@ +{ + "type": "tfc:disc_vein", + "config": { + "rarity": 180, + "density": 0.4, + "min_y": 0, + "max_y": 128, + "size": 33, + "random_name": "nether_topaz", + "height": 7, + "blocks": [ + { + "replace": [ + "minecraft:blackstone", + "minecraft:magma_block" + ], + "with": [ + { + "block": "gtceu:pyroxenite_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:pyroxenite_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:pyroxenite_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:deepslate", + "tfc:mud/silty_loam", + "beneath:soul_clay", + "tfc:dirt/loam", + "tfc:mud/loam", + "tfc:peat", + "tfc:dirt/silty_loam" + ], + "with": [ + { + "block": "gtceu:deepslate_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:deepslate_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:deepslate_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:basalt", + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:basalt_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_blue_topaz_ore", + "weight": 35 + }, + { + "block": "gtceu:dripstone_topaz_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_chalcocite_ore", + "weight": 25 + }, + { + "block": "gtceu:dripstone_bornite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_blue_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_topaz_block", + "weight": 1 + }, + { + "block": "gtceu:raw_chalcocite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 1, + "underground_rarity": 40, + "underground_count": 150, + "blocks": [ + { + "block": "gtceu:chalcocite_indicator", + "weight": 25 + }, + { + "block": "gtceu:bornite_indicator", + "weight": 15 + }, + { + "block": "gtceu:blue_topaz_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:topaz_bud_indicator", + "weight": 25 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json deleted file mode 100644 index f8a3267d8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,369 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 230, - "density": 0.25, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_garnet_amethyst", - "height": 8, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:quartzite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:quartzite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:slate_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:slate_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:slate_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:phyllite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:phyllite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:phyllite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:schist_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:schist_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:gneiss_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:gneiss_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:marble_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:marble_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:shale_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:shale_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:claystone_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:claystone_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:limestone_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:limestone_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:conglomerate_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:conglomerate_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:dolomite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:dolomite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:chert_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:chert_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:chalk_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:chalk_opal_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 20, - "depth": 35, - "underground_rarity": 80, - "underground_count": 1000, - "blocks": [ - { - "block": "minecraft:small_amethyst_bud", - "weight": 30 - }, - { - "block": "minecraft:medium_amethyst_bud", - "weight": 20 - }, - { - "block": "minecraft:large_amethyst_bud", - "weight": 15 - }, - { - "block": "tfg:buds/small_red_garnet_bud", - "weight": 3 - }, - { - "block": "tfg:buds/medium_red_garnet_bud", - "weight": 2 - }, - { - "block": "tfg:buds/large_red_garnet_bud", - "weight": 1 - }, - { - "block": "tfg:buds/small_yellow_garnet_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_yellow_garnet_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_yellow_garnet_bud", - "weight": 3 - }, - { - "block": "tfg:buds/small_opal_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_opal_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_opal_bud", - "weight": 3 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json deleted file mode 100644 index 5752b0a7b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 62, - "size": 26, - "random_name": "deep_garnet_opal", - "height": 6, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_opal_ore", - "weight": 55 - } - ] - } - ], - "indicator": { - "rarity": 20, - "depth": 35, - "underground_rarity": 80, - "underground_count": 1000, - "blocks": [ - { - "block": "minecraft:small_amethyst_bud", - "weight": 15 - }, - { - "block": "minecraft:medium_amethyst_bud", - "weight": 10 - }, - { - "block": "minecraft:large_amethyst_bud", - "weight": 5 - }, - { - "block": "tfg:buds/small_red_garnet_bud", - "weight": 3 - }, - { - "block": "tfg:buds/medium_red_garnet_bud", - "weight": 2 - }, - { - "block": "tfg:buds/large_red_garnet_bud", - "weight": 1 - }, - { - "block": "tfg:buds/small_yellow_garnet_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_yellow_garnet_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_yellow_garnet_bud", - "weight": 3 - }, - { - "block": "tfg:buds/small_opal_bud", - "weight": 30 - }, - { - "block": "tfg:buds/medium_opal_bud", - "weight": 12 - }, - { - "block": "tfg:buds/large_opal_bud", - "weight": 8 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json deleted file mode 100644 index af3955006..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 260, - "density": 0.45, - "min_y": -64, - "max_y": 30, - "size": 32, - "random_name": "deep_gold", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_gold_ore", - "weight": 75 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 1000, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 25 - }, - { - "block": "tfc:ore/small_hematite", - "weight": 25 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 50 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json deleted file mode 100644 index b81c574be..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 30, - "size": 30, - "random_name": "deep_hematite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_ruby_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 1000, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 40 - }, - { - "block": "tfc:ore/small_limonite", - "weight": 40 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 20 - }, - { - "block": "tfg:buds/small_ruby_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_ruby_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_ruby_bud", - "weight": 3 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json deleted file mode 100644 index e957c9495..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 240, - "density": 0.35, - "min_y": -64, - "max_y": 30, - "size": 32, - "random_name": "deep_limonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_goethite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_malachite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_goethite_ore", - "weight": 50 - }, - { - "block": "gtceu:limestone_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_malachite_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 1000, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 30 - }, - { - "block": "tfc:ore/small_limonite", - "weight": 30 - }, - { - "block": "tfc:ore/small_malachite", - "weight": 40 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json deleted file mode 100644 index b10355562..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 205, - "density": 0.3, - "min_y": -64, - "max_y": 30, - "size": 34, - "random_name": "deep_magnetite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:shale_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:shale_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:claystone_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:claystone_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:limestone_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:limestone_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:conglomerate_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:conglomerate_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:dolomite_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:dolomite_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:chert_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:chert_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:chalk_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:chalk_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_sapphire_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 1000, - "blocks": [ - { - "block": "tfc:ore/small_magnetite", - "weight": 20 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 10 - }, - { - "block": "gtceu:chromite_indicator", - "weight": 60 - }, - { - "block": "tfg:buds/small_sapphire_bud", - "weight": 3 - }, - { - "block": "tfg:buds/medium_sapphire_bud", - "weight": 2 - }, - { - "block": "tfg:buds/large_sapphire_bud", - "weight": 1 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json deleted file mode 100644 index a7cf92c2f..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 245, - "density": 0.45, - "min_y": -64, - "max_y": 10, - "size": 26, - "random_name": "deep_molybdenum", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:granite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:diorite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:diorite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:gabbro_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_powellite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:wulfenite_indicator", - "weight": 40 - }, - { - "block": "gtceu:molybdenite_indicator", - "weight": 30 - }, - { - "block": "gtceu:molybdenum_indicator", - "weight": 15 - }, - { - "block": "gtceu:powellite_indicator", - "weight": 15 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json deleted file mode 100644 index 09f8bcbba..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 310, - "density": 0.30, - "min_y": -64, - "max_y": -20, - "size": 32, - "random_name": "deep_naquadah", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:quartzite_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:slate_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:phyllite_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:schist_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:gneiss_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:marble_plutonium_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:naquadah_indicator", - "weight": 75 - }, - { - "block": "gtceu:plutonium_indicator", - "weight": 25 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json deleted file mode 100644 index ff9b8987b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.45, - "min_y": -64, - "max_y": -20, - "size": 24, - "random_name": "deep_pitchblende", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:quartzite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:slate_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:phyllite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:schist_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:gneiss_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_uraninite_ore", - "weight": 50 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:pitchblende_indicator", - "weight": 50 - }, - { - "block": "gtceu:uraninite_indicator", - "weight": 50 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json deleted file mode 100644 index 60c9b494d..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 180, - "density": 0.35, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_sapphire", - "height": 8, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_green_sapphire_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "tfg:buds/small_almandine_bud", - "weight": 20 - }, - { - "block": "tfg:buds/medium_almandine_bud", - "weight": 12 - }, - { - "block": "tfg:buds/large_almandine_bud", - "weight": 8 - }, - { - "block": "tfg:buds/small_pyrope_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_pyrope_bud", - "weight": 6 - }, - { - "block": "tfg:buds/large_pyrope_bud", - "weight": 4 - }, - { - "block": "tfg:buds/small_sapphire_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_sapphire_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_sapphire_bud", - "weight": 3 - }, - { - "block": "tfg:buds/small_green_sapphire_bud", - "weight": 7 - }, - { - "block": "tfg:buds/medium_green_sapphire_bud", - "weight": 5 - }, - { - "block": "tfg:buds/large_green_sapphire_bud", - "weight": 3 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json deleted file mode 100644 index 680c5f37c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 0, - "size": 28, - "random_name": "deep_scheelite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:granite_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_lithium_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:diorite_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_lithium_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:gabbro_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_lithium_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:scheelite_indicator", - "weight": 45 - }, - { - "block": "gtceu:tungstate_indicator", - "weight": 35 - }, - { - "block": "gtceu:lithium_indicator", - "weight": 20 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json deleted file mode 100644 index 8eb70c26c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 300, - "density": 0.3, - "min_y": -64, - "max_y": 0, - "size": 30, - "random_name": "deep_sheldonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_palladium_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:bornite_indicator", - "weight": 35 - }, - { - "block": "gtceu:cooperite_indicator", - "weight": 25 - }, - { - "block": "gtceu:platinum_indicator", - "weight": 25 - }, - { - "block": "gtceu:palladium_indicator", - "weight": 15 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json deleted file mode 100644 index bc9d5d224..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 260, - "density": 0.3, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_topaz", - "height": 7, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_bornite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 500, - "blocks": [ - { - "block": "gtceu:chalcocite_indicator", - "weight": 25 - }, - { - "block": "gtceu:bornite_indicator", - "weight": 15 - }, - { - "block": "tfg:buds/small_blue_topaz_bud", - "weight": 20 - }, - { - "block": "tfg:buds/medium_blue_topaz_bud", - "weight": 10 - }, - { - "block": "tfg:buds/large_blue_topaz_bud", - "weight": 10 - }, - { - "block": "tfg:buds/small_topaz_bud", - "weight": 15 - }, - { - "block": "tfg:buds/medium_topaz_bud", - "weight": 10 - }, - { - "block": "tfg:buds/large_topaz_bud", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json deleted file mode 100644 index 6bdf40e61..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.25, - "min_y": -32, - "max_y": 60, - "size": 34, - "random_name": "normal_apatite_", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:quartzite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:slate_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:phyllite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:schist_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:gneiss_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_pyrochlore_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:tricalcium_phosphate_indicator", - "weight": 35 - }, - { - "block": "gtceu:pyrochlore_indicator", - "weight": 15 - }, - { - "block": "tfg:buds/small_apatite_bud", - "weight": 30 - }, - { - "block": "tfg:buds/medium_apatite_bud", - "weight": 20 - }, - { - "block": "tfg:buds/large_apatite_bud", - "weight": 10 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json deleted file mode 100644 index a9a42837e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 185, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_bauxite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:claystone_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:limestone_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:conglomerate_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:conglomerate_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:dolomite_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:dolomite_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:chert_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:chert_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:chalk_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:chalk_aluminium_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:bauxite_indicator", - "weight": 45 - }, - { - "block": "gtceu:ilmenite_indicator", - "weight": 30 - }, - { - "block": "gtceu:aluminium_indicator", - "weight": 25 - }, - { - "block": "tfg:buds/small_rutile_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_rutile_bud", - "weight": 7 - }, - { - "block": "tfg:buds/large_rutile_bud", - "weight": 4 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json deleted file mode 100644 index 8afd21b18..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "type": "tfc:pipe_vein", - "config": { - "rarity": 180, - "density": 0.35, - "min_y": -32, - "max_y": 50, - "random_name": "normal_beryllium", - "min_skew": 6, - "max_skew": 18, - "min_slant": 0, - "max_slant": 4, - "sign": 0, - "height": 60, - "radius": 10, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_thorium_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:beryllium_indicator", - "weight": 35 - }, - { - "block": "gtceu:thorium_indicator", - "weight": 15 - }, - { - "block": "tfg:buds/small_emerald_bud", - "weight": 35 - }, - { - "block": "tfg:buds/medium_emerald_bud", - "weight": 25 - }, - { - "block": "tfg:buds/large_emerald_bud", - "weight": 15 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json deleted file mode 100644 index 55da0b95c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_bismuthinite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:granite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:diorite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:diorite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:gabbro_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:gabbro_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:shale_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:shale_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:claystone_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:claystone_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:limestone_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:limestone_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:conglomerate_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:conglomerate_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:dolomite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:dolomite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:chert_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:chert_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:chalk_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:chalk_lead_ore", - "weight": 11 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 40, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_bismuthinite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json deleted file mode 100644 index f043908f7..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_cassiterite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:granite_tin_ore", - "weight": 60 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:diorite_tin_ore", - "weight": 60 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:gabbro_tin_ore", - "weight": 60 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json deleted file mode 100644 index b1eb01a95..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 150, - "density": 0.3, - "min_y": -32, - "max_y": 100, - "size": 40, - "random_name": "normal_certus_quartz", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:quartzite_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:quartzite_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:schist_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:schist_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:gneiss_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_nether_quartz_ore", - "weight": 10 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 40, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:barite_indicator", - "weight": 20 - }, - { - "block": "ae2:small_quartz_bud", - "weight": 20 - }, - { - "block": "ae2:medium_quartz_bud", - "weight": 10 - }, - { - "block": "ae2:large_quartz_bud", - "weight": 5 - }, - { - "block": "tfg:buds/small_quartzite_bud", - "weight": 30 - }, - { - "block": "tfg:buds/medium_quartzite_bud", - "weight": 15 - }, - { - "block": "tfg:buds/large_quartzite_bud", - "weight": 10 - }, - { - "block": "tfg:buds/small_nether_quartz_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_nether_quartz_bud", - "weight": 6 - }, - { - "block": "tfg:buds/large_nether_quartz_bud", - "weight": 4 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json deleted file mode 100644 index e75f7ec04..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 215, - "density": 0.55, - "min_y": 0, - "max_y": 210, - "size": 60, - "random_name": "normal_coal", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_coal_ore", - "weight": 100 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:coal_indicator", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json deleted file mode 100644 index dbb2bee3c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_copper", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:rhyolite_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:basalt_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:andesite_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:dacite_copper_ore", - "weight": 65 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 85, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_native_copper", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json deleted file mode 100644 index da7a37ba4..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,485 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 360, - "density": 0.25, - "min_y": -40, - "max_y": 64, - "size": 40, - "random_name": "normal_garnet_tin", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:shale_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:claystone_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:limestone_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:conglomerate_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:dolomite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:chert_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:chalk_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_diatomite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json deleted file mode 100644 index 606504638..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.4, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_garnierite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_garnierite_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_nickel_ore", - "weight": 10 - }, - { - "block": "gtceu:gabbro_cobaltite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_pentlandite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_cobalt_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_garnierite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json deleted file mode 100644 index b01f28c66..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_gold", - "height": 12, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_gold_ore", - "weight": 55 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 25 - }, - { - "block": "tfc:ore/small_hematite", - "weight": 25 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 50 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json deleted file mode 100644 index d7bd51da5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "type": "tfc:pipe_vein", - "config": { - "rarity": 175, - "density": 0.35, - "min_y": -64, - "max_y": 100, - "random_name": "normal_graphite", - "min_skew": 6, - "max_skew": 18, - "min_slant": 0, - "max_slant": 5, - "sign": 0, - "height": 60, - "radius": 12, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:gabbro_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_coal_ore", - "weight": 30 - } - ] - } - ], - "indicator": { - "rarity": 10, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:graphite_indicator", - "weight": 45 - }, - { - "block": "gtceu:coal_indicator", - "weight": 39 - }, - { - "block": "tfg:buds/small_diamond_bud", - "weight": 12 - }, - { - "block": "tfg:buds/medium_diamond_bud", - "weight": 8 - }, - { - "block": "tfg:buds/large_diamond_bud", - "weight": 6 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json deleted file mode 100644 index afd20c678..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 210, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_hematite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 50, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 70 - }, - { - "block": "tfc:ore/small_limonite", - "weight": 20 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 10 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json deleted file mode 100644 index a4a444157..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.25, - "min_y": -60, - "max_y": 10, - "size": 50, - "random_name": "normal_lapis", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_calcite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:calcite_indicator", - "weight": 15 - }, - { - "block": "tfg:buds/small_lazurite_bud", - "weight": 30 - }, - { - "block": "tfg:buds/medium_lazurite_bud", - "weight": 20 - }, - { - "block": "tfg:buds/large_lazurite_bud", - "weight": 10 - }, - { - "block": "tfg:buds/small_sodalite_bud", - "weight": 20 - }, - { - "block": "tfg:buds/medium_sodalite_bud", - "weight": 12 - }, - { - "block": "tfg:buds/large_sodalite_bud", - "weight": 8 - }, - { - "block": "tfg:buds/small_lapis_bud", - "weight": 20 - }, - { - "block": "tfg:buds/medium_lapis_bud", - "weight": 12 - }, - { - "block": "tfg:buds/large_lapis_bud", - "weight": 8 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json deleted file mode 100644 index 092a5e629..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_limonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_yellow_limonite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:marble_malachite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_yellow_limonite_ore", - "weight": 50 - }, - { - "block": "gtceu:limestone_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_malachite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 50, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 65 - }, - { - "block": "tfc:ore/small_hematite", - "weight": 20 - }, - { - "block": "tfc:ore/small_malachite", - "weight": 15 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json deleted file mode 100644 index 0cd0c29df..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 200, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_magnetite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:shale_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:shale_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:claystone_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:claystone_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:limestone_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:limestone_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:conglomerate_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:conglomerate_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:dolomite_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:dolomite_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:chert_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:chert_chromite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:chalk_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_gold_ore", - "weight": 10 - }, - { - "block": "gtceu:chalk_chromite_ore", - "weight": 10 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_magnetite", - "weight": 80 - }, - { - "block": "tfc:ore/small_native_gold", - "weight": 20 - } - ] - } - } -} diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json deleted file mode 100644 index 3e2d889ef..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json +++ /dev/null @@ -1,306 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 195, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_manganese", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:shale_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:shale_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:claystone_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:claystone_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:conglomerate_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:conglomerate_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:conglomerate_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:dolomite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:dolomite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:dolomite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:chert_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:chert_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:chert_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:chalk_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:chalk_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:chalk_tantalite_ore", - "weight": 10 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:pyrolusite_indicator", - "weight": 20 - }, - { - "block": "gtceu:tantalite_indicator", - "weight": 10 - }, - { - "block": "tfg:buds/small_grossular_bud", - "weight": 16 - }, - { - "block": "tfg:buds/medium_grossular_bud", - "weight": 9 - }, - { - "block": "tfg:buds/large_grossular_bud", - "weight": 5 - }, - { - "block": "tfg:buds/small_spessartine_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_spessartine_bud", - "weight": 7 - }, - { - "block": "tfg:buds/large_spessartine_bud", - "weight": 3 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json deleted file mode 100644 index c808b02c0..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 185, - "density": 0.25, - "min_y": -32, - "max_y": 50, - "size": 40, - "random_name": "normal_monazite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_neodymium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_neodymium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_neodymium_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:bastnasite_indicator", - "weight": 50 - }, - { - "block": "gtceu:neodymium_indicator", - "weight": 25 - }, - { - "block": "tfg:buds/small_monazite_bud", - "weight": 14 - }, - { - "block": "tfg:buds/medium_monazite_bud", - "weight": 8 - }, - { - "block": "tfg:buds/large_monazite_bud", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json deleted file mode 100644 index 7d22ac868..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 185, - "density": 0.20, - "min_y": 0, - "max_y": 70, - "size": 55, - "random_name": "normal_oilsands", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_oilsands_ore", - "weight": 100 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:oilsands_indicator", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json deleted file mode 100644 index a11a2bc21..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 180, - "density": 0.25, - "min_y": -40, - "max_y": 30, - "size": 26, - "random_name": "normal_olivine", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_glauconite_sand_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:bentonite_indicator", - "weight": 35 - }, - { - "block": "gtceu:magnesite_indicator", - "weight": 25 - }, - { - "block": "gtceu:glauconite_sand_indicator", - "weight": 15 - }, - { - "block": "tfg:buds/small_olivine_bud", - "weight": 15 - }, - { - "block": "tfg:buds/medium_olivine_bud", - "weight": 10 - }, - { - "block": "tfg:buds/large_olivine_bud", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json deleted file mode 100644 index 95e0a9956..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 160, - "density": 0.4, - "min_y": -32, - "max_y": 100, - "size": 40, - "random_name": "normal_redstone", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:granite_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_cinnabar_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "minecraft:redstone_wire", - "weight": 45 - }, - { - "block": "tfg:buds/small_ruby_bud", - "weight": 20 - }, - { - "block": "tfg:buds/medium_ruby_bud", - "weight": 12 - }, - { - "block": "tfg:buds/large_ruby_bud", - "weight": 8 - }, - { - "block": "tfg:buds/small_cinnabar_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_cinnabar_bud", - "weight": 6 - }, - { - "block": "tfg:buds/large_cinnabar_bud", - "weight": 4 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json deleted file mode 100644 index f36e3c397..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 175, - "density": 0.4, - "min_y": 30, - "max_y": 70, - "size": 40, - "random_name": "normal_salt", - "height": 4, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:shale_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_borax_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:claystone_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_borax_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:limestone_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_borax_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 4, - "depth": 20, - "underground_rarity": 80, - "underground_count": 1000, - "blocks": [ - { - "block": "gtceu:rock_salt_indicator", - "weight": 6 - }, - { - "block": "tfc:groundcover/salt_lick", - "weight": 80 - }, - { - "block": "gtceu:lepidolite_indicator", - "weight": 6 - }, - { - "block": "gtceu:borax_indicator", - "weight": 6 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json deleted file mode 100644 index ec6e9d918..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 160, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_silver", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_galena_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_silver_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_galena_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_silver_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_lead_ore", - "weight": 55 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_native_silver", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json deleted file mode 100644 index 571091f22..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_sphalerite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_pyrite_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_sphalerite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json deleted file mode 100644 index 730ff9f98..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,245 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 180, - "density": 0.375, - "min_y": 20, - "max_y": 60, - "size": 35, - "random_name": "normal_spodumene", - "height": 6, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:diorite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:quartzite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:quartzite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:slate_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:slate_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:slate_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:phyllite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:phyllite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:phyllite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:schist_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:schist_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:gneiss_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:marble_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:marble_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_spodumene_ore", - "weight": 35 - } - ] - } - ], - "indicator": { - "rarity": 4, - "depth": 20, - "underground_rarity": 80, - "underground_count": 1000, - "blocks": [ - { - "block": "gtceu:rock_salt_indicator", - "weight": 6 - }, - { - "block": "tfc:groundcover/salt_lick", - "weight": 80 - }, - { - "block": "gtceu:lepidolite_indicator", - "weight": 6 - }, - { - "block": "gtceu:spodumene_indicator", - "weight": 6 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json deleted file mode 100644 index 0055b2692..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 165, - "density": 0.2, - "min_y": 0, - "max_y": 210, - "size": 45, - "random_name": "normal_sulfur", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "gtceu:sulfur_indicator", - "weight": 50 - }, - { - "block": "gtceu:pyrite_indicator", - "weight": 35 - }, - { - "block": "gtceu:sphalerite_indicator", - "weight": 15 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json deleted file mode 100644 index 0646c98b1..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_tetrahedrite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 30 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 70 - }, - { - "block": "tfc:ore/small_native_copper", - "weight": 30 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json deleted file mode 100644 index e5d022c79..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_bismuthinite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:granite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:diorite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:diorite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:gabbro_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:gabbro_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:shale_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:shale_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:claystone_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:claystone_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:limestone_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:limestone_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:conglomerate_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:conglomerate_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:dolomite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:dolomite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:chert_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:chert_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:chalk_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:chalk_lead_ore", - "weight": 7 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_bismuthinite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json deleted file mode 100644 index 65a3b2571..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 20, - "max_y": 150, - "size": 50, - "random_name": "surface_copper", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:rhyolite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:basalt_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:andesite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:dacite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_realgar_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 8, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_copper", - "weight": 40 - }, - { - "block": "tfc:ore/small_cassiterite", - "weight": 40 - }, - { - "block": "tfg:buds/small_realgar_bud", - "weight": 10 - }, - { - "block": "tfg:buds/medium_realgar_bud", - "weight": 6 - }, - { - "block": "tfg:buds/large_realgar_bud", - "weight": 4 - } - ] - } - } -} diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json deleted file mode 100644 index adc296296..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 145, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_sphalerite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:quartzite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:slate_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:phyllite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:schist_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:gneiss_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:marble_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_pyrite_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_sphalerite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json deleted file mode 100644 index 39ba69b1a..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_tetrahedrite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 20 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 20 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 80 - }, - { - "block": "tfc:ore/small_native_copper", - "weight": 20 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise/nether_cracks.json b/kubejs/data/tfg/worldgen/noise/nether_cracks.json new file mode 100644 index 000000000..e7001c37c --- /dev/null +++ b/kubejs/data/tfg/worldgen/noise/nether_cracks.json @@ -0,0 +1,9 @@ +{ + "amplitudes": [ + 10, + -10, + 10, + -10 + ], + "firstOctave": -5 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise_settings/nether.json b/kubejs/data/tfg/worldgen/noise_settings/nether.json new file mode 100644 index 000000000..33ead9100 --- /dev/null +++ b/kubejs/data/tfg/worldgen/noise_settings/nether.json @@ -0,0 +1,853 @@ +{ + "aquifers_enabled": false, + "default_block": { + "Name": "minecraft:deepslate" + }, + "default_fluid": { + "Name": "minecraft:lava" + }, + "disable_mob_generation": false, + "legacy_random_source": true, + "noise": { + "height": 128, + "min_y": 0, + "size_horizontal": 1, + "size_vertical": 1 + }, + "noise_router": { + "barrier": 0.0, + "continents": "minecraft:overworld/continents", + "depth": "minecraft:overworld/depth", + "erosion": "minecraft:overworld/erosion", + "final_density": { + "type": "minecraft:squeeze", + "argument": { + "type": "minecraft:mul", + "argument1": 0.64, + "argument2": { + "type": "minecraft:interpolated", + "argument": { + "type": "minecraft:blend_density", + "argument": { + "type": "minecraft:add", + "argument1": 2.5, + "argument2": { + "type": "minecraft:mul", + "argument1": { + "type": "minecraft:y_clamped_gradient", + "from_value": 0.0, + "from_y": -8, + "to_value": 1.0, + "to_y": 38 + }, + "argument2": { + "type": "minecraft:add", + "argument1": -2.5, + "argument2": { + "type": "minecraft:add", + "argument1": 0.96, + "argument2": { + "type": "minecraft:mul", + "argument1": { + "type": "minecraft:y_clamped_gradient", + "from_value": 1.0, + "from_y": 118, + "to_value": 0.0, + "to_y": 128 + }, + "argument2": { + "type": "minecraft:add", + "argument1": -0.9375, + "argument2": "minecraft:nether/base_3d_noise" + } + } + } + } + } + } + } + } + } + }, + "fluid_level_floodedness": 0.0, + "fluid_level_spread": 0.0, + "initial_density_without_jaggedness": 0.0, + "lava": 0.0, + "ridges": "minecraft:overworld/ridges", + "temperature": { + "type": "minecraft:shifted_noise", + "noise": "minecraft:temperature", + "shift_x": "minecraft:shift_x", + "shift_y": 0.0, + "shift_z": "minecraft:shift_z", + "xz_scale": 0.25, + "y_scale": 0.0 + }, + "vegetation": { + "type": "minecraft:shifted_noise", + "noise": "minecraft:vegetation", + "shift_x": "minecraft:shift_x", + "shift_y": 0.0, + "shift_z": "minecraft:shift_z", + "xz_scale": 0.25, + "y_scale": 0.0 + }, + "vein_gap": 0.0, + "vein_ridged": 0.0, + "vein_toggle": 0.0 + }, + "ore_veins_enabled": false, + "sea_level": 32, + "spawn_target": [], + "surface_rule": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:vertical_gradient", + "false_at_and_above": { + "above_bottom": 5 + }, + "random_name": "minecraft:bedrock_floor", + "true_at_and_below": { + "above_bottom": 0 + } + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:bedrock" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:not", + "invert": { + "type": "minecraft:vertical_gradient", + "false_at_and_above": { + "below_top": 0 + }, + "random_name": "minecraft:bedrock_roof", + "true_at_and_below": { + "below_top": 5 + } + } + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:bedrock" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:not", + "invert": { + "type": "minecraft:y_above", + "add_stone_depth": false, + "anchor": { + "absolute": 35 + }, + "surface_depth_multiplier": 0 + } + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:nether_cracks", + "min_threshold": -1, + "max_threshold": 1 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:lava" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:nether_cracks", + "min_threshold": -2, + "max_threshold": 2 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:magma_block" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:blackstone" + } + } + ] + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/basalt_deltas" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "add_surface_depth": true, + "offset": 0, + "secondary_depth_range": 0, + "surface_type": "ceiling" + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/basalt" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "add_surface_depth": true, + "offset": 0, + "secondary_depth_range": 0, + "surface_type": "floor" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "max_threshold": 1.7976931348623157E308, + "min_threshold": -0.012, + "noise": "minecraft:patch" + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:y_above", + "add_stone_depth": true, + "anchor": { + "absolute": 30 + }, + "surface_depth_multiplier": 0 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:not", + "invert": { + "type": "minecraft:y_above", + "add_stone_depth": true, + "anchor": { + "absolute": 35 + }, + "surface_depth_multiplier": 0 + } + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:magma_block" + } + } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "max_threshold": 1.7976931348623157E308, + "min_threshold": 0.0, + "noise": "minecraft:nether_state_selector" + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:blackstone" + } + } + ] + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/decaying_caverns" + ] + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfg:rock/hardened_deepslate" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.25 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:mud/silty_loam" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:iceberg_pillar", + "min_threshold": 0.18, + "max_threshold": 0.25 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "beneath:soul_clay" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:iceberg_pillar", + "min_threshold": 0.5, + "max_threshold": 1 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:dirt/loam" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.3, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:mud/loam" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.6, + "max_threshold": 1 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:peat" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:dirt/silty_loam" + } + } + ] + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/lava_floes" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.25 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:lava" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.15, + "max_threshold": 0.30 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:magma_block" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.35 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/basalt" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.05, + "max_threshold": 0.40 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.15, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.25 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:magma_block" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.25, + "max_threshold": 0.30 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfg:rock/hardened_blackstone" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:blackstone" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:vertical_gradient", + "false_at_and_above": { + "absolute": 50 + }, + "random_name": "minecraft:blackstone_bottom_layer", + "true_at_and_below": { + "absolute": 30 + } + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfg:rock/hardened_blackstone" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:blackstone" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/gneiss_caves" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/gneiss" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/gneiss" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/gabbro_caves" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/gabbro" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/gabbro" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/diorite_caves" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/diorite" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/diorite" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/granite_caves" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/granite" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/granite" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:biome", + "biome_is": [ + "tfg:nether/schist_caves" + ] + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/hardened/schist" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/schist" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfg:rock/hardened_deepslate" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "minecraft:deepslate" + } + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/amethyst.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/amethyst.json new file mode 100644 index 000000000..40ea7cb8b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/amethyst.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/amethyst", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/barite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/barite.json new file mode 100644 index 000000000..907503d9e --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/barite.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/barite", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/calcite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/calcite.json new file mode 100644 index 000000000..e1c5232df --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/calcite.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/calcite", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/gypsum.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/gypsum.json new file mode 100644 index 000000000..a439380d0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/gypsum.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/gypsum", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/opal.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/opal.json new file mode 100644 index 000000000..6456d3349 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/opal.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/opal", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/pyrite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/pyrite.json new file mode 100644 index 000000000..cd9333b0e --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/pyrite.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/pyrite", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/geode/quartzite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/quartzite.json new file mode 100644 index 000000000..8ea56e647 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/geode/quartzite.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:earth/geode/quartzite", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": -48 + }, + "max_inclusive": { + "absolute": 32 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json b/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json new file mode 100644 index 000000000..5220dda23 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/nether_hint_vein", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/sulfur_patch.json b/kubejs/data/tfg/worldgen/placed_feature/earth/sulfur_patch.json new file mode 100644 index 000000000..2c0751987 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/sulfur_patch.json @@ -0,0 +1,24 @@ +{ + "feature": "tfg:earth/sulfur_patch", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -40 + }, + "min_inclusive": { + "absolute": -56 + } + } + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_amethyst.json new file mode 100644 index 000000000..5ff7dcef4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_amethyst.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_garnet_amethyst", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_opal.json new file mode 100644 index 000000000..f32debd24 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_garnet_opal.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_garnet_opal", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_gold.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_gold.json new file mode 100644 index 000000000..48564e60d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_gold.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_gold", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_hematite.json new file mode 100644 index 000000000..22d7e4855 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_hematite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_hematite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_limonite.json new file mode 100644 index 000000000..60eaa2a4b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_limonite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_limonite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_magnetite.json new file mode 100644 index 000000000..6c36e5182 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_magnetite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_magnetite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_molybdenum.json new file mode 100644 index 000000000..6f2fd1540 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_molybdenum.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_molybdenum", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_pitchblende.json new file mode 100644 index 000000000..cc6616c88 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_pitchblende.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_pitchblende", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sapphire.json new file mode 100644 index 000000000..7dcbe02ba --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sapphire.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_sapphire", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_scheelite.json new file mode 100644 index 000000000..cede1289a --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_scheelite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_scheelite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sheldonite.json new file mode 100644 index 000000000..e57739e25 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_sheldonite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_sheldonite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_topaz.json new file mode 100644 index 000000000..4d80cfc9f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/deep_topaz.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/deep_topaz", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_apatite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_apatite.json new file mode 100644 index 000000000..b8e65f709 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_apatite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_apatite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_basaltic_sands.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_basaltic_sands.json new file mode 100644 index 000000000..2d8b4220d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_basaltic_sands.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_basaltic_sands", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bauxite.json new file mode 100644 index 000000000..c2d333cc0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bauxite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_bauxite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_beryllium.json new file mode 100644 index 000000000..7a8b0ea25 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_beryllium.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_beryllium", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bismuthinite.json new file mode 100644 index 000000000..4ffb3edf3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_bismuthinite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_bismuthinite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_cassiterite.json new file mode 100644 index 000000000..a59657985 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_cassiterite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_cassiterite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_coal.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_coal.json new file mode 100644 index 000000000..9ee5910a5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_coal.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_coal", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_copper.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_copper.json new file mode 100644 index 000000000..37c77ab37 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_copper.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_copper", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnet_tin.json new file mode 100644 index 000000000..acbd9ff67 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnet_tin.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_garnet_tin", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnierite.json new file mode 100644 index 000000000..a04612ca3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_garnierite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_garnierite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_gold.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_gold.json new file mode 100644 index 000000000..1e2f931ec --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_gold.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_gold", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_graphite.json new file mode 100644 index 000000000..a67a04e85 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_graphite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_graphite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_hematite.json new file mode 100644 index 000000000..5edd72d98 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_hematite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_hematite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lapis.json new file mode 100644 index 000000000..2bedd346d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lapis.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_lapis", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_limonite.json new file mode 100644 index 000000000..6422a5d88 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_limonite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_limonite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lubricant.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lubricant.json new file mode 100644 index 000000000..1b1d8af95 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_lubricant.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_lubricant", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_magnetite.json new file mode 100644 index 000000000..8a7ebd400 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_magnetite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_magnetite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_manganese.json new file mode 100644 index 000000000..8bba563f5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_manganese.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_manganese", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_mica.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_mica.json new file mode 100644 index 000000000..9400df3f3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_mica.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_mica", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_monazite.json new file mode 100644 index 000000000..bcb01023b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_monazite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_monazite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_oilsands.json new file mode 100644 index 000000000..00dbc17f2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_oilsands.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_oilsands", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_olivine.json new file mode 100644 index 000000000..055aaeef9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_olivine.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_olivine", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_quartz.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_quartz.json new file mode 100644 index 000000000..2f2be7798 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_quartz.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_quartz", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_redstone.json new file mode 100644 index 000000000..0168efb94 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_redstone.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_redstone", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_salt.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_salt.json new file mode 100644 index 000000000..d04686c2f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_salt.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_salt", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_saltpeter.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_saltpeter.json new file mode 100644 index 000000000..9fb6ee42f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_saltpeter.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_saltpeter", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_silver.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_silver.json new file mode 100644 index 000000000..195151a65 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_silver.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_silver", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sphalerite.json new file mode 100644 index 000000000..decd97060 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sphalerite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_sphalerite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_spodumene.json new file mode 100644 index 000000000..b4be7f457 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_spodumene.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_spodumene", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sulfur.json new file mode 100644 index 000000000..ee124c86e --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_sulfur.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_sulfur", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tetrahedrite.json new file mode 100644 index 000000000..22624eb1b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tetrahedrite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/normal_tetrahedrite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_bismuthinite.json new file mode 100644 index 000000000..7cb426b35 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_bismuthinite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/surface_bismuthinite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_cassiterite.json new file mode 100644 index 000000000..922f7316c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_cassiterite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/surface_cassiterite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_copper.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_copper.json new file mode 100644 index 000000000..e5c94d190 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_copper.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/surface_copper", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_sphalerite.json new file mode 100644 index 000000000..12ff02217 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_sphalerite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/surface_sphalerite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_tetrahedrite.json new file mode 100644 index 000000000..24d14bab1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/surface_tetrahedrite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/vein/surface_tetrahedrite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/geode.json b/kubejs/data/tfg/worldgen/placed_feature/geode.json deleted file mode 100644 index 52509f5fa..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/geode.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "feature": "tfg:geode", - "placement": [ - { - "type": "minecraft:rarity_filter", - "chance": 500 - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:height_range", - "height": { - "type": "uniform", - "min_inclusive": { - "absolute": -48 - }, - "max_inclusive": { - "absolute": 32 - } - } - }, - { - "type": "tfc:biome" - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/glow_lichen.json b/kubejs/data/tfg/worldgen/placed_feature/glow_lichen.json new file mode 100644 index 000000000..f828536e9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/glow_lichen.json @@ -0,0 +1,35 @@ +{ + "feature": "tfg:glow_lichen", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 157, + "min_inclusive": 104 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 256 + }, + "min_inclusive": { + "above_bottom": 0 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:surface_relative_threshold_filter", + "heightmap": "OCEAN_FLOOR_WG", + "max_inclusive": -13 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/hardening.json b/kubejs/data/tfg/worldgen/placed_feature/nether/hardening.json new file mode 100644 index 000000000..9793f5eee --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/hardening.json @@ -0,0 +1,123 @@ +{ + "feature": { + "type": "minecraft:replace_single_block", + "config": { + "targets": [ + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:blackstone" + }, + "state": { + "Name": "tfg:rock/hardened_blackstone" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:deepslate" + }, + "state": { + "Name": "tfg:rock/hardened_deepslate" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:dripstone_block" + }, + "state": { + "Name": "tfg:rock/hardened_dripstone" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/gneiss" + }, + "state": { + "Name": "tfc:rock/hardened/gneiss" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/schist" + }, + "state": { + "Name": "tfc:rock/hardened/schist" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/diorite" + }, + "state": { + "Name": "tfc:rock/hardened/diorite" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/granite" + }, + "state": { + "Name": "tfc:rock/hardened/granite" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/gabbro" + }, + "state": { + "Name": "tfc:rock/hardened/gabbro" + } + }, + { + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/basalt" + }, + "state": { + "Name": "tfc:rock/hardened/basalt" + } + }, + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "tfc:can_landslide" + }, + "state": { + "Name": "tfg:rock/hardened_deepslate" + } + } + ] + } + }, + "placement": [ + { + "type": "minecraft:carving_mask", + "step": "air" + }, + { + "type": "minecraft:environment_scan", + "direction_of_search": "up", + "max_steps": 1, + "target_condition": { + "type": "minecraft:any_of", + "predicates": [ + { + "type": "minecraft:matching_block_tag", + "tag": "minecraft:base_stone_nether" + }, + { + "type": "minecraft:matching_block_tag", + "tag": "tfc:can_landslide" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/basalt_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/basalt_spikes.json new file mode 100644 index 000000000..28f9855a3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/basalt_spikes.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/spikes/basalt_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 64 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 80 + }, + "min_inclusive": { + "above_bottom": 28 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/blackstone_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/blackstone_spikes.json new file mode 100644 index 000000000..745bacb78 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/blackstone_spikes.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/spikes/blackstone_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 64 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "max_inclusive": { + "absolute": 80 + }, + "min_inclusive": { + "above_bottom": 28 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/calcite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/calcite.json new file mode 100644 index 000000000..65b91569e --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/calcite.json @@ -0,0 +1,27 @@ +{ + "feature": "tfc:calcite", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 42 + }, + "max_inclusive": { + "absolute": 128 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/deepslate_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/deepslate_spikes.json new file mode 100644 index 000000000..7f42302c7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/deepslate_spikes.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/spikes/deepslate_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 50 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/diorite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/diorite_spikes.json new file mode 100644 index 000000000..710352ec4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/diorite_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/diorite_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/dripstone_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/dripstone_spikes.json new file mode 100644 index 000000000..fd415f3a8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/dripstone_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/dripstone_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 10 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gabbro_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gabbro_spikes.json new file mode 100644 index 000000000..1d0f9cf01 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gabbro_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/gabbro_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gneiss_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gneiss_spikes.json new file mode 100644 index 000000000..16bf5b7f9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/gneiss_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/gneiss_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/granite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/granite_spikes.json new file mode 100644 index 000000000..ef15a1357 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/granite_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/granite_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/mega_calcite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/mega_calcite.json new file mode 100644 index 000000000..178b436d5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/mega_calcite.json @@ -0,0 +1,44 @@ +{ + "feature": "tfc:mega_calcite", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 20 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 42 + }, + "max_inclusive": { + "absolute": 128 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/schist_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/schist_spikes.json new file mode 100644 index 000000000..30c1f4e04 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/spikes/schist_spikes.json @@ -0,0 +1,48 @@ +{ + "feature": "tfg:nether/spikes/schist_spikes", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 5 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile.json new file mode 100644 index 000000000..8dcdf335d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:nether/surface/ash_pile", + "placement": [ + { + "type": "minecraft:count", + "count": 15 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile_small.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile_small.json new file mode 100644 index 000000000..468749e1f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/ash_pile_small.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/surface/ash_pile_small", + "placement": [ + { + "type": "minecraft:count", + "count": 40 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/beneath_mushrooms.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/beneath_mushrooms.json new file mode 100644 index 000000000..950ef09e1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/beneath_mushrooms.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:nether/surface/beneath_mushrooms", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/big_mushrooms.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/big_mushrooms.json new file mode 100644 index 000000000..e7d26f088 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/big_mushrooms.json @@ -0,0 +1,50 @@ +{ + "feature": "tfg:nether/surface/big_mushrooms", + "placement": [ + { + "type": "minecraft:count", + "count": 120 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 38 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "minecraft:deepslate", + "minecraft:blackstone", + "beneath:soul_clay", + "tfc:dirt/silty_loam", + "tfc:dirt/loam", + "tfc:mud/silty_loam", + "tfc:mud/loam", + "tfc:muddy_roots/silty_loam", + "tfc:peat", + "tfg:rock/hardened_deepslate" + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/bone_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/bone_patch.json new file mode 100644 index 000000000..bcf6b944c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/bone_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/bone_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 10 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charcoal_pile.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charcoal_pile.json new file mode 100644 index 000000000..5715b5b97 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charcoal_pile.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/surface/charcoal_pile", + "placement": [ + { + "type": "minecraft:count", + "count": 20 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charred_tree.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charred_tree.json new file mode 100644 index 000000000..c39674366 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/charred_tree.json @@ -0,0 +1,43 @@ +{ + "feature": "tfg:nether/surface/charred_tree", + "placement": [ + { + "type": "minecraft:count", + "count": 80 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 100 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "minecraft:deepslate", + "minecraft:blackstone", + "minecraft:magma_block" + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/cobwebs.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/cobwebs.json new file mode 100644 index 000000000..7c0a8a4db --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/cobwebs.json @@ -0,0 +1,71 @@ +{ + "feature": "tfg:nether/surface/cobwebs", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 34 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:any_of", + "predicates": [ + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "forge:stone" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, 1, 0 ], + "tag": "forge:stone" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ -1, 0, 0 ], + "tag": "forge:stone" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 1, 0, 0 ], + "tag": "forge:stone" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, 0, -1 ], + "tag": "forge:stone" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, 0, 1 ], + "tag": "forge:stone" + } + ] + } + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/dead_bush_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/dead_bush_patch.json new file mode 100644 index 000000000..b1d9dc3d7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/dead_bush_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/dead_bush_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 38 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/glow_mushroom.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/glow_mushroom.json new file mode 100644 index 000000000..cb91dd37b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/glow_mushroom.json @@ -0,0 +1,50 @@ +{ + "feature": "tfg:nether/surface/glow_mushroom", + "placement": [ + { + "type": "minecraft:count", + "count": 60 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 38 + } + } + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "minecraft:deepslate", + "minecraft:blackstone", + "beneath:soul_clay", + "tfc:dirt/silty_loam", + "tfc:dirt/loam", + "tfc:mud/silty_loam", + "tfc:mud/loam", + "tfc:muddy_roots/silty_loam", + "tfc:peat", + "tfg:rock/hardened_deepslate" + ] + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/green_algae_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/green_algae_patch.json new file mode 100644 index 000000000..8b4a3512c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/green_algae_patch.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:nether/surface/green_algae_patch", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 20 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/guano_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/guano_patch.json new file mode 100644 index 000000000..02bcf5269 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/guano_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/guano_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 10 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/humus_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/humus_patch.json new file mode 100644 index 000000000..e8fd8a930 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/humus_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/humus_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 10 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_basalt.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_basalt.json new file mode 100644 index 000000000..ebeb56368 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_basalt.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_basalt", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_deepslate.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_deepslate.json new file mode 100644 index 000000000..5ec7546f7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_deepslate.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_deepslate", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 33 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_diorite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_diorite.json new file mode 100644 index 000000000..b18ff6a77 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_diorite.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_diorite", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_dripstone.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_dripstone.json new file mode 100644 index 000000000..30937b869 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_dripstone.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_dripstone", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gabbro.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gabbro.json new file mode 100644 index 000000000..b637047a0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gabbro.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_gabbro", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gneiss.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gneiss.json new file mode 100644 index 000000000..ce70c9490 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_gneiss.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_gneiss", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_granite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_granite.json new file mode 100644 index 000000000..b9e874f0d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_granite.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_granite", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_schist.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_schist.json new file mode 100644 index 000000000..db6d43976 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/loose_schist.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/surface/loose_schist", + "placement": [ + { + "type": "minecraft:count", + "count": 256 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "minecraft:base_stone_nether" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mangrove_tree.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mangrove_tree.json new file mode 100644 index 000000000..0eb197813 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mangrove_tree.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/surface/mangrove_tree", + "placement": [ + { + "type": "minecraft:count", + "count": 120 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_big.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_big.json new file mode 100644 index 000000000..3bb4a3c26 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_big.json @@ -0,0 +1,33 @@ +{ + "feature": "tfg:nether/surface/moss_patch_big", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 200, + "min_inclusive": 150 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_small.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_small.json new file mode 100644 index 000000000..9cc034739 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/moss_patch_small.json @@ -0,0 +1,33 @@ +{ + "feature": "tfg:nether/surface/moss_patch_small", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 128, + "min_inclusive": 80 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mushroom_sprouts.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mushroom_sprouts.json new file mode 100644 index 000000000..a59396594 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/mushroom_sprouts.json @@ -0,0 +1,24 @@ +{ + "feature": "tfg:nether/surface/mushroom_sprouts", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 32 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/philodendron.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/philodendron.json new file mode 100644 index 000000000..082092488 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/philodendron.json @@ -0,0 +1,33 @@ +{ + "feature": "tfg:nether/surface/philodendron", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 157, + "min_inclusive": 100 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/pumice_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/pumice_patch.json new file mode 100644 index 000000000..d1aa2cd2d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/pumice_patch.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/surface/pumice_patch", + "placement": [ + + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 5 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "above_bottom": 50 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "tfc:near_fluid", + "fluids": [ + "minecraft:lava" + ], + "radius": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/rotten_flesh_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/rotten_flesh_patch.json new file mode 100644 index 000000000..8b7c5c024 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/rotten_flesh_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/rotten_flesh_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 15 + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/small_mushrooms.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/small_mushrooms.json new file mode 100644 index 000000000..936617be6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/small_mushrooms.json @@ -0,0 +1,27 @@ +{ + "feature": "tfg:nether/surface/small_mushrooms", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 2 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 36 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/surface/stick_patch.json b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/stick_patch.json new file mode 100644 index 000000000..0fd942fb2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/surface/stick_patch.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/surface/stick_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:count_on_every_layer", + "count": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/dripstone_pool.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/dripstone_pool.json new file mode 100644 index 000000000..653574038 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/dripstone_pool.json @@ -0,0 +1,45 @@ +{ + "feature": "tfg:nether/terrain/dripstone_pool", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "tfc:flat_enough", + "flatness": 0.7, + "radius": 4, + "max_depth": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/glowstone_ceiling.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/glowstone_ceiling.json new file mode 100644 index 000000000..f5b5ed4e9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/glowstone_ceiling.json @@ -0,0 +1,41 @@ +{ + "feature": "tfg:nether/terrain/glowstone_ceiling", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 32 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "up", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lava_lake.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lava_lake.json new file mode 100644 index 000000000..a4484e11f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lava_lake.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/terrain/lava_lake", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "below_top": 30 + }, + "min_inclusive": { + "above_bottom": 30 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/liana_ceiling.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/liana_ceiling.json new file mode 100644 index 000000000..da9e56664 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/liana_ceiling.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/terrain/liana_ceiling", + "placement": [ + { + "type": "minecraft:count", + "count": 40 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "up", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_ceiling.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_ceiling.json new file mode 100644 index 000000000..68a3033b6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_ceiling.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/terrain/lush_caves_ceiling", + "placement": [ + { + "type": "minecraft:count", + "count": 125 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "up", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_clay.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_clay.json new file mode 100644 index 000000000..e793c11ef --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_clay.json @@ -0,0 +1,45 @@ +{ + "feature": "tfg:nether/terrain/lush_caves_clay", + "placement": [ + { + "type": "minecraft:count", + "count": 20 + }, + { + "type": "tfc:flat_enough", + "flatness": 0.7, + "radius": 4, + "max_depth": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_vegetation.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_vegetation.json new file mode 100644 index 000000000..e652d11ff --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/lush_caves_vegetation.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/terrain/moss_patch_floor", + "placement": [ + { + "type": "minecraft:count", + "count": 96 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": 1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/magma_blob.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/magma_blob.json new file mode 100644 index 000000000..5063ce8aa --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/magma_blob.json @@ -0,0 +1,31 @@ +{ + "feature": "tfg:nether/terrain/magma_blob", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 2 + }, + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "uniform", + "min_inclusive": { + "absolute": 27 + }, + "max_inclusive": { + "absolute": 36 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mud_pool.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mud_pool.json new file mode 100644 index 000000000..f49456830 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mud_pool.json @@ -0,0 +1,45 @@ +{ + "feature": "tfg:nether/terrain/mud_pool", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "tfc:flat_enough", + "flatness": 0.7, + "radius": 4, + "max_depth": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/rarer_delta.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/rarer_delta.json new file mode 100644 index 000000000..476d9024c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/rarer_delta.json @@ -0,0 +1,12 @@ +{ + "feature": "beneath:delta", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 5 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spanish_moss_ceiling.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spanish_moss_ceiling.json new file mode 100644 index 000000000..88f4c60c2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spanish_moss_ceiling.json @@ -0,0 +1,44 @@ +{ + "feature": "tfg:nether/terrain/spanish_moss_ceiling", + "placement": [ + { + "type": "minecraft:count", + "count": 40 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 128 + }, + "min_inclusive": { + "above_bottom": 42 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "up", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_lava.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_lava.json new file mode 100644 index 000000000..fb6037dca --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_lava.json @@ -0,0 +1,28 @@ +{ + "feature": "tfg:nether/terrain/spring_lava", + "placement": [ + { + "type": "minecraft:count", + "count": 20 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:very_biased_to_bottom", + "inner": 8, + "max_inclusive": { + "below_top": 8 + }, + "min_inclusive": { + "above_bottom": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_water_lake.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_water_lake.json new file mode 100644 index 000000000..c610885bc --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/spring_water_lake.json @@ -0,0 +1,39 @@ +{ + "feature": "tfg:nether/terrain/spring_water_lake", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 118 + }, + "min_inclusive": { + "above_bottom": 48 + } + } + }, + { + "type": "minecraft:environment_scan", + "allowed_search_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction_of_search": "down", + "max_steps": 12, + "target_condition": { + "type": "minecraft:solid" + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_apatite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_apatite.json new file mode 100644 index 000000000..899d987ed --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_apatite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_apatite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_basaltic_sands.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_basaltic_sands.json new file mode 100644 index 000000000..18b92a573 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_basaltic_sands.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_basaltic_sands", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_bauxite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_bauxite.json new file mode 100644 index 000000000..47d88f038 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_bauxite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_bauxite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_beryllium.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_beryllium.json new file mode 100644 index 000000000..f58c65a0c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_beryllium.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_beryllium", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_cassiterite.json new file mode 100644 index 000000000..0a4119116 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_cassiterite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_cassiterite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_copper.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_copper.json new file mode 100644 index 000000000..09380ba37 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_copper.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_copper", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet.json new file mode 100644 index 000000000..609294394 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_garnet", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet_tin.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet_tin.json new file mode 100644 index 000000000..ac3ba3c64 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnet_tin.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_garnet_tin", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnierite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnierite.json new file mode 100644 index 000000000..9fc91dcc3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_garnierite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_garnierite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_gold.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_gold.json new file mode 100644 index 000000000..b052ad5e0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_gold.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_gold", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_graphite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_graphite.json new file mode 100644 index 000000000..9c2b2a924 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_graphite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_graphite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_hematite.json new file mode 100644 index 000000000..a06660772 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_hematite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_hematite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lapis.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lapis.json new file mode 100644 index 000000000..37d901091 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lapis.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_lapis", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_limonite.json new file mode 100644 index 000000000..ac7b2cd29 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_limonite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_limonite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lubricant.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lubricant.json new file mode 100644 index 000000000..119334584 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_lubricant.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_lubricant", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_magnetite.json new file mode 100644 index 000000000..663f4b161 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_magnetite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_magnetite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_manganese.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_manganese.json new file mode 100644 index 000000000..71b5efb9f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_manganese.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_manganese", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_mica.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_mica.json new file mode 100644 index 000000000..e8e4e9feb --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_mica.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_mica", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_molybdenum.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_molybdenum.json new file mode 100644 index 000000000..7a6a6d1f7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_molybdenum.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_molybdenum", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_monazite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_monazite.json new file mode 100644 index 000000000..4f9573c4a --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_monazite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_monazite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_naquadah.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_naquadah.json new file mode 100644 index 000000000..610aa5aed --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_naquadah.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_naquadah", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_olivine.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_olivine.json new file mode 100644 index 000000000..0ed55715b --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_olivine.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_olivine", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_pitchblende.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_pitchblende.json new file mode 100644 index 000000000..3b1c07957 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_pitchblende.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_pitchblende", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_quartz.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_quartz.json new file mode 100644 index 000000000..2cb583767 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_quartz.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_quartz", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_redstone.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_redstone.json new file mode 100644 index 000000000..aa92ecf30 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_redstone.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_redstone", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_saltpeter.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_saltpeter.json new file mode 100644 index 000000000..c93a8af58 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_saltpeter.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_saltpeter", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sapphire.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sapphire.json new file mode 100644 index 000000000..18968531f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sapphire.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_sapphire", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_scheelite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_scheelite.json new file mode 100644 index 000000000..4c372e569 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_scheelite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_scheelite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sheldonite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sheldonite.json new file mode 100644 index 000000000..d5181bc0c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sheldonite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_sheldonite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_silver.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_silver.json new file mode 100644 index 000000000..fa2125e40 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_silver.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_silver", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sphalerite.json new file mode 100644 index 000000000..7e4ae0cec --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sphalerite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_sphalerite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sulfur.json new file mode 100644 index 000000000..c55a721f8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sulfur.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_sulfur", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_tetrahedrite.json new file mode 100644 index 000000000..6148daf3c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_tetrahedrite.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_tetrahedrite", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_topaz.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_topaz.json new file mode 100644 index 000000000..7e0b0cbb3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_topaz.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:nether/vein/nether_topaz", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json deleted file mode 100644 index c02d5ee26..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_garnet_amethyst", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json deleted file mode 100644 index 8a8c11b19..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_garnet_opal", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json deleted file mode 100644 index ad8628417..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_gold", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json deleted file mode 100644 index 4e0bc3c5d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_hematite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json deleted file mode 100644 index eb0787194..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_limonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json deleted file mode 100644 index 059d4eb3e..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_magnetite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json deleted file mode 100644 index 219050b09..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_molybdenum", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json deleted file mode 100644 index 73a4d8286..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_naquadah", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json deleted file mode 100644 index 6061b5c16..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_pitchblende", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json deleted file mode 100644 index 0656d35de..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_sapphire", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json deleted file mode 100644 index e0761adf2..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_scheelite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json deleted file mode 100644 index 5b9579454..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_sheldonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json deleted file mode 100644 index 7acf4ba31..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_topaz", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json deleted file mode 100644 index d339ed83d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_apatite_", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json deleted file mode 100644 index d55f518af..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_basaltic_sands", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json deleted file mode 100644 index 0a01bc196..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_bauxite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json deleted file mode 100644 index 5633b61d1..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_beryllium", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json deleted file mode 100644 index 80dec1656..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_bismuthinite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json deleted file mode 100644 index 5b0c4ffcc..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_cassiterite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json deleted file mode 100644 index ebabf62ec..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_certus_quartz", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json deleted file mode 100644 index 0bc6c5871..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_coal", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json deleted file mode 100644 index 20a4672c8..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_copper", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json deleted file mode 100644 index 8d889d1b5..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_garnet_tin", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json deleted file mode 100644 index 7f2534783..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_garnierite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json deleted file mode 100644 index ff5387782..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_gold", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json deleted file mode 100644 index a6657e977..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_graphite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json deleted file mode 100644 index be52c8e41..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_hematite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json deleted file mode 100644 index 6cfcdbfc5..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_lapis", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json deleted file mode 100644 index 6e2756f32..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_limonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json deleted file mode 100644 index bd51d9106..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_lubricant", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json deleted file mode 100644 index 764c60b7f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_magnetite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json deleted file mode 100644 index fae98805f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_manganese", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json deleted file mode 100644 index 486e01642..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_mica", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json deleted file mode 100644 index b7f6b01da..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_monazite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json deleted file mode 100644 index b93414bf7..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_oilsands", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json deleted file mode 100644 index 6f678c239..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_olivine", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json deleted file mode 100644 index 1a645d38d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_redstone", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json deleted file mode 100644 index b32fc0d9f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_salt", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json deleted file mode 100644 index 8172e6805..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_saltpeter", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json deleted file mode 100644 index 98fdc53ee..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_silver", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json deleted file mode 100644 index 98924d07c..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_sphalerite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json deleted file mode 100644 index 090e0f59b..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_spodumene", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json deleted file mode 100644 index 72f1a8578..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_sulfur", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json deleted file mode 100644 index 9e38b867a..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_tetrahedrite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json deleted file mode 100644 index 266cacc66..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_bismuthinite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json deleted file mode 100644 index 51c94cf36..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_cassiterite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json deleted file mode 100644 index 9d6b80668..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_copper", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json deleted file mode 100644 index 858ba7d93..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_sphalerite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json deleted file mode 100644 index a1c625134..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_tetrahedrite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/aqueduct/aqueduct.json b/kubejs/data/tfg/worldgen/structure/aqueduct/aqueduct.json new file mode 100644 index 000000000..93535f61c --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/aqueduct/aqueduct.json @@ -0,0 +1,16 @@ + +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:aqueduct/aqueduct_pool", + "size": 7, + "max_distance_from_center": 100, + "biomes": "#tfg:has_structure/aqueduct", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": 0 + }, + "project_start_to_heightmap": "WORLD_SURFACE_WG", + "use_expansion_hack": false, + "spawn_overrides": {} +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/ocean/ocean_moai_0.json b/kubejs/data/tfg/worldgen/structure/ocean/ocean_moai_0.json new file mode 100644 index 000000000..2f28e510d --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/ocean/ocean_moai_0.json @@ -0,0 +1,16 @@ + +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:ocean/ocean_moai_0_pool", + "size": 7, + "max_distance_from_center": 32, + "biomes": "#tfg:has_structure/ocean_moai_0", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": 0 + }, + "project_start_to_heightmap": "WORLD_SURFACE_WG", + "use_expansion_hack": false, + "spawn_overrides": {} +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/temperate/plains_temperate_house_0.json b/kubejs/data/tfg/worldgen/structure/temperate/plains_temperate_house_0.json new file mode 100644 index 000000000..87f274d93 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/temperate/plains_temperate_house_0.json @@ -0,0 +1,16 @@ + +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:temperate/plains_temperate_house_0_pool", + "size": 7, + "max_distance_from_center": 32, + "biomes": "#tfg:has_structure/plains_temperate_0", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": 0 + }, + "project_start_to_heightmap": "WORLD_SURFACE_WG", + "use_expansion_hack": false, + "spawn_overrides": {} +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/aqueduct/aqueduct.json b/kubejs/data/tfg/worldgen/structure_set/aqueduct/aqueduct.json new file mode 100644 index 000000000..92337c58c --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/aqueduct/aqueduct.json @@ -0,0 +1,14 @@ +{ + "structures": [ + { + "structure": "tfg:aqueduct/aqueduct", + "weight": 1 + } + ], + "placement": { + "salt": 264226226, + "spacing": 128, + "separation": 120, + "type": "minecraft:random_spread" + } + } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/ocean/ocean_moai.json b/kubejs/data/tfg/worldgen/structure_set/ocean/ocean_moai.json new file mode 100644 index 000000000..1bdad3c03 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/ocean/ocean_moai.json @@ -0,0 +1,14 @@ +{ + "structures": [ + { + "structure": "tfg:ocean/ocean_moai_0", + "weight": 1 + } + ], + "placement": { + "salt": 264167444, + "spacing": 3, + "separation": 1, + "type": "minecraft:random_spread" + } + } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/temperate/plains_temperate_house.json b/kubejs/data/tfg/worldgen/structure_set/temperate/plains_temperate_house.json new file mode 100644 index 000000000..e9ae1fed3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/temperate/plains_temperate_house.json @@ -0,0 +1,14 @@ +{ + "structures": [ + { + "structure": "tfg:temperate/plains_temperate_house_0", + "weight": 1 + } + ], + "placement": { + "salt": 264167119, + "spacing": 120, + "separation": 100, + "type": "minecraft:random_spread" + } + } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_connector_pool.json b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_connector_pool.json new file mode 100644 index 000000000..e19a35e64 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_connector_pool.json @@ -0,0 +1,60 @@ +{ + "name": "tfg:aqueduct/aqueduct_connector_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 20, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_1_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_2_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 10, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_0_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_1_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_connector_2_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_leg_pool.json b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_leg_pool.json new file mode 100644 index 000000000..1db64277b --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_leg_pool.json @@ -0,0 +1,42 @@ +{ + "name": "tfg:aqueduct/aqueduct_leg_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 5, + "element": { + "location": "tfg:aqueduct/aqueduct_leg_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_leg_0_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_leg_0_2", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 3, + "element": { + "location": "tfg:aqueduct/aqueduct_leg_0_3", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_pool.json b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_pool.json new file mode 100644 index 000000000..f5d5de43d --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_pool.json @@ -0,0 +1,24 @@ +{ + "name": "tfg:aqueduct/aqueduct_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_0_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_tank_pool.json b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_tank_pool.json new file mode 100644 index 000000000..bad78a467 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/aqueduct/aqueduct_tank_pool.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:aqueduct/aqueduct_tank_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 1, + "element": { + "location": "tfg:aqueduct/aqueduct_tank_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/ocean/ocean_moai_0_pool.json b/kubejs/data/tfg/worldgen/template_pool/ocean/ocean_moai_0_pool.json new file mode 100644 index 000000000..59a313ca6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/ocean/ocean_moai_0_pool.json @@ -0,0 +1,60 @@ +{ + "name": "tfg:ocean/ocean_moai_0_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 2, + "element": { + "location": "tfg:ocean/ocean_moai_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 2, + "element": { + "location": "tfg:ocean/ocean_moai_0_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 2, + "element": { + "location": "tfg:ocean/ocean_moai_0_2", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:ocean/ocean_moai_0_3", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:ocean/ocean_moai_0_4", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:ocean/ocean_moai_0_5", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_house_0_pool.json b/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_house_0_pool.json new file mode 100644 index 000000000..493c60cd8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_house_0_pool.json @@ -0,0 +1,33 @@ +{ + "name": "tfg:temperate/plains_temperate_house_0_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 1, + "element": { + "location": "tfg:temperate/plains_temperate_house_0_0", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:temperate/plains_temperate_house_0_1", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:temperate/plains_temperate_house_0_2", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_road_0_pool.json b/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_road_0_pool.json new file mode 100644 index 000000000..d4ad720d2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/temperate/plains_temperate_road_0_pool.json @@ -0,0 +1,24 @@ +{ + "name": "tfg:temperate/plains_temperate_road_0_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 1, + "element": { + "location": "tfg:temperate/plains_temperate_road_0_0", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "tfg:temperate/plains_temperate_road_0_1", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + } + ] + } \ No newline at end of file diff --git a/kubejs/data/tfg_excludes.zip b/kubejs/data/tfg_excludes.zip new file mode 100644 index 0000000000000000000000000000000000000000..b69bcf1e671de716cd4dd19bc1917a3b66930171 GIT binary patch literal 32767 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

{FJzrnpnXOM}8aRR=!4 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 W{lMdVA(?@Jfx*+&&t;ucLK6TjscH5A literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/decaying_caverns.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/decaying_caverns.png new file mode 100644 index 0000000000000000000000000000000000000000..86184f4b4fd1ccf136e7913052db8cd9d19413ff GIT binary patch literal 70725 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/nether/deep_caves.png b/kubejs/assets/tfg/textures/gui/field_guide/nether/deep_caves.png new file mode 100644 index 0000000000000000000000000000000000000000..3d0f2a057e75f8972e1ced24de2a4cab9b0f7878 GIT binary patch literal 76468 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